Build-time C++ binding-substrate headers for the SciForge ecosystem (never a runtime dependency).
Project description
sciforge-build
Build-time distribution of the SciForge C++ binding substrate headers
(<sciforge/binding/...>). It is never a runtime dependency — list it in your
build-system.requires and add sciforge_build.get_include() to your extension's
include_dirs at wheel-build time. Pure-Python (py3-none-any); CalVer, aligned with
the SciForge tag.
Resolving the headers (canonical consumption pattern)
A wheel/sdist build (pip, python -m build, cibuildwheel) resolves the headers through
the sciforge-build package above. But a co-development checkout wants the sibling
SciForge tree, not a possibly stale pip-installed package. The canonical resolver in a
consumer's setup.py tries, in order, an explicit SCIFORGE_INCLUDE override, a sibling
sciforge checkout, then the package — so local dev wins, CI/wheel falls through to the
package:
def _sciforge_include():
header = os.path.join("sciforge", "binding", "error.hpp")
env = os.environ.get("SCIFORGE_INCLUDE")
if env and os.path.exists(os.path.join(env, header)):
return env
sibling = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "sciforge", "include")
if os.path.exists(os.path.join(sibling, header)):
return sibling
try:
import sciforge_build
return sciforge_build.get_include()
except ImportError:
raise SystemExit("sciforge headers not found: check out RECHE23/sciforge as a "
"sibling, pip install sciforge-build, or set SCIFORGE_INCLUDE")
Then include_dirs=["include", _sciforge_include()], and have the Makefile python
target export SCIFORGE_INCLUDE=$(SCIFORGE_INCLUDE) (default ../sciforge/include) so a
sibling build needs no installed sciforge-build. The exists(error.hpp) guard makes a
sibling that lacks binding/ fall through to the package.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sciforge_build-2026.7.0.tar.gz.
File metadata
- Download URL: sciforge_build-2026.7.0.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0c9a5c0e27e15cf362cb2e2af288df1a10edba8a8b391ce3e8443fddadcedbe
|
|
| MD5 |
37c73a4a351ad1c6c8c4968a7968a405
|
|
| BLAKE2b-256 |
5920e89201afa5c087bc18bd88da9d065667595ba894bbad54068ceaf7732f2e
|
Provenance
The following attestation bundles were made for sciforge_build-2026.7.0.tar.gz:
Publisher:
release.yml on RECHE23/sciforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sciforge_build-2026.7.0.tar.gz -
Subject digest:
e0c9a5c0e27e15cf362cb2e2af288df1a10edba8a8b391ce3e8443fddadcedbe - Sigstore transparency entry: 2052332528
- Sigstore integration time:
-
Permalink:
RECHE23/sciforge@206efba3905b210f3eded5c23a1b6bea0c6cb7e4 -
Branch / Tag:
refs/tags/v2026.7.0 - Owner: https://github.com/RECHE23
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@206efba3905b210f3eded5c23a1b6bea0c6cb7e4 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sciforge_build-2026.7.0-py3-none-any.whl.
File metadata
- Download URL: sciforge_build-2026.7.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16bcd8519c5f0e7d2ab6a96972a0854d73c7194a6a191adb5648909b2286798e
|
|
| MD5 |
dcb625ea89b9b3c712181f79c9bcb9b4
|
|
| BLAKE2b-256 |
36baa548f30c6361d9d9279535f67f6ade82534336053fb7ba418e916b0f3314
|
Provenance
The following attestation bundles were made for sciforge_build-2026.7.0-py3-none-any.whl:
Publisher:
release.yml on RECHE23/sciforge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sciforge_build-2026.7.0-py3-none-any.whl -
Subject digest:
16bcd8519c5f0e7d2ab6a96972a0854d73c7194a6a191adb5648909b2286798e - Sigstore transparency entry: 2052332790
- Sigstore integration time:
-
Permalink:
RECHE23/sciforge@206efba3905b210f3eded5c23a1b6bea0c6cb7e4 -
Branch / Tag:
refs/tags/v2026.7.0 - Owner: https://github.com/RECHE23
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@206efba3905b210f3eded5c23a1b6bea0c6cb7e4 -
Trigger Event:
push
-
Statement type: