A python CLI framework base on argparse, supporting: config system, command-completion, rich-text log, friendly help message prompt and so on.
Note: This project was created with Cookiecutter and the
zhangxianbing/cookiecutter-pypackage
project template.
- support friendly help message prompt
- support configuration file parsing system
- support easy-to-use interface for building complex CLI program
- support rich-text and flexible log system (base on rich)
- support command auto-completion (base on argcomplete)
- support auto generating and updating usage (based on auto-usage)
- support updating CLI program
pip install pyclier
For using auto completion, you should first install argcomplete and the activate it:
pip install argcomplete
activate-global-python-argcomplete
Then add the following lines in your setup.py:
from setuptools import setup
setup(...)
# post installation
from pyclier.setuptools import copytree, enable_complete
command = sys.argv[-1]
if command == "install":
copytree("conf", appdirs.user_config_dir(prog_name))
enable_complete(prog_name)
import pip
pip.main(["install", ".", "-U", "--no-index"])
cd pyclier-demo && make install
# then refresh your bash environment
pyclier -h