Skip to main content

PyPI launcher for the ReplyLayer CLI

Project description

rly

rly is the PyPI launcher for the ReplyLayer CLI.

pipx install rly
rly --help

On Debian and Ubuntu systems that enforce PEP 668, plain pip install rly may fail with externally-managed-environment. Use pipx install rly for a global CLI install, or install inside a virtual environment:

python3 -m venv .venv
. .venv/bin/activate
pip install rly

The installed rly command delegates to the official npm package replylayer, pinned exactly to the matching launcher version (see Strict pin policy below).

Requirements

  • Python 3.10+
  • Node.js 22+ with npm/npx on PATH
  • pipx for the recommended global install path

Examples

rly auth login
rly mailbox list
rly inbox list --mailbox support-bot

For full CLI documentation, see the ReplyLayer repository: https://github.com/replylayer/ReplyLayer

Environment variables

RLY_TIMEOUT_SECONDS

Opt-in subprocess timeout, in seconds. When set, every rly invocation is bounded by subprocess.run(..., timeout=RLY_TIMEOUT_SECONDS); if the underlying npx process does not exit in time the launcher prints a diagnostic to stderr and exits with code 124.

By default there is no timeout, with one narrow exception: the help and version short-circuits (--help, -h, --version, -V) carry a built-in 10-second timeout. Those commands should never need to touch the network beyond an initial registry resolve; bounding them lets you diagnose a restricted-network sandbox without affecting legitimate long-poll commands like rly inbox wait --timeout 60.

RLY_TIMEOUT_SECONDS=30 rly inbox list --mailbox support-bot

Set the value high enough to cover the slowest command you reasonably expect. Setting it to a non-integer string is treated as "no timeout" (graceful fallback rather than a launcher crash).

RLY_OFFLINE

Set RLY_OFFLINE=1 to force npx to resolve replylayer from the local cache only. The launcher passes both --offline on the command line and npm_config_offline=true in the subprocess environment (belt-and-suspenders; --prefer-offline is NOT a no-network guarantee).

If the pinned replylayer version isn't cached locally, npx exits fast with its own non-zero exit code (typically 1 with ENOTCACHED); the wrapper passes that exit code through verbatim — it does NOT normalize it to 124. Exit code 124 is reserved for the wrapper's own timeout branch.

# Populate the cache once, online:
rly --version
# Subsequent calls can run offline:
RLY_OFFLINE=1 rly --version

RLY_OFFLINE=1 is useful in network-restricted CI sandboxes, air-gapped deployments, or any environment where you want a hard guarantee that the launcher will not reach out to the npm registry.

Strict pin policy

rly@X.Y.Z always resolves replylayer@X.Y.Z exactly — there is no @latest resolution and no semver range. The launcher computes the pinned package string at runtime via importlib.metadata.version('rly'), so the two artifacts always move together.

This means:

  • A published rly@X.Y.Z cannot ride a later patch-level replylayer release; both packages must be republished together. The matched-pair release runbook lives at docs/runbooks/cli-release.md in the ReplyLayer repository.
  • Source installs from the repository between a launcher-only PR and the paired version bump are intentionally unsupported. Use pipx install rly (PyPI) or npm install -g replylayer (npm) as the supported install paths.

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

rly-0.2.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distributions

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

rly-0.2.0-py3-none-win_amd64.whl (31.1 MB view details)

Uploaded Python 3Windows x86-64

rly-0.2.0-py3-none-manylinux_2_28_x86_64.whl (39.2 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

rly-0.2.0-py3-none-manylinux_2_28_aarch64.whl (38.8 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

rly-0.2.0-py3-none-macosx_14_0_x86_64.whl (36.6 MB view details)

Uploaded Python 3macOS 14.0+ x86-64

rly-0.2.0-py3-none-macosx_14_0_arm64.whl (34.7 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for rly-0.2.0.tar.gz
Algorithm Hash digest
SHA256 51b5bc4aea5ca08fc8f6c30175d52d8595d66ae34e7747adf1b9559deddc2e76
MD5 a2902c3c23e3d2435e86e4ab2e436ce5
BLAKE2b-256 5725f76fd7733b1bc288a2203077ec7cb06cf9c2215615a5c1c5d36e5c1e5b3c

See more details on using hashes here.

Provenance

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

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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

File details

Details for the file rly-0.2.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: rly-0.2.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 31.1 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rly-0.2.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ee055bb77599db13d742304c6f5815d9626d19e29fe039e08237f6e7023d366b
MD5 fd4897c32d91457f9bc5587356c24318
BLAKE2b-256 9a3f2e1c166d39a83f8f9552c26a6bc686d05d748fd36462d0e45547cc683822

See more details on using hashes here.

Provenance

The following attestation bundles were made for rly-0.2.0-py3-none-win_amd64.whl:

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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

File details

Details for the file rly-0.2.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: rly-0.2.0-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 39.2 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rly-0.2.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6decea03dccc7b9fec079631e838a67f3f35aaee4c7b2c5c6f6d534f5e44e8eb
MD5 f8ee9088ebf2b3f9d49ef5ad96d6a5ff
BLAKE2b-256 a63769fc90c694f727185bc311c1b179ec927981ec9182ce81dc6faa2bce2ba3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rly-0.2.0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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

File details

Details for the file rly-0.2.0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: rly-0.2.0-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 38.8 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rly-0.2.0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83faee6974f1c71480a66ed5abd7b7fc0887b7e8b50736d9ae059d5a994bce65
MD5 8a682773f814dc1bb587766fcda51858
BLAKE2b-256 8aae13997e89c7e9a72ca3fb6e69179b0ec301a3a449b0d16578a14489dd2eee

See more details on using hashes here.

Provenance

The following attestation bundles were made for rly-0.2.0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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

File details

Details for the file rly-0.2.0-py3-none-macosx_14_0_x86_64.whl.

File metadata

  • Download URL: rly-0.2.0-py3-none-macosx_14_0_x86_64.whl
  • Upload date:
  • Size: 36.6 MB
  • Tags: Python 3, macOS 14.0+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rly-0.2.0-py3-none-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 6a4ca685863822cd0a46d27fcb7cb4eeb078cc2aa3e86e74ba7e8cdf076333d4
MD5 84f96b32668e4be69d7480b3b69d4775
BLAKE2b-256 136be18dce0554bb659f8744f2df7baa305be44c2bca6ab16536e7b8ca1830eb

See more details on using hashes here.

Provenance

The following attestation bundles were made for rly-0.2.0-py3-none-macosx_14_0_x86_64.whl:

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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

File details

Details for the file rly-0.2.0-py3-none-macosx_14_0_arm64.whl.

File metadata

  • Download URL: rly-0.2.0-py3-none-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 34.7 MB
  • Tags: Python 3, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rly-0.2.0-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 36f33266f4eb90a2538c19c6f1ab80342c5a291725550f3fa5cd30598e71215c
MD5 f36089f2140091e6656df14a05682eb8
BLAKE2b-256 6af8733352857448e8c6ee0ec57956174664e419e1b61eb63d4f689ecd6bc032

See more details on using hashes here.

Provenance

The following attestation bundles were made for rly-0.2.0-py3-none-macosx_14_0_arm64.whl:

Publisher: release-cli-binaries.yml on replylayer/ReplyLayer

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