Skip to content

CLI automatically created from function via introspection

License

Notifications You must be signed in to change notification settings

tangledpath/auto-cli-py

Repository files navigation

auto-cli-py

Python Library that builds a complete CLI given one or more functions.

Most options are set using introspection/signature and annotation functionality, so very little configuration has to be done.

Setup

@@DEPRECATED; USE https://github.com/tiangolo/typer-cli instead.

TL;DR Install for usage

# Install from github
pip install auto-cli-py

# See example code and output
python examples.py

In python code

Development

Pytest

https://docs.pytest.org/en/latest/

Python (Anaconda) environment

(assumes anaconda is properly installed)

# First time. Create conda environment from environment.yml and activate it:
conda env create -f environment.yml -n auto-cli-py
conda activate auto-cli-py
# If environment changes:
conda activate auto-cli-py
conda env update -f=environment.yml
# -- OR remove and restart --
conda remove --name auto-cli-py --all
conda env create -f environment.yml

Activate environment

conda activate auto-cli-py

# This symlinks the installed auto_cli package to the source:
pip install -e .

Preparation

conda activate auto-cli-py

Linting and Testing

pytest behavior and output is controlled through auto_cli/tests/pytest.ini

# Lint all code:
pylint auto_cli

# Run all tests
pytest

# See more options for pytest:
pytest --help

# This is handy:
pytest --fixtures-per-test

Installation (other)

# AND/OR Install from a specific github branch
pip uninstall auto-cli-py
pip install git+https://github.com/tangledpath/auto-cli-py.git@features/blah

About

CLI automatically created from function via introspection

Resources

License

Stars

Watchers

Forks

Packages

No packages published