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.4 tag:

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

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.4.tar.gz (233.6 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.4-py3-none-any.whl (209.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: culsma-1.0.4.tar.gz
  • Upload date:
  • Size: 233.6 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.4.tar.gz
Algorithm Hash digest
SHA256 b7ad765f0344f358ddf0f6165f684dc386b36872ab4fce2dd98f3e9fff68e322
MD5 d2403207eaae083c7a06fb805e23d3bd
BLAKE2b-256 6037a538508b619c86bc1b9e3389fef915f93582f4a061993ac75b791565e61d

See more details on using hashes here.

Provenance

The following attestation bundles were made for culsma-1.0.4.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.4-py3-none-any.whl.

File metadata

  • Download URL: culsma-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 209.4 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 1c51efcdbbd46fc9aadf614c99ffab98b29bf824694fd668cf11c5651035cd12
MD5 2ebbc2f76cf13147dc4eebad5d095632
BLAKE2b-256 b476bd57cca170f2209638afa6012c0a67bdad56a339639cf4cf3973c97a9545

See more details on using hashes here.

Provenance

The following attestation bundles were made for culsma-1.0.4-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