Skip to main content

Baslt

Status: pre-alpha, under active construction. Nothing here is ready for real review work yet.

Baslt compiles a large simulation or test run into a small review artifact, and proves that the engineering facts you care about survived the reduction. You write a policy that says what must never be lost — global extrema, threshold crossings, limit violations, event windows, trajectory accuracy, synchronized signals — and give it a byte budget. Baslt keeps exactly what the policy protects, fills the rest of the budget with a shape-preserving preview, and writes a manifest with the evidence. If the budget cannot hold everything the policy protects, compilation fails and tells you the smallest size that would work, instead of quietly dropping something.

It is designed to stay out of the way of simulation pipelines: runs are compiled after the fact, one tiny artifact per run, so a sweep of thousands of runs can be triaged in a browser without opening the raw logs.

Available now

The first end-to-end compiler supports NumPy arrays, CSV, HDF5 and MATLAB MAT-files (v5 to v7.3, including Simulink "structure with time" logs), with global, window and local extrema (prominence and separation), threshold crossings, violations, discrete state transitions, events with windows around their triggers, and sync groups that keep related signals sampled at the same instants. Whatever the budget leaves after that is spent on a preview of every signal, weighted by the policy's soft priorities, and the artifact never exceeds the budget. compile, verify, inspect, policy init and explain are available in the CLI. Compilation verifies its output before writing it. Unsupported policy features (trajectories for now) produce an explicit error.

baslt policy init run.mat -o review.yaml     # starter policy for every signal in the file
baslt compile run.csv --policy review.json -o run.baslt
baslt verify run.baslt --source run.csv
baslt inspect run.baslt --json
baslt compile run.csv --policy review.json --max-size 64KiB --error-report run.error.json
baslt explain run.error.json --source run.csv --policy review.json   # what to relax when it does not fit
import baslt

result = baslt.compile({"t": t, "pressure": pressure}, {
    "version": 1,
    "hard": {"pressure": {"global_extrema": {}}},
}, output="run.baslt")
verification = baslt.verify_artifact("run.baslt")

baslt.api.verify also accepts source= for source-backed checks. For a pipeline hook, use on_error="record", suggestions="off", threads=1; the returned result carries failures and the adjacent .error.json explains them. See the CLI reference and contracts.

Requirement checks

baslt check tests runs against a requirements table from Excel, CSV or a Polarion/DOORS ReqIF export and says what went wrong: which requirement failed, by how much, when and in which phase. Limits can change per flight phase, event window, run parameter or as a curve over another signal. One run gives a report page with a plot per requirement, a results workbook and the requirements table with the verdicts written in; a folder of runs gives a dashboard with a verdict matrix and each requirement over all runs.

baslt requirements init -o reqs.xlsx                  # template with examples and a guide
baslt requirements lint reqs.xlsx --source run.h5     # names, units and limits resolved against a run
baslt check run.h5 -r reqs.xlsx                       # run.check/report.html, results.xlsx, reqs.checked.xlsx
baslt check runs/ -r reqs.xlsx --params runs.csv      # every run in parallel; runs.check/index.html

See requirement checks for the table layout, the expression language and the outputs.

Planned v0.1 scope

  • Inputs: MATLAB .mat (v5/v7 and v7.3), HDF5, CSV, and NumPy arrays in memory. MAT-files carry no units, so declare them under signals.decl when a limit has one.
  • Policy file with hard guarantees and soft preferences, units included (65 kPa, 7 deg, 100 ms, 2 MiB).
  • baslt compile, baslt verify, baslt report, baslt sweep, baslt inspect, baslt policy init, baslt explain.
  • A self-contained HTML viewer for one run and a dashboard for a whole sweep.
  • A MATLAB package that can open artifacts without Python and call the compiler through Python when available.

License

MIT. See LICENSE.

Metadata

Release files for baslt 0.1.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 baslt 0.1.0
File Size Uploaded Provenance
baslt-0.1.0.tar.gz 659.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 1.0 MB

Release files / baslt-0.1.0.tar.gz

Download URL baslt-0.1.0.tar.gz
Size 659.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7f391b11e21ea6bf40941302d08d0adcb0a1441d78cf310cf51828db0619bbf1
BLAKE2b-256 checksum
How to use checksums
ecc49c60be43ef2715ed11f622c5f9a467c24162bf6f758285bd3f0825dad429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / baslt-0.1.0-py3-none-any.whl

Download URL baslt-0.1.0-py3-none-any.whl
Size 363.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1dd27bd22ba0022d8cceffc122eaa96f440db9a76d32845152688ecd012e8a88
BLAKE2b-256 checksum
How to use checksums
7d8a31993f315a746feb654c11cf94d64c002abb5d725391c3184265c969d628
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for baslt 0.1.0

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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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