Skip to main content

Public execution-kernel release boundary for the current Culsma reference implementation

Project description

Culsma

PyPI Python versions Release check bioRxiv Software DOI Reference DOI License

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/
  • 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

You can also install directly from the v1.0.3 tag:

python -m pip install "culsma @ git+https://github.com/culsma/culsma.git@v1.0.3"

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
tests/                regression and runtime tests

Quick Run

Create a small protocol file:

cat > /tmp/culsma-smoke.culs <<'CULSMA'
protocol CliSmoke {
  let sample = tube(label = "AcquisitionSample", capacity = 2000uL, load = [content(kind = "biosample", code = "S1", type = "cell_sample"):1000uL]);
  return sample;
}
CULSMA

Then run it:

culsma /tmp/culsma-smoke.culs

This prints a compact terminal result, including the returned tube/container state.

The explicit run form is equivalent:

culsma run /tmp/culsma-smoke.culs

If you want the machine-readable run output on stdout:

culsma run /tmp/culsma-smoke.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 /tmp/culsma-smoke.culs --output tmp/result.json

If you want intermediate and debug artifacts as well:

culsma run \
  /tmp/culsma-smoke.culs \
  --artifacts-dir tmp/run

If you are running from a source checkout without the console entrypoint on PATH, use:

python -m culsma /tmp/culsma-smoke.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

Release Boundary

  • This repository is the public code boundary for Culsma v1.0.x.
  • Public smoke validation uses generated protocol source rather than bundled example files.
  • 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.

Brodin Lab affiliation mark

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

culsma-1.0.3.tar.gz (213.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

culsma-1.0.3-py3-none-any.whl (190.3 kB view details)

Uploaded Python 3

File details

Details for the file culsma-1.0.3.tar.gz.

File metadata

  • Download URL: culsma-1.0.3.tar.gz
  • Upload date:
  • Size: 213.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for culsma-1.0.3.tar.gz
Algorithm Hash digest
SHA256 5b7ffa191b06fef88d1097acd6105ee3ad025ee9f6338bd6caeb9ffa6c7601d2
MD5 0798b7a0a4bb5bd377a8d21128729e08
BLAKE2b-256 ffe325c1e488b31e8d5f4cbce2c6c01fcbbc2ce12060c0625deb07b660e3d64d

See more details on using hashes here.

Provenance

The following attestation bundles were made for culsma-1.0.3.tar.gz:

Publisher: release.yml on culsma/culsma

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file culsma-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: culsma-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 190.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for culsma-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f6add14645d595c8a70d95fb9744f725588cd2eddbc85b4f8efe6b71b04b3539
MD5 4414c2542d8c577c9a79ab3ed60d8021
BLAKE2b-256 6732549298e0b6bd08d794900edcb10f5b6defeb396ce05df44f3fb4e56966ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for culsma-1.0.3-py3-none-any.whl:

Publisher: release.yml on culsma/culsma

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page