Skip to main content

CLI for installing RevoData modules

Project description

Revo Modules

Revo Modules is a Python CLI for listing and installing module bundles from a registry. It is built with Typer and uses Pydantic models for configuration.

Requirements

  • Python 3.12+
  • uv

Setup

uv sync

Usage

uv run revo --help

List modules from the default registry repository.

uv run revo modules list

Show module descriptions in the output.

uv run revo modules list --show-description

Generate an install plan for a specific module.

uv run revo modules install example-module

Write the plan to a specific path and skip writing files.

uv run revo modules install example-module --plan-output ./plan.json --dry-run

By default the install plan is written under the user cache directory in revo-modules/plans/<module_id>.json. Use --plan-output to override the path or --dry-run to avoid writing the plan.

Registry sources

Registry URLs can point to:

  • GitHub repositories, which are resolved to raw registry files.
  • Direct HTTP(S) URLs to registry YAML files.
  • Local files via file:// URLs or file paths.
  • Bundled package examples via package://example_registry.yml.

Manifest URLs support the same URL forms. GitHub blob URLs are automatically converted to raw content URLs.

Local registry fallback for tests

For testing purposes, you can allow a fallback to the bundled example registry by setting the following environment variables:

export REVO_MODULES_ENV=test
export REVO_MODULES_ALLOW_LOCAL_REGISTRY_FALLBACK=1

The bundled registry entry points to package://example_manifest.yml, so the example manifest stays self-contained for offline testing.

Demo repository

The demo_repo/ folder is a fictional project that we use to manually validate module installs. It includes a .just/justfile with a known anchor for the example manifest. Run the CLI against it with the local registry fallback:

cd demo_repo
REVO_MODULES_ENV=test REVO_MODULES_ALLOW_LOCAL_REGISTRY_FALLBACK=1 \
  uv run revo modules install example-module

Testing

uv run pytest

Development

Format and lint with Ruff.

uv run ruff format .
uv run ruff check .

Type check with Pyright.

uv run pyright

Run pre-commit checks.

just precommit

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

revo_module_installer-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

revo_module_installer-0.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file revo_module_installer-0.1.0.tar.gz.

File metadata

  • Download URL: revo_module_installer-0.1.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for revo_module_installer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f402d9dc58604e281ecf4ebdefbb9a597f0ffc3300410b6f51e44bd20f61b506
MD5 c9c61f27ea616e9c3c11546a4fc3be00
BLAKE2b-256 f49affbaa9eb5a3c57cee2aed1cc8b66a1c574d2480fae2c5e50cb2cfd0d0c9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for revo_module_installer-0.1.0.tar.gz:

Publisher: publish.yml on revodatanl/revo-module-installer

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

File details

Details for the file revo_module_installer-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for revo_module_installer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2d2f45a573b00e75deceb37af3def817342d6e82a81d7b0465bbdc99e0671b8
MD5 d99e2f24a850d0b38ea6bc0d625b3cab
BLAKE2b-256 fd9111a5a0c46ce6def71a220b159e4a58e0a39e02cab877e997ef48c3b213d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for revo_module_installer-0.1.0-py3-none-any.whl:

Publisher: publish.yml on revodatanl/revo-module-installer

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