Skip to content

mpowelson/arm-cli

Repository files navigation

arm-cli

PyPI Changelog Tests CodeQL Analysis License

An experimental CLI for deploying robotic applications with opinionated defaults tailored for the ARM ecosystem.

Installation

Install this tool using pip:

pip install arm-cli

Once installed, setup the CLI initially by running arm-cli system setup. You may need to rerun if you update the CLI via pip. This will do things like configure system settings to enable tab complete.

Note: If you installed the CLI with pip install --user, you may need to manually run the local bin version the first time:

~/.local/bin/arm-cli system setup

Usage

Initial Setup

For help, run:

arm-cli --help

You can also use:

python -m arm_cli --help

Container Management

The CLI includes tools for managing Docker containers:

# List running containers
arm-cli container list

# Attach to a container interactively (sources ROS and interactive entrypoints)
arm-cli container attach

# Restart a container
arm-cli container restart

# Stop a container
arm-cli container stop

For more details on container compliance, see arm_cli/container/readme.md.

Development

To contribute to this tool, first checkout the code. Then create a new virtual environment. From the root of the repo:

cd arm-cli
python -m venv venv
source venv/bin/activate

Now install the dependencies and test dependencies:

pip install -e '.[dev]'

To run the tests:

python -m pytest

Git hooks (pre-commit)

This repository includes a .pre-commit-config.yaml to enforce code style and basic quality checks locally.

# Install the pre-commit framework in your development environment
pip install pre-commit

# Register the Git hooks for this repository
pre-commit install

# (Optional) Run against all files once
pre-commit run --all-files

Troubleshooting

  • If editable install fails, ensure you have a modern toolchain:
    python -m pip install --upgrade pip setuptools wheel build setuptools-scm
  • If the reported version is 0+unknown, ensure you're working from a Git checkout with tags available:
    git fetch --tags --force

About

Experimental CLI for deploying robotic applications

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •