How to: Command-line Interface Development
_Libraries for building command-line applications._

- Command-line Application Development
  - [cement](https://github.com/datafolklabs/cement) - CLI Application Framework for Python.
  - [click](https://github.com/pallets/click/) - A package for creating beautiful command line interfaces in a composable way.
  - [cliff](https://github.com/openstack/cliff) - A framework for creating command-line programs with multi-level commands.
  - [python-fire](https://github.com/google/python-fire) - A library for creating command line interfaces from absolutely any Python object.
  - [python-prompt-toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) - A library for building powerful interactive command lines.
  - [Typer](https://github.com/tiangolo/typer) - Modern CLI framework that uses Python type hints. Built on Click and Pydantic.
- Terminal Rendering
  - [alive-progress](https://github.com/rsalmei/alive-progress) - A new kind of Progress Bar, with real-time throughput, eta and very cool animations.
  - [asciimatics](https://github.com/peterbrittain/asciimatics) - A package to create full-screen text UIs (from interactive forms to ASCII animations).
  - [bashplotlib](https://github.com/glamp/bashplotlib) - Making basic plots in the terminal.
  - [colorama](https://github.com/tartley/colorama) - Cross-platform colored terminal text.
  - [rich](https://github.com/Textualize/rich) - Python library for rich text and beautiful formatting in the terminal. Also provides a great `RichHandler` log handler.
  - [tqdm](https://github.com/tqdm/tqdm) - Fast, extensible progress bar for loops and CLI.