Public execution-kernel release boundary for the current Culsma reference implementation
Project description
Culsma is the public reference implementation of the current Culsma language and execution stack. The public release is distributed as a Python-based CLI.
This repository intentionally contains only the executable core:
src/culsma/parser/src/culsma/pipeline/src/culsma/runtime/src/culsma/driver/src/culsma/stdlib/examples/tests/
It intentionally leaves out manuscript sources, MCP tooling, editor integrations, and internal design-workspace documents.
Install
For the current public release, install from PyPI:
python -m pip install culsma
The runnable examples live in the source repository. If you install from PyPI, use the GitHub source checkout or copy an example file locally before running the example commands below.
You can also install directly from the v1.0.2 tag:
python -m pip install "culsma @ git+https://github.com/culsma/culsma.git@v1.0.2"
Release notes are in CHANGELOG.md.
The public language reference is maintained in the companion
culsma-reference repository/worktree.
Repository Layout
src/culsma/parser/ grammar, AST, and source loading
src/culsma/pipeline/ compile, validate, typecheck, and plan lowering
src/culsma/runtime/ execution state, events, and material compute
src/culsma/driver/ backend boundary and concrete drivers
src/culsma/stdlib/ bundled standard-library source
examples/ current protocol examples
tests/ regression and runtime tests
Quick Run
culsma examples/flow_cytometry_protocol.culs
This runs a representative protocol and prints a compact terminal result, including the returned tube/container state.
The explicit run form is equivalent:
culsma run examples/flow_cytometry_protocol.culs
If you want the machine-readable run output on stdout:
culsma run examples/flow_cytometry_protocol.culs --json
The run output separates the protocol return from the generated lab report:
returns is the program output, while report is the execution/reporting
summary.
If you want to save the machine-readable run output explicitly:
culsma run examples/flow_cytometry_protocol.culs --output tmp/result.json
If you want intermediate and debug artifacts as well:
culsma run \
examples/flow_cytometry_protocol.culs \
--artifacts-dir tmp/run
If you are running from a source checkout without the console entrypoint on
PATH, use:
python -m culsma examples/flow_cytometry_protocol.culs
You can also replay a saved run artifact:
culsma replay --run-json tmp/run/run.json --out tmp/replayed_state.json
Run Tests
python -m pytest -q
More
- Documentation: culsma.dev
- Paper and citation: Culsma: A Formal Language for Laboratory Protocols (bioRxiv preprint)
- Software DOI: 10.5281/zenodo.20059616
- Reference DOI: 10.5281/zenodo.20059696
- Latest GitHub release: github.com/culsma/culsma/releases/latest
- Changelog: CHANGELOG.md
- Support policy: SUPPORT.md
Release Boundary
- This repository is the public code boundary for Culsma v1.0.x.
- The
examples/directory contains the runnable CLI example used for public smoke validation. - This repository is licensed under Apache-2.0. See
LICENSE.
Support and Maintenance Policy
Culsma is a public open-source reference implementation of the Culsma language and execution stack.
The repository is published as-is. Maintainer review is limited to narrowly scoped, reproducible defects in the current public baseline. General support, custom integration help, roadmap requests, and broad feature requests are out of scope for the public issue tracker.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file culsma-1.0.2.tar.gz.
File metadata
- Download URL: culsma-1.0.2.tar.gz
- Upload date:
- Size: 191.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a2e80257081879ddc52d2b33154e78e272dbde66050b46272fa10c3f8460ca7
|
|
| MD5 |
bad6e026f5fca089322f7ac635581151
|
|
| BLAKE2b-256 |
a76ce9925a87fc07062906f8b2e69b8aab9c98157ec4d3c7877c3bb2e4a3835b
|
Provenance
The following attestation bundles were made for culsma-1.0.2.tar.gz:
Publisher:
publish-pypi.yml on culsma/culsma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
culsma-1.0.2.tar.gz -
Subject digest:
1a2e80257081879ddc52d2b33154e78e272dbde66050b46272fa10c3f8460ca7 - Sigstore transparency entry: 1602184207
- Sigstore integration time:
-
Permalink:
culsma/culsma@f8496655b6f55dfe868a17e6bed3b922597a0da6 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/culsma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f8496655b6f55dfe868a17e6bed3b922597a0da6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file culsma-1.0.2-py3-none-any.whl.
File metadata
- Download URL: culsma-1.0.2-py3-none-any.whl
- Upload date:
- Size: 176.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c0487a91f5913d4c7c79bf7720c68d0882c40dcb5e3f6514ab9f1814ba1f5e4
|
|
| MD5 |
c92f8556e5b62cd0006c5463dbcd5097
|
|
| BLAKE2b-256 |
38414aa3759c8dc510dbe40eb03379b6639fd703a94ded459237906926f858f2
|
Provenance
The following attestation bundles were made for culsma-1.0.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on culsma/culsma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
culsma-1.0.2-py3-none-any.whl -
Subject digest:
2c0487a91f5913d4c7c79bf7720c68d0882c40dcb5e3f6514ab9f1814ba1f5e4 - Sigstore transparency entry: 1602184245
- Sigstore integration time:
-
Permalink:
culsma/culsma@f8496655b6f55dfe868a17e6bed3b922597a0da6 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/culsma
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@f8496655b6f55dfe868a17e6bed3b922597a0da6 -
Trigger Event:
release
-
Statement type: