# CLI Rack
![CLI Rack Cover Picture](https://raw.githubusercontent.com/corvis/cli-rack/master/docs/assets/cover-picture.png "PrCLI Rack Cover Picturee")
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:
```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.
Raw data
{
"_id": null,
"home_page": "https://github.com/corvis/cli-rack",
"name": "cli-rack",
"maintainer": "",
"docs_url": null,
"requires_python": ">3.6",
"maintainer_email": "",
"keywords": "python cli terminal modular oop",
"author": "Dmitry Berezovsky",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/91/a5/9ff7abbd8c3c97b74f68f052c5af96b08595d26129adc7f6a889b90c3391/cli-rack-1.0.6.tar.gz",
"platform": null,
"description": "# CLI Rack\n\n![CLI Rack Cover Picture](https://raw.githubusercontent.com/corvis/cli-rack/master/docs/assets/cover-picture.png \"PrCLI Rack Cover Picturee\")\n\nLightweight set of tools for creating pretty-looking CLI applications in Python. This library tends to simplify and\nunify the approach to structuring CLI related code. At the moment it covers:\n\n* Managing terminal output - verbosity levels, colored output, logger configuration\n* Parsing arguments\n* Modular application design - each module could extend argument parser with own command\n* Modules discovery - scanning packages to find cli extension modules\n* Module availability support - module might declare a method to verify if environment is suitable (e.g. all\n dependencies are present). If not, module will be automatically excluded from CLI interface\n* Sync and Async execution manager\n\nMore details and documentation is here: https://github.com/corvis/cli-rack\n\n## Quick examples\n\nUsing unified CLI output:\n\n```python\nfrom cli_rack import CLI\n\nCLI.setup()\n\nCLI.print_info(\"This is just a message to user\")\nCLI.print_warn(\"This is a warning\")\nCLI.print_error(\"This is an error message\")\nCLI.print_error(ValueError(\"This is an exception\"))\nCLI.print_data(\"This text comes to STDOUT, not STDERR\")\n```\n\n# Credits\n\n* Dmitry Berezovsky, author\n\n# Disclaimer\n\nThis module is licensed under MIT. This means you are free to use it in commercial projects.\n\nThe MIT license clearly explains that there is no warranty for this free software. Please see the included LICENSE file\nfor details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "CLI Rack - Lightweight set of tools for building pretty-looking CLI applications in Python",
"version": "1.0.6",
"split_keywords": [
"python",
"cli",
"terminal",
"modular",
"oop"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a208d9b70cc07d26847267a4b90e86d293a60fd6079ad74068d463bd90cd1cc0",
"md5": "c4cb0656ba5319be42981d3db4431b99",
"sha256": "cc0dbb78446ef0e59b8fe67bae8cb7c5ce0eb97ba8d57c688d13d2b8504340ac"
},
"downloads": -1,
"filename": "cli_rack-1.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c4cb0656ba5319be42981d3db4431b99",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">3.6",
"size": 41531,
"upload_time": "2023-03-28T12:34:30",
"upload_time_iso_8601": "2023-03-28T12:34:30.585830Z",
"url": "https://files.pythonhosted.org/packages/a2/08/d9b70cc07d26847267a4b90e86d293a60fd6079ad74068d463bd90cd1cc0/cli_rack-1.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "91a59ff7abbd8c3c97b74f68f052c5af96b08595d26129adc7f6a889b90c3391",
"md5": "921384e6511dc658b0661f758e6d52ee",
"sha256": "7c1398c26f09577e8ae8ab6bb26ec3e6f44f5aa092a47644d1ea905cd7603fbe"
},
"downloads": -1,
"filename": "cli-rack-1.0.6.tar.gz",
"has_sig": false,
"md5_digest": "921384e6511dc658b0661f758e6d52ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">3.6",
"size": 27978,
"upload_time": "2023-03-28T12:34:32",
"upload_time_iso_8601": "2023-03-28T12:34:32.165698Z",
"url": "https://files.pythonhosted.org/packages/91/a5/9ff7abbd8c3c97b74f68f052c5af96b08595d26129adc7f6a889b90c3391/cli-rack-1.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-28 12:34:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "corvis",
"github_project": "cli-rack",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "cli-rack"
}