Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
116 lines (101 loc) · 4.03 KB
/
Copy pathpyproject.toml
File metadata and controls
116 lines (101 loc) · 4.03 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
[build-system]
requires = [
"scikit-build-core==1.0.3",
"pybind11-stubgen==2.5.5",
"numpy==2.0.2; python_version < '3.10' and platform_machine != 'ARM64'",
"numpy==2.2.6; python_version == '3.10' and platform_machine != 'ARM64'",
"numpy==2.4.6; python_version == '3.11'",
"numpy==2.5.3; python_version >= '3.12'",
]
build-backend = "scikit_build_core.build"
[project]
name = "rexlib"
dynamic = ["version"]
authors = [
{ name = "Oier Lauzirika Zarrabeitia", email = "oierlauzi@bizkaia.eu" },
{ name = "Martin Salinas", email = "ssalinasmartin@gmail.com" }
]
description = "Python binding for the rexlib framework"
classifiers = [
"Topic :: Scientific/Engineering :: Image Processing",
"Intended Audience :: Science/Research",
"Intended Audience :: Developers",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Typing :: Typed",
]
readme = {file = "README.md", content-type = "text/markdown"}
license = "GPL-3.0-only"
requires-python = ">=3.9"
dependencies = []
[project.optional-dependencies]
test = [
"numpy==2.0.2; python_version < '3.10' and platform_machine != 'ARM64'",
"numpy==2.2.6; python_version == '3.10' and platform_machine != 'ARM64'",
"numpy==2.4.6; python_version == '3.11'",
"numpy==2.5.3; python_version >= '3.12'",
"pytest==8.4.2; python_version < '3.10'",
"pytest==9.1.1; python_version >= '3.10'",
"pytest-cov==7.1.0",
"ruff==0.16.8",
]
[project.urls]
Homepage = "https://github.com/gigabit-clowns/rexlib-python"
Issues = "https://github.com/gigabit-clowns/rexlib-python/issues"
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.scikit-build]
# git ls-files does not report a submodule's contents, so the rexlib source
# has to be named explicitly or the sdist would carry an empty directory and
# fail to build.
sdist.include = ["external/rexlib/**"]
sdist.exclude = [
".github/**",
".vscode/**",
"renovate.json",
"sonar-project.properties",
]
# The wheel's install prefix is the package directory, so anything installed
# relative to it - a rexlib built from this source distribution - lands beside
# the extension under the ordinary lib/ and include/.
wheel.install-dir = "rexlib"
# Everything except rexlib's namelink, the unversioned librexlib.so. A wheel
# cannot hold a symlink, so it would be stored as a second full copy of a
# 50 MB library. "Unspecified" is this project's own rules, which name no
# component; the other two are absent unless rexlib is built from source here.
#
# In this order: they are installed one at a time, and generating the type
# stubs imports the extension, which does not load until rexlib is in place.
install.components = ["rexlib_runtime", "rexlib_development", "Unspecified"]
# The versioned names, beside which rexlib installs a soname.
wheel.exclude = [
"librexlib.so.*.*.*",
"librexlib.*.*.*.dylib",
]
cmake.version = ">=3.18"
cmake.args = []
build.verbose = false
cmake.build-type = "Release"
[tool.scikit-build.cmake.define]
BUILD_TESTING = "OFF"
REXLIB_PYTHON_BUILD_TESTING = "OFF"
[tool.scikit-build.metadata.version]
provider = "scikit_build_core.metadata.regex"
input = "VERSION"
regex = "(?P<value>\\d+\\.\\d+\\.\\d+)"
[tool.cibuildwheel]
# Run from a temporary directory, so this imports the installed wheel rather
# than the source tree beside it. It is the one check that the library the
# wheel carries is found at run time, which no amount of building proves.
test-command = "python -c \"import rexlib; print(rexlib.__version__, rexlib.rexlib_version)\""
# The full suite is not run here; build-and-test already does that per
# platform, and this has to stay cheap enough for every wheel.
#test-extras = ["test"]