Skip to main content

Relay CLI (rly): Apache 2.0 control surface for the Relay agent reliability OS.

Project description

epochly-relay-cli

The rly command-line interface for the Relay agent reliability OS.

This package ships the public Apache 2.0 control surface declared in spec section P (CLI inventory + contract). The W5 milestone (sub-features w5.1 through w5.5) wires the CLI onto the Python SDK (epochly-relay), the canonical schemas (epochly-relay-schemas), and the local sidecar (epochly-relay-sidecar).

Installation (development)

uv sync --all-packages
uv pip install -e packages/cli

After install, rly --version prints version JSON to a piped stdout and a human-readable form to a TTY. Exit code is always 0 on success.

Why JSON-by-default

Relay is a control-plane CLI consumed by CI runners, gate engines, auditors, and other automation. Spec section P pins the rule that piped stdout is machine-parsable JSON; TTY stdout is permitted to render human-readable text. This package implements the rule via sys.stdout.isatty() detection at output emit time.

Why Typer + Click pinned to exact versions

Per VAL-W5-002 (eng plan CQ3), Typer and Click are pinned with the exact operator (==) rather than a range. The CLI's stdout-JSON contract and cross-shell snapshot fixtures depend on Typer's command dispatch and --help rendering; an upstream version bump would invalidate the snapshots. Bumping Typer or Click is a deliberate W5 maintenance feature, not an unattended dependency upgrade.

Process safety

Per CLAUDE.md keystone invariant #3 and .ops/manifest.yaml, sidecar lifecycle commands (rly sidecar start|stop|restart|status) read PID and port from ~/.relay/sidecar.lock and never invoke kill-by-name primitives (pkill, killall). The full lifecycle implementation lands in W5.2.

Banned product copy

This package and every customer-facing surface produced by its distribution pipeline (PyPI long_description, npm description, release notes, embedded sidecar binary string resources) is scrubbed of the banned tokens enumerated in CLAUDE.md (banned pattern #9, spec J.5). The scripts/lint-banned-product-copy.py lint runs in tier-1 plumbing and fails CI on any match.

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

epochly_relay_cli-0.1.9.tar.gz (130.1 kB view details)

Uploaded Source

Built Distribution

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

epochly_relay_cli-0.1.9-py3-none-any.whl (158.3 kB view details)

Uploaded Python 3

File details

Details for the file epochly_relay_cli-0.1.9.tar.gz.

File metadata

  • Download URL: epochly_relay_cli-0.1.9.tar.gz
  • Upload date:
  • Size: 130.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for epochly_relay_cli-0.1.9.tar.gz
Algorithm Hash digest
SHA256 46d33e6609f82326d9c611e07213e380297f378227e7c592ff81d284d9fa751f
MD5 75c9a48cc8dbae6c4987da0602edbe2e
BLAKE2b-256 b02be2eaa70283e5257a2a72ffff97c7e43c1e585134f86884a6c9e8bda632a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for epochly_relay_cli-0.1.9.tar.gz:

Publisher: release-pypi.yml on epochly-inc/relay

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

File details

Details for the file epochly_relay_cli-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for epochly_relay_cli-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6aa2f23424797e66fd1c88efd54ff07c10d83d02115930fb5b2099be656c051d
MD5 00cb07281a5a8b0f6ecd70ba2c57513f
BLAKE2b-256 8888ea166c55a63a087e3aeb4aad521db13557f37577b49a8f7233e8abab122b

See more details on using hashes here.

Provenance

The following attestation bundles were made for epochly_relay_cli-0.1.9-py3-none-any.whl:

Publisher: release-pypi.yml on epochly-inc/relay

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