Metadata-Version: 2.1
Name: arc-cli
Version: 6.4.0
Summary: A Regular CLI
Home-page: https://github.com/seanrcollings/arc
License: MIT
Keywords: CLI,extendable,easy,arc
Author: Sean Collings
Author-email: seanrcollings@gmail.com
Requires-Python: >=3.9,<4.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Project-URL: Documentation, https://github.com/seanrcollings/arc/wiki
Description-Content-Type: text/markdown

# ARC: A Regular CLI
A tool for building declartive, and highly extendable CLI systems for Python 3.9

# ARC Features
- Command line arguments based on python type hints
- Arbitrary command nesting
- Automatic `--help` documentation
- Dynamic command loading at runtime

# [Docs](http://arc.seanrcollings.com)

# Quick Start

```py
import arc

@arc.command()
def hello(name: str):
    """My first arc program!"""
    print(f"Hello {name}!")

hello()
```

```
$ python example.py hello Sean
Hello, Sean!
```

```
$ python example.py --help
USAGE
    manage.py [--help] [--] <name>

DESCRIPTION
    My first arc program!

ARGUMENTS
    name

OPTIONS
    --help (-h)  Shows help documentation
```

# Installation

```
$ pip install arc-cli
```

Clone for development
```
$ git clone https://github.com/seanrcollings/arc
$ poetry install
```

# Tests
Tests are written with `pytest`
```
$ pytest
```

# Attribution
Much of arc's architecture is based on [click](https://click.palletsprojects.com/en/8.0.x/), though no code is lifted directly from click's source.

