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 undersignals.declwhen 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| baslt-0.1.0.tar.gz | 659.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.