Skip to content

styx-api/styx-runtime-py

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.

About

Python runtime and integrations for Styx (protocol, middleware, and container runners).

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors