The wheel is cp312-abi3, so it loads on 3.13 unchanged — the pin that has to move is the interpreter the parity venv is built with, since its whole point is resembling what the image ships.
48 lines
2.0 KiB
TOML
48 lines
2.0 KiB
TOML
[build-system]
|
|
requires = ["scikit-build-core>=0.11", "nanobind>=2.7"]
|
|
build-backend = "scikit_build_core.build"
|
|
|
|
[project]
|
|
name = "n3xd-ocp"
|
|
# <occt-version>.N, so the kernel a wheel wraps is readable from its version
|
|
# alone and occt_version() keeps reporting the truth. Iteration builds carry a
|
|
# .devN suffix: the registry never allows republishing a version, and its
|
|
# cleanup rule collects only the dev ones. CMake asserts the prefix matches
|
|
# the OCCT it found.
|
|
version = "7.9.3.1"
|
|
description = "nanobind bindings for the OpenCASCADE geometry kernel (drop-in OCP)"
|
|
readme = "README.md"
|
|
requires-python = ">=3.12"
|
|
license = { text = "LGPL-2.1-only" }
|
|
authors = [{ name = "N3XD" }]
|
|
classifiers = [
|
|
"Private :: Do Not Upload",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Programming Language :: C++",
|
|
]
|
|
|
|
[project.urls]
|
|
Repository = "https://git.stroblme.de/N3XD/ocp"
|
|
|
|
[tool.scikit-build]
|
|
minimum-version = "0.11"
|
|
build-dir = "build/{wheel_tag}"
|
|
wheel.packages = ["python/OCP", "python/n3xd_ocp"]
|
|
# Stubs are generated during the build and gitignored, and file selection is
|
|
# git-based by default — so they must be re-included by hand or the wheel ships
|
|
# without the typing surface that retires the backend's ty suppression.
|
|
sdist.include = ["python/OCP/*.pyi", "python/n3xd_ocp/*.pyi"]
|
|
# abi3 from day one, matching the forge/assay convention: one wheel spans 3.12
|
|
# and 3.13, so the interpreter bump (roadmap 10D) needs no rebuild here.
|
|
wheel.py-api = "cp312"
|
|
# No sdist is ever published — it could not build without the OCCT builder
|
|
# image, and offering one would invite the production host (4 cores) to try.
|
|
# That is enforced by only ever building wheels (scripts/build_wheel.sh) rather
|
|
# than by an exclude rule here: scikit-build-core feeds sdist.exclude into the
|
|
# wheel's package-file mapping too, so excluding "*" silently ships a wheel
|
|
# with the compiled extension and none of the Python package.
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|