Human friendly output for text interfaces using Python
The functions and classes in the humanfriendly package can be used to make text interfaces more user friendly. Some example features:
- Parsing and formatting numbers, file sizes, pathnames and timespans in simple, human friendly formats.
- Easy to use timers for long running operations, with human friendly formatting of the resulting timespans.
- Prompting the user to select a choice from a list of options by typing the option’s number or a unique substring of the option.
- Terminal interaction including text styling (ANSI escape sequences), user friendly rendering of usage messages and querying the terminal for its size.
The humanfriendly package is currently tested on Python 2.6, 2.7, 3.4 and PyPy.
It’s very simple to start using the humanfriendly package:
>>> import humanfriendly >>> user_input = raw_input("Enter a readable file size: ") Enter a readable file size: 16G >>> num_bytes = humanfriendly.parse_size(user_input) >>> print num_bytes 17179869184 >>> print "You entered:", humanfriendly.format_size(num_bytes) You entered: 16 GB
The latest version of humanfriendly is available on PyPI and GitHub. The documentation is hosted on Read the Docs. For bug reports please create an issue on GitHub. If you have questions, suggestions, etc. feel free to send me an e-mail at firstname.lastname@example.org.
This software is licensed under the MIT license.
© 2015 Peter Odding.