Skip to main content

Bosn

Bosn is a Rust daemon for safely managing Docker development applications. It keeps ownership, generation, volume, lease, execution-session, and event state in a durable SQLite registry. The daemon is the only component that mutates Docker or that writes that registry.

The distribution includes three intentionally thin front ends:

  • bosn, a bundled native CLI;
  • import bosn, a PyO3 client binding; and
  • bosn mcp, a stdio MCP server for Hermes and other MCP clients.

The former Python daemon, Docker front doors, manifest parser, and SQLite registry are deliberately not packaged. Python callers use bosn.Client; they cannot import or invoke a second lifecycle implementation.

Install

pip install bosn
bosn --version

Platform wheels contain the native bosn CLI and the bosn._native Python extension. Installing the wheel puts the bosn binary itself into the environment's scripts directory, so the bosn on PATH is the native CLI, with no Python wrapper in between. The extension uses PyO3's abi3-py310 ABI, so Bosn supports CPython 3.10 and newer with one platform wheel rather than publishing cp311-only artifacts.

One-file setup

Bosn accepts a local file or HTTPS URL for a versioned setup document. The document declares a digest-pinned image or inline Dockerfile, optional inline files, environment, bind mounts, named volumes, tmpfs mounts, and named tasks. Planning is inert; ensure and task submission are daemon-owned jobs.

version = 1

[app]
image = "registry.example/team/app@sha256:REPLACE_WITH_64_LOWERCASE_HEX_DIGEST"
command = "exec sleep 120"

[task.check]
command = "cargo check"
bosn setup plan --state-dir "$HOME/.local/state/bosn" \
  --workspace "$PWD" --config https://example.invalid/bosn-setup.toml \
  --refresh
bosn setup ensure --state-dir "$HOME/.local/state/bosn" \
  --workspace "$PWD" --config https://example.invalid/bosn-setup.toml \
  --refresh --deadline-ms 300000 --output-limit 8388608

online_refresh is explicit; offline_cache_only uses only a previously validated local cache record. URLs with credentials, unsupported schemes, path traversal, unpinned images, and oversized documents are refused.

Python

from pathlib import Path
import bosn

client = bosn.Client(Path.home() / ".local/state/bosn")
plan = client.plan_setup(
    Path.cwd(), "https://example.invalid/bosn-setup.toml", policy="online_refresh"
)
job_id = client.submit_setup_ensure(
    Path.cwd(),
    "https://example.invalid/bosn-setup.toml",
    policy="online_refresh",
    deadline_ms=300_000,
    output_limit=8 * 1024 * 1024,
)

The binding exposes typed request and observation operations only. It does not accept Docker command arguments, container identifiers, mounts, or arbitrary commands from callers.

MCP / Hermes

Run bosn mcp over stdio. A typical Hermes registration is:

mcp_servers:
  bosn:
    command: bosn
    args: [mcp]

Set BOSN_STATE_DIR if the default state directory is not appropriate. MCP tools use the same typed daemon operations as the CLI and Python client; long operations return durable job IDs.

Development

./install
./lint
./test

The Rust migration status, native manifest lifecycle boundary, and registry details are documented in docs/migration-rust.md, docs/rust-manifest-runtime.md, and docs/rust-registry.md.

Metadata

Release files for bosn 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for bosn 0.1.4
File
bosn-0.1.4-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
bosn-0.1.4-cp310-abi3-manylinux_2_39_x86_64.whl CPython 3.10 abi3 Linux glibc 2.39+ x86-64 Details
bosn-0.1.4-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
bosn-0.1.4-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 35.4 MB

Release files / bosn-0.1.4-cp310-abi3-win_amd64.whl

Download URL bosn-0.1.4-cp310-abi3-win_amd64.whl
Size 7.9 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
b785e3061d6a4ced5dc83372f07a9f4d02d3d8870fb777daac106d17c51e4eeb
BLAKE2b-256 checksum
How to use checksums
6be5222a0ca35df6e79d5f68dffa2a5acfb406cde2090710af2c32d5e6fb2bca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / bosn-0.1.4-cp310-abi3-manylinux_2_39_x86_64.whl

Download URL bosn-0.1.4-cp310-abi3-manylinux_2_39_x86_64.whl
Size 12.7 MB
Tags CPython 3.10 Linux glibc 2.39+ x86-64 abi3
SHA-256 checksum
How to use checksums
48de0049f6da6721ca88013d9b86828391a7b93f14c500319f82591c10e39580
BLAKE2b-256 checksum
How to use checksums
6ac7f99ab56044ef580adfea5d24c2599fa98e8aba429cde81b24883f44fc8c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / bosn-0.1.4-cp310-abi3-macosx_11_0_arm64.whl

Download URL bosn-0.1.4-cp310-abi3-macosx_11_0_arm64.whl
Size 7.3 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4f9610182d02a33542813f1f2e6a789436b168f229b40bc2ad436c188acf5c96
BLAKE2b-256 checksum
How to use checksums
a494e2924d4783850a0499216272ac19234f996a9051583f699a6334725571e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / bosn-0.1.4-cp310-abi3-macosx_10_12_x86_64.whl

Download URL bosn-0.1.4-cp310-abi3-macosx_10_12_x86_64.whl
Size 7.5 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
d0e16a639c9cd955a4e56033c085279d456510107e54c13b6d6d5e9a75a46f66
BLAKE2b-256 checksum
How to use checksums
8788cb407d29ee7c55b5777c60670bbea395fc7664d63fd15543de424c9b6589
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page