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.18.0.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_ui-0.18.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cli_ui-0.18.0.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.12.1-arch1-1

File hashes

Hashes for cli_ui-0.18.0.tar.gz
Algorithm Hash digest
SHA256 3e6c80ada5b4b09c6701ca93daf31df8b70486c64348d1fc7f3288ef3bd0479c
MD5 21c01c943fb79a7e92cb8a8a46206ce9
BLAKE2b-256 26a9b44b1048064206e9ceceffb7ce38aa2432dbf79bd13d45da8a1452a2e3db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cli_ui-0.18.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.12.1-arch1-1

File hashes

Hashes for cli_ui-0.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d9484586d8eaba9f94aebaa12aa876fabdf1a3a50bdca113b2cb739eeaf78fa
MD5 b99fc259a3be61ee9b7dac2b2a6cf5ae
BLAKE2b-256 2407167c0ccdcf220613872ca25c50d6006b841c2aac21f0274d4f9e4b80769a

See more details on using hashes here.

Supported by

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