Skip to main content

Various printing utilities and helpers/extenders for the `rich` package.

Project description

printbuddies

Various printing utilities and helpers/extenders for the rich package.
Install with:

pip install printbuddies

print_in_place

'print_in_place' erases the current line in the terminal and then writes the value of the 'string' param to the terminal.

from printbuddies import print_in_place
import time
#This will print numbers 0-99 to the terminal with each digit overwriting the last.
for i in range(100):
    print_in_place(i)
    time.sleep(0.1)

Tag

The Tag class is essentially a wrapper to shorten using rich tags.
When a Tag is casted to a string it is formatted with surrounding square brackets and the o or off properties can be accessed to return the matching closing tag.

from printbuddies import Tag
p = Tag("pale_turquoise4")
c = Tag("cornflower_blue")
s = f"{p}This{p.o} {c}is{c.o} {p}a{p.o} {c}string"

is equivalent to

s = "[pale_turquoise4]This[/pale_turquoise4] [cornflower_blue]is[/cornflower_blue] [pale_turquoise4]a[/pale_turquoise4] [cornflower_blue]string"

The ColorMap class contains two Tag properties for each named color (except shades of grey, those only have a full name property): one that's the full name of the color and one that's an abbreviated name, for convenience.

This is useful for seeing color options using autocomplete:

The class also supports iterating over the tags as well as selecting random colors:


The Gradient class inherits from list and can be used to easily apply an arbitrary number of color sweeps across text:

The Progress, BarColumn, and TaskProgressColumn classes, as well as the track function are the same as the rich versions, just with different default colors, default columns, and additonal keyword arguments.
TimerColumn is a subclass of rich.progress.TimeRemainingColumn that displays {time_elapsed}<->{time_remaining} with a color gradient.

Default columns and colors of this version:

The Grid class is a customized implementation of a rich Table.
It can minimally be used by passing a list of dictionaries to the constructor and then passing the instance to rich.print or rich.console.Console().print.
(All dictionaries should have the same set of keys)

from printbuddies import Grid
from rich import print
print(Grid(list_of_dicts))

Being used to display a database schema:

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

printbuddies-2.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

printbuddies-2.1.0-py3-none-any.whl (18.6 kB view details)

Uploaded Python 3

File details

Details for the file printbuddies-2.1.0.tar.gz.

File metadata

  • Download URL: printbuddies-2.1.0.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for printbuddies-2.1.0.tar.gz
Algorithm Hash digest
SHA256 b30437d4e0da5fc6c93ba7fd3148c90622b1dfa9a2eedc3bbd9026122f3dba93
MD5 66b15b051ff663d170b1825ea54d6bdc
BLAKE2b-256 c2997d79d5a902b84d8b4c4dc3b08c505504296ec781a06427b4f96ef391a497

See more details on using hashes here.

Provenance

File details

Details for the file printbuddies-2.1.0-py3-none-any.whl.

File metadata

  • Download URL: printbuddies-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 18.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for printbuddies-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 15cf2f1024155ef61508013db2fccfd4d93bdbd6e152bc8cd6e9822a4aef35e8
MD5 2cb901c6d513c3e7a4d86a7c99b2f12b
BLAKE2b-256 6b58c8d17fc4575be152512db01ba0632da8d3a3e53d0ee07ea6ac1e7c372724

See more details on using hashes here.

Provenance

Supported by

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