Skip to main content

WARG autonomy monorepo developer CLI

Project description

WARG CLI

warg-cli provides the warg command for working with the WARG autonomy monorepo. It reads the root projects.toml, loads each project's warg.toml, resolves project dependencies, manages Git sparse-checkout paths, and runs project-defined commands.

Installation

Install from PyPI:

uv tool install warg-cli

Commands

Clone the WARG monorepo with sparse checkout enabled:

warg clone
warg clone autonomy-monorepo
warg clone git@github.com:warg/autonomy-monorepo.git

Only root files such as README.md and projects.toml are checked out initially. Project directories stay absent until they are materialized. When called without a repository, warg clone opens a searchable list of repositories in the UWARG GitHub organization, sorted by most recently updated first. You can also pass a UWARG repository name instead of a full clone URL.

List registered projects:

warg list

Materialize a project and its dependencies:

warg up gesture_control

Unload a project from sparse checkout:

warg down gesture_control

Projects that depend on the unloaded project are unloaded too, with a warning. Pass --include-dependencies to also unload checked-out dependencies.

Inspect a project's manifest metadata:

warg info gesture_control

Run commands defined in a project's warg.toml:

warg run camera test
warg run camera test:unit
warg run mavlink_comm lint -- --fix

If warg up or warg run is called without a project or command where one can be selected interactively, the CLI prompts for a choice.

Project commands

The CLI does not hardcode command names such as test, lint, or run. Projects define their own command surface in warg.toml:

[commands]
setup = "uv sync"
test = "uv run pytest"
run = "uv run python -m gesture_control"
lint = "uv run ruff check ."

warg up <project> runs setup for the project and its dependencies every time, keeping already-materialized projects in sync with their current setup commands.

Development

From the monorepo root directory:

warg run warg_cli setup
warg run warg_cli test
warg run warg_cli run -- --help

The package exposes the CLI entry point from pyproject.toml:

[project.scripts]
warg = "cli:app"

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

warg_cli-0.1.1.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

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

warg_cli-0.1.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file warg_cli-0.1.1.tar.gz.

File metadata

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

File hashes

Hashes for warg_cli-0.1.1.tar.gz
Algorithm Hash digest
SHA256 e9a079b78691c83b56d77210160feb46b8800e16cc69a80be7d2a3833cef60cc
MD5 bcca546014a139428fad5bf46aeff1d8
BLAKE2b-256 0667aa4957fa50e29a1181c545ae42788a70150a18993e0da9e89b81be0cc6fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for warg_cli-0.1.1.tar.gz:

Publisher: publish-warg-cli.yml on UWARG/autonomy-monorepo

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

File details

Details for the file warg_cli-0.1.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for warg_cli-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fa169a0919611cbd6d4dad49da4b298bc4710443be7e5967e535dbc19d81952a
MD5 aedcd5828898567b5801c2f46285f744
BLAKE2b-256 5770c4d832f8ca5890084acbbdb69bc18f663093efbc42a9e9bd4f8181d882b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for warg_cli-0.1.1-py3-none-any.whl:

Publisher: publish-warg-cli.yml on UWARG/autonomy-monorepo

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