Skip to main content

Long-lived Charter worker daemon that multiplexes local runs over one gateway connection.

Project description

charter-daemon

Long-lived worker that multiplexes Charter runs over one gateway connection. The local charter CLI hands off --detached runs to this daemon over a Unix-domain socket; the daemon keeps a single outbound WebSocket to charter-gateway so runs and their events flow through one authenticated channel regardless of how many runs are in-flight.

charter-daemon is part of the Charter toolchain: workflow-as-code with the discipline of a CI pipeline — typed inputs, explicit checkpoints, durable state, and an auditable record of what happened.

How it fits in

charter (CLI) ──unix socket──> charter-daemon ──websocket──> charter-gateway
                                     │
                                     └── ManagedRun (charter-core)
  • Project-scoped: one daemon instance serves one Charter project root.
  • Host-installed: runs alongside the charter CLI on the same machine.
  • One gateway connection per daemon: backpressure and authentication are concerns of the gateway, not of each individual run.

The project runtime in .charter/.venv is required when detached workflow runs execute project-installed integrations or workflow-local Python code, but not just to start the daemon process.

Install

pip install charter-daemon

Requires Python 3.11+ and a compatible charter-core.

Run

charter-daemon start --project-path /path/to/project \
                     --gateway http://127.0.0.1:8765

Run charter-daemon --help for the full option list. Typical deployments bring up charter-gateway alongside the daemon via the charter-localdev Docker Compose stack.

Development

uv sync --group dev
uv run pytest
uv run ruff check charter_daemon tests
uv run ruff format charter_daemon tests

Install pre-commit hooks once with uv run pre-commit install.

License

Released under the MIT License. See CHANGELOG.md for the release history.

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

charter_daemon-0.0.1.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

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

charter_daemon-0.0.1-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file charter_daemon-0.0.1.tar.gz.

File metadata

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

File hashes

Hashes for charter_daemon-0.0.1.tar.gz
Algorithm Hash digest
SHA256 f223df2161dde24786bc82d673850eb1233a37be2e248e95729b936824a49f1d
MD5 8316d304ff09711ac6f993e47409bbf1
BLAKE2b-256 78882162cefed9f92a97eb476eda69ebb9a5a19c3cebf6c778dd3b4092f0d452

See more details on using hashes here.

Provenance

The following attestation bundles were made for charter_daemon-0.0.1.tar.gz:

Publisher: release.yml on charter-tool/charter-daemon

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

File details

Details for the file charter_daemon-0.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for charter_daemon-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5d053d7fa52419fb5852e21e871ba8a3accd9a78c8c5b861e8eddead98616baf
MD5 4d801356735b6bb43b01a8ac1978254e
BLAKE2b-256 625a1708030f4be7ffccb08ff3f4c1ba3f979565c66d99426de073d686f6d3e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for charter_daemon-0.0.1-py3-none-any.whl:

Publisher: release.yml on charter-tool/charter-daemon

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