Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/your-tools/python-cli-ui
Tools for better command line interfaces
https://github.com/your-tools/python-cli-ui
cli python
Last synced: 2 months ago
JSON representation
Tools for better command line interfaces
- Host: GitHub
- URL: https://github.com/your-tools/python-cli-ui
- Owner: your-tools
- License: bsd-3-clause
- Created: 2017-08-25T12:36:05.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-09T19:03:14.000Z (3 months ago)
- Last Synced: 2024-07-29T07:11:14.975Z (2 months ago)
- Topics: cli, python
- Language: Python
- Homepage: https://your-tools.github.io/python-cli-ui/
- Size: 1.54 MB
- Stars: 65
- Watchers: 4
- Forks: 14
- Open Issues: 8
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
.. image:: https://img.shields.io/pypi/pyversions/cli-ui.svg
:target: https://pypi.org/project/cli-ui.. image:: https://img.shields.io/pypi/v/cli-ui.svg
:target: https://pypi.org/project/cli-ui/.. image:: https://img.shields.io/github/license/your-tools/python-cli-ui.svg
:target: https://github.com/your-tools/python-cli-ui/blob/main/LICENSE.. image:: https://img.shields.io/badge/deps%20scanning-pyup.io-green
:target: https://github.com/your-tools/python-cli-ui/actionspython-cli-ui
=============Tools for nice user interfaces in the terminal.
Note
----This project was originally hosted on the `TankerHQ
`_ organization, which was my employer from 2016
to 2021. They kindly agreed to give back ownership of this project to
me. Thanks!Documentation
-------------See `python-cli-ui documentation `_.
Demo
----Watch the `asciinema recording `_.
Usage
-----.. code-block:: console
$ pip install cli-ui
Example:
.. code-block:: python
import cli_ui
# coloring:
cli_ui.info(
"This is",
cli_ui.red, "red", cli_ui.reset,
"and this is",
cli_ui.bold, "bold"
)# enumerating:
list_of_things = ["foo", "bar", "baz"]
for i, thing in enumerate(list_of_things):
cli_ui.info_count(i, len(list_of_things), thing)# progress indication:
cli_ui.info_progress("Done", 5, 20)
cli_ui.info_progress("Done", 10, 20)
cli_ui.info_progress("Done", 20, 20)# reading user input:
with_sugar = cli_ui.ask_yes_no("With sugar?", default=False)fruits = ["apple", "orange", "banana"]
selected_fruit = cli_ui.ask_choice("Choose a fruit", choices=fruits)# ... and more!
Contributing
------------We use `optimistic merging `_ so you don't have to worry too much about formatting the code, pleasing the linters or making sure all the test pass.
That being said, if you want, you can install `just `_ and use it to check your changes automatically. Just run ``just`` to see available tasks.
Making a new release
--------------------* Create a token on pypi : see `pypi help `_ for details.
* Install `tbump `_ and use it to bump `cli-ui` to the new version.
Uploading documentation
-----------------------Run:
.. code-block:: sh
just deploy-doc