bsl-lang
Behavioral Specification Language toolkit: parser, validator, formatter, linter
Part of the AumOS open-source agent infrastructure portfolio.
Features
- Formal EBNF grammar for agent behavior specifications —
behavior,invariant,degrades_to, andcompositionblocks withmust/must_not/should/maymodal constraints - Hand-written recursive-descent parser that produces a typed AST (
AgentSpec,BehaviorDecl,InvariantDecl, and expression nodes) with source-span tracking - Semantic validator with configurable rule sets and strict mode that promotes warnings to errors for CI gating
- AST serializer with round-trip JSON Schema output so specs can be consumed by external tooling
- Canonical formatter that enforces clause ordering within behavior and invariant blocks, preserving comments
- Linter with naming, completeness, and consistency rule sets (extensible via custom rule callables)
- CLI with
validate,fmt,lint, anddiffsubcommands for use in pre-commit hooks and CI pipelines
Quick Start
Install from PyPI:
pip install bsl-lang
Verify the installation:
bsl-lang version
Basic usage:
import bsl
# See examples/01_quickstart.py for a working example
Documentation
Enterprise Upgrade
For production deployments requiring SLA-backed support and advanced integrations, contact the maintainers or see the commercial extensions documentation.
Contributing
Contributions are welcome. Please read CONTRIBUTING.md before opening a pull request.
License
Apache 2.0 — see LICENSE for full terms.
Part of AumOS — open-source agent infrastructure.
Metadata
Release files for bsl-lang 0.2.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 | |
|---|---|---|---|---|
| bsl_lang-0.2.0.tar.gz | 159.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bsl_lang-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 276.3 kB
Release files / bsl_lang-0.2.0.tar.gz
| Download URL | bsl_lang-0.2.0.tar.gz |
|---|---|
| Size | 159.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1326d0adb18d9e18e812cbe180b918b70afdd64b9a2be29dfc3793efba08cfdc
|
|
BLAKE2b-256 checksum How to use checksums |
c7d86f7cb634f61a45b4a528957876ce346c433b6adbaf7ba46d2ee91dae49e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / bsl_lang-0.2.0-py3-none-any.whl
| Download URL | bsl_lang-0.2.0-py3-none-any.whl |
|---|---|
| Size | 116.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79cb259029669fe12b012205f5a56adc2530e9783e796ded95444dfe1e421c82
|
|
BLAKE2b-256 checksum How to use checksums |
1a08ee36297e850e266c7c13f12774d0b49026aabdc79399ed7a680fd6617e5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for bsl-lang 0.2.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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.