DSPy Hub CLI and SDK for browsing and publishing DSPy programs
Project description
dspy-hub
dspy-hub is the official CLI and Python SDK for browsing, installing, and publishing DSPy
programs. It speaks the same registry format used by dspyhub.com and ships
with a sample registry so you can try the tooling without any external services.
Installation
pip install dspy-hub
# or with uv
uv pip install dspy-hub
For local development against this repository:
uv pip install -e .
CLI quick start
The CLI exposes two primary commands: list to browse packages and install to copy package
artifacts into a local directory.
dspy-hub list
dspy-hub list --long
dspy-hub install dspy-team/people-extractor --dest ./dspy_packages
- Packages are addressed as
<author>/<name>. - By default the CLI talks to
https://api.dspyhub.com/index.json. - Override the registry with
--registryor by passing a custom URL directly to the SDK helpers.
Both CLI and SDK share that default. Point them at dspy_hub/sample_registry/index.json if you want
to explore the bundled sample manifest offline.
Python SDK quick start
Import dspy_hub anywhere you need to automate interactions with a registry.
import dspy_hub
# Load a published program straight into a DSPy module
program = dspy_hub.load_program_from_hub("dspy-team/people-extractor")
# Inspect raw manifests or file payloads
package = dspy_hub.load_from_hub("dspy-team/people-extractor")
print(package.metadata)
Publishing from Python
Publishing requires a developer key provided by the registry operator. Supply it via the
DSPY_HUB_DEV_KEY environment variable or the dev_key argument.
metadata = {
"version": "0.1.0",
"description": "Optimized DSPy program that extracts people names.",
"tags": ["example", "demo"],
}
dspy_hub.save_program_to_hub(
"people-extractor",
my_program,
metadata,
registry="https://example.com",
)
Need to bundle local helper modules? Pass them via modules_to_serialize, e.g. modules_to_serialize=[my_helpers].
The identifier should be the package name only when publishing ("people-extractor"); the hub
derives the author namespace from the developer key.
Environment variables
| Variable | Purpose |
|---|---|
DSPY_HUB_DEV_KEY |
Developer key required for authenticated publishing workflows. |
Bundled sample registry
The package includes a miniature registry under dspy_hub/sample_registry/. Point the CLI or SDK
to it (or leave the defaults) to explore the package format without standing up a server. The
sample contains:
index.json: manifest of available packages.packages/<author>/<name>/...: artifact payloads referenced by the manifest.
Troubleshooting
- Use
--dry-runwith theinstallcommand to preview which files would be written. - Run with
-hor--helpto see full CLI usage. - When diagnosing registry issues, ensure the manifest exposes SHA-256 hashes for each file; the installer validates them before writing.
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
File details
Details for the file dspy_hub-0.1.3.tar.gz.
File metadata
- Download URL: dspy_hub-0.1.3.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.26
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e183ea94d19fe9b9ea57576ab6a609c5243aa3931dd925034eb9027c46250369
|
|
| MD5 |
bed03b1ec6666477ca2c401b2cb97552
|
|
| BLAKE2b-256 |
e6fa8765a88d7a11c644626f25d50c388f5f2ce911f4f0c5e8eb6cf7e3e2252b
|