Skip to main content

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

  1. runspec serve starts on each host, reads runspec.toml, and registers with the registry
  2. It sends a heartbeat every 30 seconds (configurable via heartbeat in runspec.toml)
  3. The registry purges instances that have missed heartbeats
  4. Clients query /tools to see what's available and on which hosts
  5. 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)

Source distribution for runspec-registry 0.1.1
File Size Uploaded
runspec_registry-0.1.1.tar.gz 13.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for runspec-registry 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

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