Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 1.63 KB

File metadata and controls

49 lines (37 loc) · 1.63 KB

styx-runtime-py

Python runtime and integrations for Styx. This monorepo consolidates the protocol definitions, the middleware, and the container runners into a single uv workspace.

Packages

Package Description
styxdefs Core types, protocol, and minimal runtime (local + dry runners). Zero runtime dependencies.
styxgraph Middleware runner that records executions as a Mermaid graph.
styxcache Middleware runner that content-addresses tool outputs for cross-run reuse.
styxcontainer-common Internal shared base classes for the container runners.
styxdocker Docker runner.
styxpodman Podman runner.
styxsingularity Singularity/Apptainer runner.

Development

This is a uv workspace. All tooling and CI runs against the whole workspace; individual packages are published to PyPI independently.

# Install every workspace member into a shared venv.
uv sync --all-packages

# Run the full test matrix.
uv run pytest packages/

# Lint and format.
uv run ruff check
uv run ruff format --check
uv run mypy packages/

Releasing

Per-package releases are driven by tags of the form <package>-v<version>. For example, to ship styxdocker 0.6.4:

git tag styxdocker-v0.6.4
git push --tags

The publish.yaml workflow picks up the tag, builds only the matching package, and pushes it to PyPI.