Skip to main content

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:

  1. Set version = "X.Y.ZrcN" in pyproject.toml, commit, push, then git tag vX.Y.ZrcN && git push origin vX.Y.ZrcN.
  2. Check the release candidate: pip install -i https://test.pypi.org/simple/ xstrumodeler==X.Y.ZrcN.
  3. Set version = "X.Y.Z" in pyproject.toml and CITATION.cff, commit, push, then git 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: namespace luigi_paone, project xstrumodeler, pipeline file .gitlab-ci.yml, environment pypi.
  • TestPyPI → Account → Publishing → add a pending publisher with the same values, project name xstrumodeler, environment testpypi.
  • 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)

Source distribution for xstrumodeler 0.0.3
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)

Table of built distributions (wheels) for xstrumodeler 0.0.3
File Actions
xstrumodeler-0.0.3-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for xstrumodeler-0.0.3-cp314-cp314-win_amd64.whl
xstrumodeler-0.0.3-cp314-cp314-manylinux_2_34_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.34+ x86-64 Details for xstrumodeler-0.0.3-cp314-cp314-manylinux_2_34_x86_64.whl
xstrumodeler-0.0.3-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for xstrumodeler-0.0.3-cp313-cp313-win_amd64.whl
xstrumodeler-0.0.3-cp313-cp313-manylinux_2_34_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.34+ x86-64 Details for xstrumodeler-0.0.3-cp313-cp313-manylinux_2_34_x86_64.whl
xstrumodeler-0.0.3-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for xstrumodeler-0.0.3-cp312-cp312-win_amd64.whl
xstrumodeler-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.34+ x86-64 Details for xstrumodeler-0.0.3-cp312-cp312-manylinux_2_34_x86_64.whl
xstrumodeler-0.0.3-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for xstrumodeler-0.0.3-cp311-cp311-win_amd64.whl
xstrumodeler-0.0.3-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details for xstrumodeler-0.0.3-cp311-cp311-manylinux_2_34_x86_64.whl
xstrumodeler-0.0.3-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for xstrumodeler-0.0.3-cp310-cp310-win_amd64.whl
xstrumodeler-0.0.3-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details for xstrumodeler-0.0.3-cp310-cp310-manylinux_2_34_x86_64.whl

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page