Skip to main content

rgw-cli-contract

rgw-cli-contract is the shared runtime and scaffolding contract for Ryan's Python CLI/TUI apps.

It has two jobs:

  • provide a small runtime layer for exact -h, -v, -u, and conf
  • sync canonical root files such as install.sh, push_release_upgrade.sh, and baseline contract tests into app repos

Runtime

from pathlib import Path

from rgw_cli_contract import AppSpec, run_app

APP_SPEC = AppSpec(
    app_name="demo",
    version="0.0.0",
    help_text="demo\n",
    install_script_path=Path(__file__).resolve().with_name("install.sh"),
    no_args_mode="dispatch",
)


def dispatch(argv: list[str]) -> int:
    print(argv)
    return 0


raise SystemExit(run_app(APP_SPEC, ["-h"], dispatch))

Sync

Create cli_contract.toml in an app repo, then run:

PYTHONPATH=src python -m rgw_cli_contract.sync /path/to/app

Supported install strategies:

  • standalone-binary for tagged release bundles that contain <app>/<app>
  • python-source for tagged source bundles that contain main.py and _version.py

Source installers may also inline small app-specific hook snippets through optional install_*_path keys in cli_contract.toml.

Use --check to fail when managed files have drifted.

Metadata

Release files for rgw-cli-contract 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rgw-cli-contract 0.1.2
File Size Uploaded
rgw_cli_contract-0.1.2.tar.gz 12.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rgw-cli-contract 0.1.2
File Interpreter ABI Platform
rgw_cli_contract-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 29.6 kB

Release files / rgw_cli_contract-0.1.2.tar.gz

Download URL rgw_cli_contract-0.1.2.tar.gz
Size 12.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ef108c7f53e1ee9a1c45ae7038e13fd01428c15599ce4984ffd62e9348dfe8fe
BLAKE2b-256 checksum
How to use checksums
1e326f9a78e9d93a62a07d783a650e78175d68bc0678f2c5cf0f184a04e42537
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / rgw_cli_contract-0.1.2-py3-none-any.whl

Download URL rgw_cli_contract-0.1.2-py3-none-any.whl
Size 17.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9745bf22514080372d2bb964460d20b2f1bc4b3d9585d42bf01b0fff2c36e13c
BLAKE2b-256 checksum
How to use checksums
63d2e1ec4fb66cada71b7b7f49dacc2490926155bbca2d36b029b6ff37f7eb94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page