.prx format toolkit and prxhub CLI
Project description
prx
Toolkit and hub CLI for the .prx research bundle format.
prx reads, validates, diffs, merges, signs, and publishes .prx archives — the open, portable format for multi-provider AI research produced by parallect. It also ships a prxhub client for searching, cloning, forking, and collaborating on published bundles.
$ prx read results.prx
$ prx publish results.prx --collection ai-safety
$ prx open # Terminal UI browser
Install
pip install prx-cli
The CLI is installed as prx (the PyPI distribution is prx-cli because
prx was already taken).
For the interactive TUI browser:
pip install 'prx-cli[tui]'
Requires Python 3.10+.
What you can do
- Read + validate any
.prxbundle — L0/L1/L2 structural checks - Verify attestations — Ed25519 JWS signatures and per-file attestations
- Diff and merge bundles — compute consensus + disagreement between research runs
- Publish to prxhub — share, tag, collection-assign, fork, star
- Manage signing keys — generate, list, register with the hub, revoke
- Browse visually — a terminal UI for exploring bundle contents (with
[tui]extra)
Quick start
Working with local bundles
# Inspect the contents
prx read results.prx
# Structural validation (L0/L1/L2)
prx validate results.prx
# Verify Ed25519 attestations
prx verify results.prx
# Diff two bundles — shows added/removed claims and provider drift
prx diff a.prx b.prx
# Merge bundles — combines providers, claims, and sources
prx merge a.prx b.prx -o combined.prx
# Export for sharing
prx export results.prx --format markdown
Publishing to prxhub
# One-time setup — interactive config for API key and signing identity
prx config
# Generate a signing keypair (stored in ~/.config/prx/)
prx keys generate
# Publish a bundle
prx publish results.prx --visibility public --tags "consensus,distributed-systems"
# Publish directly into a collection (created if missing)
prx publish results.prx --collection ai-safety
# Search the hub
prx search "quantum computing"
# Clone someone else's bundle
prx clone alice/quantum-consensus
Repositories, branches, merge requests
prxhub supports Git-style collaboration on research. See docs/PRXHUB.md for the full workflow.
prx repo create my-research --description "Ongoing literature review"
prx branch create alice/my-research experiment
prx push results.prx --repo my-research --branch experiment
prx mr create alice/my-research --source experiment --target main
Terminal UI
prx open
Browse installed bundles, read synthesis + per-provider reports, and search hub content without leaving the terminal. See docs/TUI-GUIDE.md.
Commands
Bundle tools (offline)
| Command | Purpose |
|---|---|
prx read <bundle> |
Display bundle contents (query, providers, synthesis) |
prx validate <bundle> |
Structural validation (L0/L1/L2) |
prx verify <bundle> |
Verify cryptographic attestations |
prx diff <a> <b> |
Compare two bundles |
prx merge <a> <b> -o <out> |
Merge providers, claims, sources |
prx export <bundle> |
Export to markdown / JSON |
prx list <dir> |
List bundles in a directory |
prx open |
Terminal UI browser (requires [tui]) |
Hub commands
| Command | Purpose |
|---|---|
prx config |
Interactive configuration |
prx publish <bundle> |
Upload to prxhub |
prx search <query> |
Search published bundles |
prx clone <owner/repo> |
Download a published bundle |
prx fork <owner/repo> |
Fork for follow-on research |
prx star <owner/repo> |
Star a bundle |
prx repo <subcmd> |
Repository management |
prx branch <subcmd> |
Branch management |
prx push <bundle> |
Push to a repo branch |
prx mr <subcmd> |
Merge request management |
Key management
| Command | Purpose |
|---|---|
prx keys generate |
Generate an Ed25519 signing keypair |
prx keys list |
List local keys |
prx keys register |
Register a public key with prxhub |
prx keys revoke |
Revoke a registered key |
Run prx <command> --help for full flags.
Configuration
prx config writes to ~/.config/prx/config.toml:
- prxhub API key — for publishing and hub operations (get one at prxhub.com)
- Default visibility —
public,unlisted, orprivate - Signing identity — name or email embedded in bundle attestations
Documentation
- Format Guide —
.prxbundle structure - TUI Guide — terminal UI reference
- prxhub Guide — publishing, collections, repos, merge requests
Development
git clone https://github.com/parallect/prx.git
cd prx
uv sync --group dev
uv run pytest tests/ -x -q
uv run ruff check src/ tests/
Contributing
Contributions welcome — see CONTRIBUTING.md. For security reports, email security@parallect.ai.
License
MIT — see LICENSE.
Built by SecureCoders. A hosted managed version is available at parallect.ai — same .prx output, with a multi-provider research API, billing, and a web dashboard.
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 prx_cli-0.1.0.tar.gz.
File metadata
- Download URL: prx_cli-0.1.0.tar.gz
- Upload date:
- Size: 70.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a0f2a4f8723cc4821ad8f19e376dca54eb5127a876d6aee8e52a86aecbe3727
|
|
| MD5 |
57c8d495385175b113b259a2dc99fde7
|
|
| BLAKE2b-256 |
b1b2051e8b1dcd2fe52146d763f04208cc7c68f23a95de9249da3725c038e6e5
|
Provenance
The following attestation bundles were made for prx_cli-0.1.0.tar.gz:
Publisher:
release.yml on parallect/prx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prx_cli-0.1.0.tar.gz -
Subject digest:
6a0f2a4f8723cc4821ad8f19e376dca54eb5127a876d6aee8e52a86aecbe3727 - Sigstore transparency entry: 1320405406
- Sigstore integration time:
-
Permalink:
parallect/prx@db94f206608c6de80fbd5e2a414314baa8c78c73 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/parallect
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@db94f206608c6de80fbd5e2a414314baa8c78c73 -
Trigger Event:
push
-
Statement type:
File details
Details for the file prx_cli-0.1.0-py3-none-any.whl.
File metadata
- Download URL: prx_cli-0.1.0-py3-none-any.whl
- Upload date:
- Size: 36.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 |
9606a502519878fd92c1076b305ce6aee1bcaba225260e2638c1964549dee141
|
|
| MD5 |
1cea469b175d1ed83f5127e25b35500a
|
|
| BLAKE2b-256 |
b3958c595a38a95e3f3bfe80fdb7a8fae3466747f39c390fe3a560e5a185dda3
|
Provenance
The following attestation bundles were made for prx_cli-0.1.0-py3-none-any.whl:
Publisher:
release.yml on parallect/prx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
prx_cli-0.1.0-py3-none-any.whl -
Subject digest:
9606a502519878fd92c1076b305ce6aee1bcaba225260e2638c1964549dee141 - Sigstore transparency entry: 1320405478
- Sigstore integration time:
-
Permalink:
parallect/prx@db94f206608c6de80fbd5e2a414314baa8c78c73 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/parallect
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@db94f206608c6de80fbd5e2a414314baa8c78c73 -
Trigger Event:
push
-
Statement type: