Skip to main content

Pretty terminal utilities wrapped around rich: colorful progress bars, dict-to-table printing, and more.

Project description

prettyterm

Pretty terminal utilities wrapped around Rich: colorful progress bars, dict-to-table printing, colored logging, and more.

Installation

pip install prettyterm

Features

track() - tqdm-like Progress Bar

A clean, colorful progress bar wrapper around Rich's progress module. Drop-in replacement for tqdm with enhanced formatting.

Features:

  • Progress bar with completion percentage
  • Elapsed and remaining time
  • Iteration speed (it/s)
  • Dynamic postfix updates (string or dict)
  • Auto-detects sequence length
from prettyterm import track

# Basic usage
for i in track(range(100), desc="Processing"):
    # Your code here
    pass

# With dynamic postfix
pbar = track(range(100), desc="Epoch 3")
for i in pbar:
    pbar.set_postfix({"loss": f"{0.5}", "acc": f"{95}%"})

Output:

Progress bar example

print_table() - Pretty Dictionary Tables

Display dictionaries as colorful, formatted tables. Great for configuration display, stats output, or debugging.

Features:

  • Automatic column sizing
  • Color-coded columns (cyan keys, orange values)
  • Optional table title
  • Optional row dividers
from prettyterm import print_table

data = {
    "Name": "Alice",
    "Age": 30,
    "City": "Wonderland",
    "Role": "Developer"
}

print_table(data, title="User Info", show_lines=True)

Output:

Table printing example

get_logger() - Colored Logging with SUCCESS Level

Get a pre-configured logger with colored output and a custom SUCCESS logging level (sits between INFO and WARNING).

Features:

  • Color-coded log levels
  • Custom SUCCESS level (green)
  • Auto-configured on import
  • Clean, piped format: timestamp │ level │ name │ message
from prettyterm import get_logger

logger = get_logger("my_app")

logger.debug("Detailed debug info")
logger.info("Application started")
logger.success("Operation completed!")  # Custom level
logger.warning("Resource usage high")
logger.error("Connection failed")
logger.critical("System shutting down")

Output:

Logger example

Log Colors:

  • DEBUG - Cyan
  • INFO - White
  • SUCCESS - Green (custom)
  • WARNING - Yellow
  • ERROR - Red
  • CRITICAL - Red on white

Development

# Install in editable mode
pip install -e .

# Run examples
python src/prettyterm/pbar.py
python src/prettyterm/table.py
python src/prettyterm/logger.py

License

MIT

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

prettyterm-0.2.1.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

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

prettyterm-0.2.1-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file prettyterm-0.2.1.tar.gz.

File metadata

  • Download URL: prettyterm-0.2.1.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for prettyterm-0.2.1.tar.gz
Algorithm Hash digest
SHA256 47550fd946033fa31ad281f42d69f9ff66e4bcb5bee64490699031e412cf6829
MD5 33d984a92af4e71d038131110a4fd030
BLAKE2b-256 48c8563999f79843c6716c22d238b31b91f481a63d5103b6ebce73cb85f61bab

See more details on using hashes here.

File details

Details for the file prettyterm-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: prettyterm-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for prettyterm-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 117919e95fc437225aa86e972e21f3df78dce0df95a430f036ef2f7e8effe2d9
MD5 d711c824aa086c91abff584c718d6a91
BLAKE2b-256 593feaf428b54dfaf3c701cad59e0afc9281e037539ed1558f84a84dfa097add

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