Metadata-Version: 2.1
Name: cli-rack
Version: 0.0.1
Summary: CLI Rack - Lightweight set of tools for building pretty-looking CLI applications in Python
Home-page: https://github.com/corvis/cli-rack
Author: Dmitry Berezovsky
License: MIT
Keywords: python cli terminal modular oop
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Home Automation
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >3.6


CLI Rack
========


.. image:: https://raw.githubusercontent.com/corvis/cli-rack/master/docs/assets/cover-picture.png
   :target: https://raw.githubusercontent.com/corvis/cli-rack/master/docs/assets/cover-picture.png
   :alt: CLI Rack Cover Picture


Lightweight set of tools for creating pretty-looking CLI applications in Python. This library tends to simplify and
unify the approach to structuring CLI related code. At the moment it covers:


* Managing terminal output - verbosity levels, colored output, logger configuration
* Parsing arguments
* Modular application design - each module could extend argument parser with own command
* Modules discovery - scanning packages to find cli extension modules
* Module availability support - module might declare a method to verify if environment is suitable (e.g. all
  dependencies are present). If not, module will be automatically excluded from CLI interface
* Sync and Async execution manager

More details and documentation is here: https://github.com/corvis/cli-rack

Quick examples
--------------

Using unified CLI output:

.. code-block:: python

   from cli_rack import CLI

   CLI.setup()

   CLI.print_info("This is just a message to user")
   CLI.print_warn("This is a warning")
   CLI.print_error("This is an error message")
   CLI.print_error(ValueError("This is an exception"))
   CLI.print_data("This text comes to STDOUT, not STDERR")

Credits
=======


* Dmitry Berezovsky, author

Disclaimer
==========

This module is licensed under MIT. This means you are free to use it in commercial projects.

The MIT license clearly explains that there is no warranty for this free software. Please see the included LICENSE file
for details.


