Metadata-Version: 2.1
Name: arc-cli
Version: 8.6.0
Summary: Package for creating CLI's with ease.
Home-page: https://github.com/seanrcollings/arc
License: MIT
Author: Sean Collings
Author-email: me@seancollings.dev
Requires-Python: >=3.10,<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.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Typing :: Typed
Project-URL: Documentation, https://arc.seancollings.dev
Description-Content-Type: text/markdown

# ARC
A tool for building declarative, and highly extendable CLI systems for Python 3.10+

# ARC Features
- Command line arguments based on python type hints
- Arbitrary command nesting
- Automatic `--help` documentation
- Fully Extensible with custom middlewares,  types, validators, parameter configurations, etc...

# Links
- [Docs](https://arc.seancollings.dev)
- [Playground](https://playground.arc.seancollings.dev)
- [PyPi](https://pypi.org/project/arc-cli/)


# Quick Start

```py
import arc

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

hello()
```

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

```
$ python hello.py --help
USAGE
    hello.py [-h] [--] name

DESCRIPTION
    My first arc program!

ARGUMENTS
    name

OPTIONS
    --help (-h)  Displays this help message
```

# Installation

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

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

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

