forked from claudioperez/OpenSeesRT
-
Notifications
You must be signed in to change notification settings - Fork 3
/
pyproject.toml
129 lines (100 loc) · 3.38 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
[project]
name = "opensees"
version = "0.1.10"
authors = [
{name="Claudio M. Perez"}
# <[email protected]>"
]
license = {file = "LICENSE.txt"}
readme = "about/README.pypi.md"
description = "Nonlinear finite element analysis."
classifiers = [
'Development Status :: 5 - Production/Stable',
'Intended Audience :: Science/Research',
'Intended Audience :: Developers',
# 'License :: OSI Approved :: BSD License',
'Programming Language :: C',
'Programming Language :: C++',
'Programming Language :: Fortran',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3 :: Only',
'Topic :: Software Development',
'Topic :: Scientific/Engineering',
'Operating System :: Microsoft :: Windows',
'Operating System :: POSIX',
'Operating System :: Unix',
'Operating System :: MacOS',
]
keywords = [
"seismic",
"computational-mechanics",
"structural-analysis",
"finite-element-analysis",
"earthquake",
"engineering",
]
dependencies = [
"shps", # Shape functions and quadrature
"numpy < 1.20.0; python_version<'3.8'",
"numpy ; python_version>='3.8'",
# Full-featured REPL
"pyparsing",
"prompt_toolkit",
"pygments",
"platformdirs"
]
[project.optional-dependencies]
testing = [
"pytest >= 4.6",
"pytest-checkdocs >= 2.4",
"pytest-flake8",
"nbmake"
]
# py = ["openseespy"]
[project.urls]
Repository = "https://github.com/claudioperez/OpenSeesRT"
Examples = "https://stairlab.github.io/opensees-gallery"
[build-system]
requires = [
"amoeba-build >= 0.0.12",
"pybind11",
"setuptools >= 52.0.2",
]
build-backend = "setuptools.build_meta"
[project.scripts]
my-client = "opensees.__main__:main_cli"
[tool.setuptools.packages.find]
where = ["SRC"]
include=["opensees*"]
exclude = ["SRC*", "site*"]
[tool.setuptools.package-data]
opensees = ["*.py", "*.so", "*.dll", "*.dylib"]
[tool.setuptools.exclude-package-data]
opensees = ["site*", "docs*", "tools", "*.html", ".git*", "*.[htc]pp", "*.[ch]", "*.cmake", "*.tex", "*.txt"]
[tool.cibuildwheel]
# environment = {OPENSEESRT_LIB=""}
# test-command = 'python -m opensees -c "puts test-interpreter"'
manylinux-x86_64-image="manylinux2014"
manylinux-aarch64-image="manylinux2014"
skip=["pp*", "*i686*", "UNKNOWN*", "cp3[67]-*"]
[tool.cibuildwheel.windows]
skip = ["pp*", "*-win32", "*UNKNOWN", "cp3[678]-*", "cp31[4]-*"]
[tool.cibuildwheel.macos]
skip = ["pp*", "*i686*", "UNKNOWN*", "*musllinux*", "cp3[6789]-*"]
[tool.cibuildwheel.linux]
skip = ["pp*", "*i686*", "UNKNOWN*", "*musllinux*", "cp3[678]-*"]
before-all = "yum install -y epel-release"
before-build = "yum install -y tcl-devel mysql-devel openblas-devel" # lapack-devel
repair-wheel-command = "auditwheel repair --exclude libOpenSeesRT.so -w {dest_dir} {wheel}"
[tool.cibuildwheel.linux.environment]
# RUNNER_OS is a GitHub Actions specific env var; define it here so it works on Cirrus CI too
RUNNER_OS="Linux"
# /project will be the $PWD equivalent inside the docker used to build the wheel
PKG_CONFIG_PATH="/project/.openblas"
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/project/.openblas/lib"