Skip to main content

.prx format toolkit and prxhub CLI

Project description

prx

PyPI version Python License CI

Toolkit and hub CLI for the Portable Research eXchange (.prx) format.

PRX is an open format for packaging AI-generated research so it can be shared, verified, and attributed back to the providers and sources behind every claim — privately within a team or publicly to the world. prx is the toolkit for working with those archives: read, validate, diff, merge, sign, and publish.

It pairs naturally with parallect (which produces .prx bundles from multi-provider research runs) and prxhub (the public registry for sharing them).

$ 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 .prx bundle — 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 visibilitypublic, unlisted, or private
  • Signing identity — name or email embedded in bundle attestations

Documentation

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prx_cli-0.2.0.tar.gz (84.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prx_cli-0.2.0-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

Details for the file prx_cli-0.2.0.tar.gz.

File metadata

  • Download URL: prx_cli-0.2.0.tar.gz
  • Upload date:
  • Size: 84.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for prx_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 818ea5f8751e349ab4d4b6e0775313a57ed890bff0b68ef11dd08308012dd8da
MD5 6940d85344ae18042ddc29231f0ffcf0
BLAKE2b-256 81599455f9c534e6add1f105b788fa3afd899082a8ad3cbf9335a3e18cdc7444

See more details on using hashes here.

Provenance

The following attestation bundles were made for prx_cli-0.2.0.tar.gz:

Publisher: release.yml on parallect/prx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file prx_cli-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: prx_cli-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 36.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for prx_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f82205ed8d6cf7e01911cf737430880c8ad3f8b95eca26f63fe9ee4e2472e55
MD5 b4d4551dce38ccc2fb2cf0d9510c1849
BLAKE2b-256 d07080031e3ba2ff70429288c51f89510563dca05dc6c7df40f6de24ffc7e985

See more details on using hashes here.

Provenance

The following attestation bundles were made for prx_cli-0.2.0-py3-none-any.whl:

Publisher: release.yml on parallect/prx

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page