-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpyproject.toml
More file actions
79 lines (67 loc) · 2.46 KB
/
Copy pathpyproject.toml
File metadata and controls
79 lines (67 loc) · 2.46 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
[build-system]
# pybind11 ≥ 2.13 is required for ``py::mod_gil_not_used()`` (PEP 703
# free-threaded CPython compatibility declaration)
requires = ["scikit-build-core>=0.10", "pybind11>=2.13"]
build-backend = "scikit_build_core.build"
[project]
name = "boostree"
description = "Drop-in subset of rtree.index backed by Boost.Geometry — ~6× faster on the operations CFD codes need"
readme = "README.md"
requires-python = ">=3.10"
authors = [{ name = "PyFR developers" }]
license = "BSL-1.0"
license-files = ["LICENSE"]
keywords = ["rtree", "spatial-index", "boost", "geometry"]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Science/Research",
"Programming Language :: C++",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering",
]
dependencies = ["numpy>=1.20"]
dynamic = ["version"]
[project.optional-dependencies]
test = ["pytest", "rtree>=1.0"]
[project.urls]
Homepage = "https://github.com/PyFR/boostree"
Issues = "https://github.com/PyFR/boostree/issues"
Source = "https://github.com/PyFR/boostree"
[tool.scikit-build]
minimum-version = "0.10"
cmake.version = ">=3.18"
cmake.build-type = "Release"
# Includes py.typed (PEP 561) and _core.pyi (stub for the C++ module)
wheel.packages = ["boostree"]
sdist.include = ["third_party/boost/**"]
[tool.scikit-build.metadata.version]
provider = "scikit_build_core.metadata.regex"
input = "boostree/__init__.py"
regex = '''__version__\s*=\s*['"](?P<value>[^'"]+)['"]'''
[tool.cibuildwheel]
build = "cp310-* cp311-* cp312-* cp313-*"
skip = ["*-musllinux_*", "*-win32", "*-manylinux_i686"]
test-requires = ["pytest", "rtree>=1.0"]
test-command = "pytest --import-mode=importlib {project}/tests"
build-verbosity = 1
[tool.cibuildwheel.linux]
manylinux-x86_64-image = "manylinux_2_28"
manylinux-aarch64-image = "manylinux_2_28"
archs = ["x86_64", "aarch64"]
[tool.cibuildwheel.macos]
archs = ["x86_64", "arm64"]
# Apple clang ships without OpenMP; build serial and avoid libomp
# vendoring (the rtree package we replace is also serial)
environment = { MACOSX_DEPLOYMENT_TARGET = "10.14" }
[[tool.cibuildwheel.overrides]]
select = "*-macosx_arm64"
environment = { MACOSX_DEPLOYMENT_TARGET = "11.0" }
[tool.cibuildwheel.windows]
archs = ["AMD64"]
[tool.black]
line-length = 88
target-version = ["py310", "py311", "py312", "py313"]