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
charterCLI 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f223df2161dde24786bc82d673850eb1233a37be2e248e95729b936824a49f1d
|
|
| MD5 |
8316d304ff09711ac6f993e47409bbf1
|
|
| BLAKE2b-256 |
78882162cefed9f92a97eb476eda69ebb9a5a19c3cebf6c778dd3b4092f0d452
|
Provenance
The following attestation bundles were made for charter_daemon-0.0.1.tar.gz:
Publisher:
release.yml on charter-tool/charter-daemon
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
charter_daemon-0.0.1.tar.gz -
Subject digest:
f223df2161dde24786bc82d673850eb1233a37be2e248e95729b936824a49f1d - Sigstore transparency entry: 1586795616
- Sigstore integration time:
-
Permalink:
charter-tool/charter-daemon@4e91f7bb6347a849b4e537a9eb6ce4b03d59709f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/charter-tool
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e91f7bb6347a849b4e537a9eb6ce4b03d59709f -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d053d7fa52419fb5852e21e871ba8a3accd9a78c8c5b861e8eddead98616baf
|
|
| MD5 |
4d801356735b6bb43b01a8ac1978254e
|
|
| BLAKE2b-256 |
625a1708030f4be7ffccb08ff3f4c1ba3f979565c66d99426de073d686f6d3e2
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
charter_daemon-0.0.1-py3-none-any.whl -
Subject digest:
5d053d7fa52419fb5852e21e871ba8a3accd9a78c8c5b861e8eddead98616baf - Sigstore transparency entry: 1586795654
- Sigstore integration time:
-
Permalink:
charter-tool/charter-daemon@4e91f7bb6347a849b4e537a9eb6ce4b03d59709f -
Branch / Tag:
refs/heads/main - Owner: https://github.com/charter-tool
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4e91f7bb6347a849b4e537a9eb6ce4b03d59709f -
Trigger Event:
workflow_dispatch
-
Statement type: