Skip to main content

Argo CLI

A command-line interface for interacting with Argo.

This project uses UV for dependency management.

Installation

pip install argocli

Authentication

On first-run, you'll be prompted for an Argo API token. This will be stored in your system credential store (e.g. Keychain on Mac OS) in an item called argocli.

Configuration

On first-run, a configuration file will be generated at ~/.config/argocli/config.yaml. In this file you'll need to replace the values of server, namespace, and username with appropriate values.

server: https://your-argo-instance.server.tld
namespace: YOUR_PROJECT_NAMESPACE
username: your.email@example.com

Environment Variables

You can also override configuration values using environment variables. The naming pattern is:

ARGOCLI_<UPPERCASE_CONFIG_KEY>

For example:

  • ARGOCLI_SERVER overrides the server config option
  • ARGOCLI_NAMESPACE overrides the namespace config option
  • ARGOCLI_USERNAME overrides the username config option

This is useful for CI/CD pipelines or for switching between different Argo instances without modifying the config file.

Usage

The Argo CLI follows a command-action pattern for all operations:

argocli <command> <action> [options]

Available Commands

Command Action Description
workflow status Show the status of a specific workflow
workflow list List all workflows with optional name filtering
workflow view View detailed information about a specific workflow

Global Options

  • --verbose: Enable debug output
  • --output [table|json]: Control output format (default: table)
  • --help: Show command help

Examples

Workflow Commands

Show the status of a workflow:

argocli workflow status -n WORKFLOW_NAME

List all workflows:

argocli workflow list

Filter workflows by name (fuzzy match):

argocli workflow list -n cron

List workflows with JSON output:

argocli workflow list --output json

View detailed information about a specific workflow:

argocli workflow view -n WORKFLOW_NAME

View workflow information in JSON format (this will dump the entire workflow object, which is useful for further API work):

argocli workflow view -n WORKFLOW_NAME --output json

Development

Setup Development Environment

# Install dependencies including dev dependencies
uv sync

# Activate the venv
source .venv/bin/activate

# Run tests
uv run pytest

# Run tests with coverage report
uv run pytest --cov=argocli --cov-report=term

Testing

The project uses pytest for unit testing. Tests are organized in a structure that mirrors the main codebase:

  • tests/unit/ - Unit tests
    • commands/ - Tests for command implementations
      • workflow/ - Tests for workflow-related commands
    • core/ - Tests for core functionality

To run specific tests:

# Run tests in a specific file
pytest tests/unit/core/test_client.py

# Run a specific test class
pytest tests/unit/commands/workflow/test_list.py::TestWorkflowList

# Run a specific test method
pytest tests/unit/commands/workflow/test_list.py::TestWorkflowList::test_execute_filtered_list

Project Structure

  • argocli/commands/ - Command implementations
    • workflow/ - Workflow-related commands
  • argocli/__init__.py - Console-script entry point (make_main) and lazy CONFIG/ARGO_CLIENT singletons
  • tests/ - Test directory

Command discovery, argument parsing, and dispatch are provided by the shared cac-core framework.

Adding New Commands

  1. Create a new action module in the appropriate command directory.
  2. Define a class that inherits from the command's base class, named {Command}{Action} (e.g. commands/workflow/list.py → WorkflowList).
  3. Implement define_arguments() and execute(). execute() should return an int exit code (or None for success) and may raise; the framework maps exceptions to exit codes.

Metadata

Release files for argocli 0.5.0

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

Source distribution (sdist)

Source distribution for argocli 0.5.0
File Size Uploaded
argocli-0.5.0.tar.gz 44.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for argocli 0.5.0
File Interpreter ABI Platform
argocli-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 59.0 kB

Release files / argocli-0.5.0.tar.gz

Download URL argocli-0.5.0.tar.gz
Size 44.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ab43772ccb81c8a7051ad41346fd8027c98317ee9b3d2efbb5459065dcffd4cb
BLAKE2b-256 checksum
How to use checksums
b1c6adc934c2ede8ac7abce101fd8788bfa7a00aca6aabbf7e8543d7818d9e2d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 21, 2026.

Transparency log

Release files / argocli-0.5.0-py3-none-any.whl

Download URL argocli-0.5.0-py3-none-any.whl
Size 14.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a0ab7e799c4ee6b365d715675a9600df7efbdec467864897e5f76634299ae55
BLAKE2b-256 checksum
How to use checksums
18988910b92673bb24779c25f856169ce1af83054bc204422d60f23e9c5ac2e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

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