Skip to main content

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.

Fork, clone, and configure the autonomy bootcamp repository:

warg bootcamp
warg bootcamp my-bootcamp

This forks UWARG/autonomy-bootcamp into your account with the gh CLI, clones the fork, and sets origin to your fork and upstream to the original repository. It needs gh installed and logged in. See the bootcamp repository for details.

Check the machine for common dev environment problems:

warg doctor
warg doctor --verbose

Doctor checks the tools the CLI depends on (Git, uv, Docker, gh), SSH access to GitHub, and the current clone's remote, Git identity, and checked-out projects. Each result is marked ok, warn, or fail, with a suggested fix for anything that isn't ok. The command exits non-zero only when a check fails. Run it from inside a clone to include the repository checks; elsewhere they are skipped. --verbose prints the output of every command doctor ran.

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"

Metadata

Release files for warg-cli 0.1.3

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

Source distribution (sdist)

Source distribution for warg-cli 0.1.3
File Size Uploaded Provenance Actions
warg_cli-0.1.3.tar.gz 40.3 kB With provenance Details for warg_cli-0.1.3.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for warg-cli 0.1.3
File Interpreter ABI Platform Actions
warg_cli-0.1.3-py3-none-any.whl Python 3 none any Details for warg_cli-0.1.3-py3-none-any.whl

Total release size: 62.2 kB

Release files / warg_cli-0.1.3.tar.gz

Download URL warg_cli-0.1.3.tar.gz
Size 40.3 kB
Tags Source
SHA-256 checksum
How to use checksums
9856f9e7b3f6385b1cd3c605e1bc76d668ade63bae72788c23eed35385a6ae39
BLAKE2b-256 checksum
How to use checksums
dd4cb8f3cac681d7a521c6258132b4e0ab40512ded38c64fc3d9326da35fdc62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Release files / warg_cli-0.1.3-py3-none-any.whl

Download URL warg_cli-0.1.3-py3-none-any.whl
Size 21.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5b62f3901d318953a293703573c10cedfd108f0d9d5c96f824206ba7f31cdc35
BLAKE2b-256 checksum
How to use checksums
73482bbef1a93074955ee13ef7baf4219ab35cbc6237f06e8d75ab05b971f789
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

Security for warg-cli 0.1.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for warg_cli-0.1.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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