Skip to main content

Build Nice User Interfaces In The Terminal

Project description

https://img.shields.io/pypi/pyversions/cli-ui.svg https://img.shields.io/pypi/v/cli-ui.svg https://img.shields.io/github/license/your-tools/python-cli-ui.svg https://img.shields.io/badge/deps%20scanning-pyup.io-green

python-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

$ pip install cli-ui

Example:

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:

just deploy-doc

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_ui-0.19.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

cli_ui-0.19.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file cli_ui-0.19.0.tar.gz.

File metadata

  • Download URL: cli_ui-0.19.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cli_ui-0.19.0.tar.gz
Algorithm Hash digest
SHA256 59cdab0c6a2a6703c61b31cb75a1943076888907f015fffe15c5a8eb41a933aa
MD5 18cba6742db4aa1b945d9e9dd8d4c92a
BLAKE2b-256 216370d8fefa7b4140367c45287b94fb5df535b6ba6f77464087b18fdae2bb47

See more details on using hashes here.

File details

Details for the file cli_ui-0.19.0-py3-none-any.whl.

File metadata

  • Download URL: cli_ui-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cli_ui-0.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cf1b93328f7377730db29507e10bcb29ccc1427ceef45714b522d1f2055e7cd
MD5 5e7ab3a14a42d3e06e524f548d109b6b
BLAKE2b-256 c6a909591cff626f71bd11f88d8eedb81619c17422b4a5e778614a91e83c4b6a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page