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.2.tar.gz (30.5 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.2-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: warg_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 30.5 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.2.tar.gz
Algorithm Hash digest
SHA256 65aae57c77db6f4398beb3bb01422a0d77e5f569f5c97b666eeabc2ff30cfb1c
MD5 274202771977ba7cfb0c7bf1a9b170ab
BLAKE2b-256 bf3f5cea1a81c28673334596fb896574d491d3c2ab5757726529ec22b0522213

See more details on using hashes here.

Provenance

The following attestation bundles were made for warg_cli-0.1.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: warg_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 15.9 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5f4c93c5dc838f668b9dade28f8a7c0aa9a1578caa730ef7cad086df47680334
MD5 a012c0a1516506e64c03d96eda7b30af
BLAKE2b-256 672d7c0c924657c6ddd464475196bca02c81762e8126ffb6d74dcd8bd601852e

See more details on using hashes here.

Provenance

The following attestation bundles were made for warg_cli-0.1.2-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