runspec-registry
A lightweight HTTP registry for runspec agents.
When runspec serve starts on a host it registers itself here. The registry tracks which tools are available, on which hosts, and with what execution metadata. Clients (Chainlit apps, orchestrators, CI pipelines) query the registry to discover agents and route tool calls.
Install
pip install runspec-registry
Start the server
runspec-registry
Options:
--host TEXT Bind host (default: 0.0.0.0)
--port INT Bind port (default: 8765)
--api-key TEXT API key required for write endpoints
--ssl-keyfile PATH TLS private key
--ssl-certfile PATH TLS certificate
--purge-interval INT Seconds between stale-instance sweeps (default: 60)
--reload Auto-reload for development
API
Instances
| Method | Path | Auth | Description |
|---|---|---|---|
POST |
/instances |
write | Register an agent |
POST |
/instances/{id}/heartbeat |
write | Send heartbeat |
POST |
/instances/{id}/tools |
write | Update tool list |
DELETE |
/instances/{id} |
write | Deregister an agent |
Discovery
| Method | Path | Auth | Description |
|---|---|---|---|
GET |
/tools |
read | List all tools with their hosts |
GET |
/tools/{name} |
read | Get a tool with per-host execution metadata |
GET |
/instances |
read | List all live instances |
GET |
/health |
none | Health check |
Write endpoints require X-API-Key header when --api-key is set. Read endpoints are unauthenticated by default.
Authentication
Start with an API key to protect write endpoints:
runspec-registry --api-key mysecretkey
Agents register with the matching key:
runspec serve --registry http://myserver:8765 --registry-key mysecretkey
TLS
Provide a certificate and key to enable HTTPS:
runspec-registry --ssl-certfile cert.pem --ssl-keyfile key.pem
Agents connecting to a registry with a self-signed cert pass the CA cert:
runspec serve --registry https://myserver:8765 --registry-cert ca.pem
How it works
runspec servestarts on each host, readsrunspec.toml, and registers with the registry- It sends a heartbeat every 30 seconds (configurable via
heartbeatinrunspec.toml) - The registry purges instances that have missed heartbeats
- Clients query
/toolsto see what's available and on which hosts runspec run --host <host> --registry <url> <tool>looks up the tool, gets the execution metadata for that host, and SSHes to run it
Links
Metadata
Release files for runspec-registry 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runspec_registry-0.1.1.tar.gz | 13.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runspec_registry-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.3 kB
Release files / runspec_registry-0.1.1.tar.gz
| Download URL | runspec_registry-0.1.1.tar.gz |
|---|---|
| Size | 13.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
37ee708583557b369cbeb033749bcb23bc6e8403377d00beac1dee7940f874c3
|
|
BLAKE2b-256 checksum How to use checksums |
47a0003d25106b37f5ce396ae8015143d1d51974a52d35ff1df1d94bdfba352e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 18, 2026.
Transparency logRelease files / runspec_registry-0.1.1-py3-none-any.whl
| Download URL | runspec_registry-0.1.1-py3-none-any.whl |
|---|---|
| Size | 15.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51f7883fe5a38896a7699c05f6c23f1d1ce777ddcc0b2a0c8ae9ccced1ee44ee
|
|
BLAKE2b-256 checksum How to use checksums |
9e825cce3d537dcf35483cae3b475d3b2cd4e5834468fd2b5fb936f8f67800bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 May 18, 2026.
Transparency log