Metadata-Version: 2.1
Name: pyclier
Version: 1.0.0
Summary: A python CLI framework base on argparse, supporting: config system, command-completion, rich-text log and so on.
Home-page: https://github.com/zhangxianbing/pyclier
Author: zhangxianbing
License: Apache License 2.0
Description: # Pyclier
        
        A python CLI framework base on [argparse](https://docs.python.org/3/library/argparse.html), supporting: config system, command-completion, rich-text log, friendly help message prompt and so on.
        
        > Note: This project was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter) and the [`zhangxianbing/cookiecutter-pypackage`](https://github.com/zhangxianbing/cookiecutter-pypackage) project template.
        
        ## Features
        
        - [x] support friendly help message prompt
        - [x] support configuration file parsing system
        - [x] support easy-to-use interface for building complex CLI program
        - [x] support rich-text and flexible log system (base on [rich](https://github.com/willmcgugan/rich))
        - [x] support command auto-completion (base on [argcomplete](https://github.com/kislyuk/argcomplete))
        
        ## Quick Start
        
        ### Installation
        
        ```bash
        
        pip install pyclier
        
        ```
        
        For using auto completion, you should first install [argcomplete](https://github.com/kislyuk/argcomplete) and the activate it:
        
        ```bash
        pip install argcomplete
        activate-global-python-argcomplete
        ```
        
        Then add the following lines in your setup.py:
        
        ```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"])
        
        ```
        
        ### Run demo
        
        ```bash
        cd pyclier-demo && make install
        # then refresh your bash environment
        pyclier -h
        ```
        
Keywords: options,argparse,config,cli,YAML,INI
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.6
Description-Content-Type: text/markdown
