forked from iterorganization/IMAS-Core
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
116 lines (100 loc) · 3.62 KB
/
pyproject.toml
File metadata and controls
116 lines (100 loc) · 3.62 KB
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
[project]
name = "imas-core"
authors = [{ name = "ITER Organization", email = "imas-support@iter.org" }]
description = "Python bindings to the IMAS Access Layer core"
readme = "README.md"
requires-python = ">=3.6, <4"
license = { text = "LGPL-3.0" }
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3",
"Topic :: Scientific/Engineering :: Physics",
]
dynamic = ["version"]
dependencies = ["numpy"]
[project.optional-dependencies]
test = ["pytest>=8"]
cov = ["pytest-cov", "coverage2clover"]
[project.urls]
Homepage = "https://imas.iter.org"
Repository = "https://github.com/iterorganization/IMAS-Core"
[build-system]
requires = [
"scikit-build-core>=0.9.3",
"cython>=3.0.3",
"cython-cmake>=0.2.0",
"numpy",
"setuptools>=64",
"setuptools_scm>=8",
]
build-backend = "scikit_build_core.build"
[tool.cibuildwheel]
# build-verbosity = 1
# CIBW_CONFIG_SETTINGS = "cmake.args='--debug-output'"
# Default build configuration (can be overridden by CIBW_BUILD env var in workflows)
# The GitHub Actions workflow builds for Python 3.9, 3.10, 3.11, 3.12, and 3.13 via matrix strategy
build = "cp39-* cp310-* cp311-* cp312-* cp313-*"
# Skip 32-bit builds
skip = ["*-win32", "*-manylinux_i686"]
[tool.cibuildwheel.environment]
CMAKE_POLICY_VERSION_MINIMUM = "3.5"
[tool.cibuildwheel.windows.environment]
VCPKG_ROOT = "C:/vcpkg"
VCPKG_TARGET_TRIPLET = "x64-windows"
CMAKE_TOOLCHAIN_FILE = "C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
CMAKE_PREFIX_PATH = "C:/vcpkg/installed/x64-windows;C:/vcpkg/installed/x64-windows/share;"
PKG_CONFIG_PATH = "C:/vcpkg/installed/x64-windows/lib/pkgconfig"
VCPKG_KEEP_ENV_VARS = "VCPKG_ROOT;CMAKE_PREFIX_PATH;CMAKE_TOOLCHAIN_FILE;CMAKE_POLICY_VERSION_MINIMUM;"
[tool.cibuildwheel.windows]
# installs dependencies for building wheels on windows platform...
before-build = "bash ./ci/wheels/cibw_before_build_win.sh"
repair-wheel-command = "bash ./ci/wheels/repair_windows.sh {wheel} {dest_dir}"
[tool.cibuildwheel.macos.environment]
CMAKE_PREFIX_PATH = "/opt/homebrew;/usr/local"
PKG_CONFIG_PATH = "/opt/homebrew/lib/pkgconfig:/usr/local/lib/pkgconfig"
MACOSX_DEPLOYMENT_TARGET = "14.0"
[tool.cibuildwheel.macos]
archs = ["arm64"]
repair-wheel-command = "delocate-wheel -w {dest_dir} {wheel}"
[tool.scikit-build.cmake.define]
BUILD_SHARED_LIBS = "ON"
DOCS_ONLY = { env = "DOCS_ONLY", default = "OFF" }
AL_BACKEND_HDF5 = { env = "AL_BACKEND_HDF5", default = "ON" }
AL_BACKEND_UDA = { env = "AL_BACKEND_UDA", default = "ON" }
AL_BACKEND_MDSPLUS = { env = "AL_BACKEND_MDSPLUS", default = "OFF" }
AL_BUILD_MDSPLUS_MODELS = { env = "AL_BUILD_MDSPLUS_MODELS", default = "OFF" }
AL_PYTHON_BINDINGS = "ON"
DOWNLOAD_DEPENDENCIES = { env = "DOWNLOAD_DEPENDENCIES", default = "ON" }
DD_GIT_REPOSITORY = { env = "DD_GIT_REPOSITORY", default = "EMPTY" }
DD_VERSION = { env = "DD_VERSION", default = "EMPTY" }
Boost_NO_BOOST_CMAKE = "ON"
[tool.scikit-build]
minimum-version = "0.8"
# cmake.version = ">=3.21"
# cmake.build-type = "Release"
logging.level = "DEBUG"
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
sdist.include = ["python/imas_core/_version.py"]
wheel.packages = ["python/imas_core"]
wheel.license-files = []
wheel.exclude = [
"lib/",
"bin/",
"include/",
"**.pyx",
"**.pxd",
"libal.so",
"libal.so.*.*.*",
"libmpi*.so.*.*.*",
"libhdf5.so.*.*.*",
]
[tool.setuptools_scm]
write_to = "python/imas_core/_version.py"
local_scheme = "no-local-version"
[tool.pytest.ini_options]
testpaths = ["python/tests"]
[tool.coverage.run]
branch = true
omit = ["_version.py"]