Skip to main content

sebench

A Python framework for hierarchical, multi-fidelity system simulation with a hardware-in-the-loop seam.

Build abstract models of complex systems, drill down into concrete implementations, swap in real hardware without touching the rest, and get deterministic replay, trace analysis, and requirement verification along the way.

Install

pip install sebench

The 3D-printer demo (printerlab) lives in this repo as a reference implementation. It is not published to PyPI.

Quickstart

git clone https://github.com/<you>/sebench.git
cd sebench
make setup              # uv sync + pre-commit install
make demo-pyramid       # simulate printing a 20 mm pyramid (~10 s wall-clock)
make report-server      # open http://localhost:8765 to view the report

Development workflow

Daily work

git add <files>
git commit -m "your message"   # pre-commit runs: ruff fix, format, whitespace
git push                       # pre-push hook runs: lint + typecheck + unit tests

If pre-commit fixes files, re-add them and commit again:

git add <files>
git commit -m "your message"

What CI does automatically (no action needed)

On every push to main or pull request:

  • Ruff lint + format check
  • Mypy type check
  • Determinism lint
  • Full test matrix (Python 3.11 / 3.12 / 3.13 on Ubuntu, macOS, Windows)
  • Coverage report (must be ≥ 80%)
  • Uploads coverage.xml and test-results.xml as artifacts

Releasing to PyPI

  1. Go to Actions → Release sebench to PyPI → Run workflow
  2. Enter the version number (e.g. 0.2.0)
  3. Click Run workflow — everything else is automatic

The workflow will: bump pyproject.toml, commit + tag on main, run the full test suite, build the wheel, publish to PyPI, and create a GitHub Release with the build artifacts.

Prerequisite: configure PyPI Trusted Publishing for this repo at pypi.org (Settings → Publishing).

Docs

License

MIT. See LICENSE.

Metadata

Release files for sebench 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sebench 0.4.0
File Size Uploaded
sebench-0.4.0.tar.gz 66.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sebench 0.4.0
File Interpreter ABI Platform
sebench-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 156.3 kB

Release files / sebench-0.4.0.tar.gz

Download URL sebench-0.4.0.tar.gz
Size 66.8 kB
Tags Source
SHA-256 checksum
How to use checksums
24421a8be556fe32efbe465bf369212aa07beb03c31dced458984e9944b64552
BLAKE2b-256 checksum
How to use checksums
1f2c32ee099859d2bcb8afffc6b3230769089e9fcf77e5337b4baad67a401cb6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.

Transparency log

Release files / sebench-0.4.0-py3-none-any.whl

Download URL sebench-0.4.0-py3-none-any.whl
Size 89.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50f7666475a3b32108b00ad9e414463ef2f66719f92e82a371c41ba1026067aa
BLAKE2b-256 checksum
How to use checksums
ea80ff6e418bba3c09bb4386d1b0489234c240b6632cd4341c189c76609b4724
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.2.5

2 release files

0.2.3

2 release files

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