Skip to main content

Python library for text formatting on the command line.

Project description

Python library for text formatting on the command line.

PyPI version number Changelog Supported Python version License Download Count

Available Data

__version__

library version.

re_ansi_control_codes

Compiled regex pattern for ANSI control codes, including colors.

re_weburl

Compiled regex pattern for web URL’s – http, https, and naked domains like “example.com”

re_allurl

Compiled regex pattern to match all URL’s, including “mailto:foo@example.com”, “x-whatever://foo”, etc.

Answers

An Enum containing the possible query answers. Current contains YES, NO, QUIT, ALL, and NONE. YES and ALL are “truth-y” while NO, QUIT, and NONE are “false-y”.

Available Commands

length_no_ansi(mystring)

Takes a string, strips out the ANSI escape codes (used for colouring terminal output, etc.), and returns the length of the resulting string

centered (mystring, linewidth=None, fill=” “)

Takes a string, centres it, and pads it on both sides. Default linewidth is one less than the console width.

clock_on_right(mystring)

Takes a string, and prints it with the time right aligned

query_yes_no(question, default=”yes”)

Ask a yes/no question via raw_input() and return their answer.

  • “question” is a string that is presented to the user.

  • “default” is the presumed answer if the user just hits <Enter>. It must be “yes” (the default), “no” or None (meaning an answer is required of the user).

  • Returns one of Answer.YES or Answer.NO

query_yes_no_all(question, default=”yes”)

Ask a yes/no/all question via raw_input() and return their answer.

  • “question” is a string that is presented to the user.

  • “default” is the presumed answer if the user just hits <Enter>. It must be “yes” (the default), “no”, “all” or None (meaning an answer is required of the user).

  • Returns one of Answer.YES, Answer.NO, or Answer.ALL

def query_yes_quit(question, default=”quit”)

Ask a yes/quit question via raw_input() and return their answer.

  • “question” is a string that is presented to the user.

  • “default” is the presumed answer if the user just hits <Enter>. It must be “yes” (the default), “quit” or None (meaning an answer is required of the user).

  • Returns one of Answer.YES or Answer.QUIT

query_yes_no_all_none(question, default=”yes”)

Ask a yes/no/all/none question via raw_input() and return their answer.

  • “question” is a string that is presented to the user.

  • “default” is the presumed answer if the user just hits <Enter>. It must be “yes” (the default), “no”, “all”, “none” (i.e. the string) or None (meaning an answer is required of the user).

  • Returns one of Answer.YES, Answer.NO, Answer.ALL, or Answer.NONE

wait(sec)

Prints a timer with the format 0:00 to the console, and then clears the line when the timer is done.

title(mytitle)

Takes mytitle, centers it, and prints it in yellow letters on a blue background.

subtitle(mysubtitle)

Takes mysubtitle, centers it, and prints it in bright (white) letters on a normal (black) background.

rainbow_print(text, offset=0)

Prints out text in a cycle of rainbow-esque colors!

progressbar (class)

This class is used to create and then update a ‘progress bar’, like:

[================>                                                    ] 17 / 70

progressbar(current=0, maximum=100, bar_color=colorama.Fore.GREEN)

Creates a progress bar class. Prints the progress bar.

progressbar.update(currently=None)

Updates the value of the progress bar and prints it.

progressbar.reset()

Sets the value of the progress bar to 0 (zero) and prints it.

Code

The code is available at https://github.com/MinchinWeb/minchin.text

Contributions are welcome!

Tests

Located in the test folder. Each is a “visual test”, so they need to be run and the output manually examined.

License

The code is licensed under the MIT license. See that attached LICENSE file.

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

minchin_text-7.0.0.tar.gz (12.1 kB view details)

Uploaded Source

Built Distribution

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

minchin_text-7.0.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file minchin_text-7.0.0.tar.gz.

File metadata

  • Download URL: minchin_text-7.0.0.tar.gz
  • Upload date:
  • Size: 12.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for minchin_text-7.0.0.tar.gz
Algorithm Hash digest
SHA256 8b7791afe9ceebff03f6c44c51178e4d2ced0d72d72646b44ea566e3ae36190e
MD5 f856200f9448b8c91ac49d726e1245bc
BLAKE2b-256 d7253485653a25ac71e3f598350f4caa884ca366d0d22b224dc6e3994d6520e9

See more details on using hashes here.

File details

Details for the file minchin_text-7.0.0-py3-none-any.whl.

File metadata

  • Download URL: minchin_text-7.0.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for minchin_text-7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9c7d247c982753b2d9ce515d71d8e5bc7ed108fffc41a4167b8ae585cefd984a
MD5 fcce25fce240db86bdc275fad7faaa36
BLAKE2b-256 9189208fcd4ef7edef644cbe5be6bd268367836d92054c3fb2f7885efb548c8c

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