Metadata-Version: 2.4
Name: targ
Version: 0.5.0
Summary: Build a Python CLI for your app, just using type hints and docstrings.
Home-page: https://github.com/piccolo-orm/targ/
Author: Daniel Townsend
Author-email: dan@dantownsend.co.uk
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.9.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: colorama==0.4.*
Requires-Dist: docstring-parser>=0.12
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

![Logo](https://raw.githubusercontent.com/piccolo-orm/targ/master/docs/logo_hero.png "Targ Logo")

# targ

Build a Python CLI for your app, just using type hints and docstrings.

Just register your type annotated functions, and that's it - there's no special
syntax to learn, and it's super easy.

```python
# main.py
from targ import CLI


def add(a: int, b: int):
    """
    Add the two numbers.

    :param a:
        The first number.
    :param b:
        The second number.
    """
    print(a + b)


if __name__ == "__main__":
    cli = CLI()
    cli.register(add)
    cli.run()

```

And from the command line:

```bash
>>> python main.py add 1 1
2
```

To get documentation:

```bash
>>> python main.py add --help

add
===
Add the two numbers.

Usage
-----
add a b

Args
----
a
The first number.

b
The second number.

```

## Documentation

The full documentation is available on [Read the Docs](https://targ.readthedocs.io/en/latest/index.html).
