xstrumodeler
Python bindings (Boost.Python) for the xstrucore cross-section modeler.
The repository is self-contained:
| Path | Content |
|---|---|
boost-wrap.cpp |
Boost.Python module definition (xstrumodeler) |
lib/coreobj/ |
core objects library (functions, units, keys, ...) |
lib/xstrucore/ |
structural section modeler library |
src/xstrumodeler/ |
Python package; the compiled module is installed here |
Boost 1.88 is downloaded automatically at configure time (CMake FetchContent)
and Boost.Python is compiled statically into the module, so no system Boost is
required. The wheel depends only on the C++ runtime.
Requirements
- Python >= 3.10 (with headers)
- a C++17 compiler (GCC, Clang or MSVC 2022)
- network access on first build (≈100 MB Boost download)
CMake is provided by scikit-build-core if not installed.
Build
pip wheel . -w dist # build a wheel
pip install . # or install directly
from xstrumodeler import xstrumodeler
modeler = xstrumodeler.XStruModeler()
Offline build
Download and extract boost-1.88.0-cmake.tar.xz then:
pip wheel . -w dist -Ccmake.define.FETCHCONTENT_SOURCE_DIR_BOOST=/path/to/boost-1.88.0
Plain CMake (development)
cmake -S . -B build
cmake --build build -j
Releasing
GitLab CI runs only on version tags. It checks that the tag matches
version in pyproject.toml, builds the sdist, manylinux_2_34 wheels
(cp310–cp314) and Windows wheels (cibuildwheel), and, if every build
succeeds, uploads them all:
| Tag | Upload to |
|---|---|
vX.Y.ZrcN |
TestPyPI |
vX.Y.Z |
PyPI |
Uploads use Trusted Publishing: no token is stored in GitLab.
Release steps:
- Set
version = "X.Y.ZrcN"inpyproject.toml, commit, push, thengit tag vX.Y.ZrcN && git push origin vX.Y.ZrcN. - Check the release candidate:
pip install -i https://test.pypi.org/simple/ xstrumodeler==X.Y.ZrcN. - Set
version = "X.Y.Z"inpyproject.tomlandCITATION.cff, commit, push, thengit tag vX.Y.Z && git push origin vX.Y.Z.
A version can be uploaded only once: if a release fails after uploading, use the next rc number.
One-time setup:
- PyPI →
xstrumodeler→ Settings → Publishing → add a GitLab publisher: namespaceluigi_paone, projectxstrumodeler, pipeline file.gitlab-ci.yml, environmentpypi. - TestPyPI → Account → Publishing → add a pending publisher with the same
values, project name
xstrumodeler, environmenttestpypi. - GitLab → Settings → Repository → Protected tags:
v*, Maintainers only.
Provenance
Extracted from the exagon repository
(commit 5455d2d) with history preserved: src/app/xstrumodeler → repository
root, src/lib/coreobj and src/lib/xstrucore → lib/. The copies in
lib/ are now independent from exagon; changes are not synchronized
automatically.
License
Licensed under the Apache License, Version 2.0. Redistributions must retain the NOTICE file. If you use xstrumodeler in published work, please cite it as described in CITATION.cff.
Boost is distributed under the Boost Software License, Version 1.0.
Metadata
Release files for xstrumodeler 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xstrumodeler-0.0.3.tar.gz | 87.2 kB | Without provenance | Details for xstrumodeler-0.0.3.tar.gz |
Built distributions (wheels)
Total release size: 4.2 MB
Release files / xstrumodeler-0.0.3.tar.gz
| Download URL | xstrumodeler-0.0.3.tar.gz |
|---|---|
| Size | 87.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd012b6ebf484b8eaa777da73f8f1c4c02d4cbfd1a37ba8567c73021b64f14cf
|
|
BLAKE2b-256 checksum How to use checksums |
a34fb2c86196f78fde44da69a20aeadc9be69517012f9a138a6067502eefb01e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp314-cp314-win_amd64.whl
| Download URL | xstrumodeler-0.0.3-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 274.4 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d15aa4256096eb2676b0ad35cf639e59c53e7ee4375fa92323886d55b36b7094
|
|
BLAKE2b-256 checksum How to use checksums |
9dcd3c62adb8173b77108bb03f487716d1c8479e1cd4b996496e4f47461e24b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp314-cp314-manylinux_2_34_x86_64.whl
| Download URL | xstrumodeler-0.0.3-cp314-cp314-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 548.5 kB |
| Tags | CPython 3.14 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
9090ef3be3eac58d14eee1625f6d971d66e080d335d76e4caf0991b5e48f4258
|
|
BLAKE2b-256 checksum How to use checksums |
3d313f553824d71e1494220a06342687c0bf149d3c5db47c1fab39d791bb9279
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp313-cp313-win_amd64.whl
| Download URL | xstrumodeler-0.0.3-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 266.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
fc7e78b7dbbbf079e8003e9621a79c1e6ede38aaa3d794b5a6d2fe53cb6ae69b
|
|
BLAKE2b-256 checksum How to use checksums |
9c2f84f9339ddfc4acb62e4febb3fc2f9e7f54c6e250c144516c4f6b4d847bb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp313-cp313-manylinux_2_34_x86_64.whl
| Download URL | xstrumodeler-0.0.3-cp313-cp313-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 545.4 kB |
| Tags | CPython 3.13 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
0e8acd173202f405afc98a0d382f9b37c8803536bb6c49bebbfa0b9cbef21c3e
|
|
BLAKE2b-256 checksum How to use checksums |
be5a5dcde45d9e388354e20a5ff6b8815c4de4637759c3dc00ec436945105009
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp312-cp312-win_amd64.whl
| Download URL | xstrumodeler-0.0.3-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 266.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5a94b1e23697f2173f3212f5d8f1809a5a8d11897c03428779dfb33583c9085a
|
|
BLAKE2b-256 checksum How to use checksums |
52a580de04e2a6aedce2f2b2153248d07c2db486eb48b2cf6c017f5162e426b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl
| Download URL | xstrumodeler-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 545.3 kB |
| Tags | CPython 3.12 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
5e2c73193c26a2e37449744b69c6b65e677804fd58186afa283c4e12252942b2
|
|
BLAKE2b-256 checksum How to use checksums |
48fed55cd2762cbbb1940c8c71a28277cbe7d86bba0c08af9f41a6bf359e6335
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp311-cp311-win_amd64.whl
| Download URL | xstrumodeler-0.0.3-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 265.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
78a654d44199cb6a4a349ad12ead3562d0dbb621b0befc83e5dc9e7bbb6f57b7
|
|
BLAKE2b-256 checksum How to use checksums |
5667212292c095cac3dd67d13fa35e2b3f76aa5ca4f5fc5cdcd90be50915e196
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp311-cp311-manylinux_2_34_x86_64.whl
| Download URL | xstrumodeler-0.0.3-cp311-cp311-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 549.1 kB |
| Tags | CPython 3.11 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
3ce99cd61248b85370b70b7c6d6b3a1e99fedc8898b063f69a26384b2b90bdd1
|
|
BLAKE2b-256 checksum How to use checksums |
b518231a634cb6d79701fccae110eb96702c0f6bf85fe47cd66089e71824794c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp310-cp310-win_amd64.whl
| Download URL | xstrumodeler-0.0.3-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 265.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a276e0ff69e7f9bbf27b7e779b56f4275399796aa0e6ee4167c08b75903b50be
|
|
BLAKE2b-256 checksum How to use checksums |
8f563973eb10066dec64e71d4f19b71a4d8919875f4d860cb60e3afd9f2af54f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / xstrumodeler-0.0.3-cp310-cp310-manylinux_2_34_x86_64.whl
| Download URL | xstrumodeler-0.0.3-cp310-cp310-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 549.3 kB |
| Tags | CPython 3.10 Linux glibc 2.34+ x86-64 |
|
SHA-256 checksum How to use checksums |
62e9e8d8ddbecd7a4db5fb47ac1f1843f8946fb60910123cf4833257e48bbd95
|
|
BLAKE2b-256 checksum How to use checksums |
f0091e9194a706b06efbf468ca34cbb051d4b086c0ed97711b3a2f9e1556f9c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Security for xstrumodeler 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.