-
Notifications
You must be signed in to change notification settings - Fork 15
/
pyproject.toml
79 lines (68 loc) · 2.54 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
[project]
name = "NMODL"
authors = [
{name = "Blue Brain Project", email = "[email protected]"},
]
description = "NEURON Modeling Language Source-to-Source Compiler Framework"
license = {file = "LICENSE"}
readme = {file = "README.rst", content-type = "text/x-rst"}
dynamic = ["version"]
dependencies = [
"find_libpython",
"sympy>=1.3",
"importlib-metadata;python_version<'3.9'",
"importlib-resources;python_version<'3.9'",
]
scripts = {nmodl = "nmodl._binwrapper:main"}
requires-python = ">=3.9"
optional-dependencies.test = ["pytest>=3.3.0", "pytest-cov", "numpy", "scipy"]
optional-dependencies.docs = [
"jupyter-client",
"jupyter",
"myst_parser<2.0.0",
"mistune<3",
"nbconvert",
"nbsphinx>=0.3.2",
"sphinxcontrib-applehelp<1.0.3", # After this version it needs a toml file to work, no more setup.py
"sphinxcontrib-htmlhelp<=2.0.0", # After this version it needs a toml file to work, no more setup.py
"sphinx<6",
"sphinx-rtd-theme", # needs sphinx < 7
"docutils<0.20", # needed by sphinx
]
[build-system]
requires = [
"scikit-build-core",
"setuptools-scm>=8.0",
"Jinja2>=2.9.3",
"PyYAML>=3.13",
]
build-backend = "scikit_build_core.build"
[tool.scikit-build]
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
wheel.packages = ["python/nmodl"]
logging.level = "DEBUG"
[tool.scikit-build.cmake]
verbose = true
version = ">=3.15.0"
[tool.scikit-build.cmake.define]
NMODL_BUILD_WHEEL = "ON"
[tool.setuptools_scm]
[tool.pytest.ini_options]
testpaths = "test/unit/pybind"
[tool.cibuildwheel]
skip = ["pp*", "*-win32", "*-manylinux_i686", "*-musllinux_i686", "*-musllinux_x86_64", "*-musllinux_aarch64"]
test-extras = ["test"]
test-command = [
"bash {package}/packaging/test_wheel.bash python3 {wheel} false",
]
manylinux-x86_64-image = "docker.io/bluebrain/nmodl:wheel"
[tool.cibuildwheel.macos]
environment = { PATH = "/opt/homebrew/opt/flex/bin:/opt/homebrew/opt/bison/bin:/usr/local/opt/flex/bin:/usr/local/opt/bison/bin:$PATH", MACOSX_DEPLOYMENT_TARGET = "10.15" }
config-settings = {build-dir = "_build"}
[tool.cibuildwheel.linux]
environment = { PATH = "/nmodlwheel/flex/bin:/nmodlwheel/bison/bin:$PATH" }
# the Linux wheel is not tested in cibuildwheel due to manylinux images not having
# libpython*.so, so this is tested manually in the CI
test-command = "true"
[tool.cibuildwheel.windows]
environment = { SKBUILD_CMAKE_ARGS = "-DNMODL_BUILD_WHEEL=ON;-DFLEX_INCLUDE_PATH=C:/ProgramData/chocolatey/lib/winflexbison3/tools" }