Skip to main content

Colory PPrint is your new best friend when it comes to logging in Python—especially if you like your logs colorful, stylish, and super readable! Say goodbye to bland, hard-to-read logs and hello to clean, color-coded JSON logs with all the bells and whistles. Plus, it’s got your back when logging things that Python doesn't like to serialize.

Project description

Colory PPrint

Colory PPrint is your new best friend when it comes to logging in Python—especially if you like your logs colorful, stylish, and super readable! Say goodbye to bland, hard-to-read logs and hello to clean, color-coded JSON logs with all the bells and whistles. Plus, it’s got your back when logging things that Python doesn't like to serialize.

Features:

  • 🎨 Color-coded JSON logs: Pick your foreground and background colors for that perfect contrast.
  • Text styles: Bold, underline, reverse, and even concealed—make your logs pop!
  • 🔧 Customizable: Tweak the logging to your heart’s content, perfect for debugging and visualizing data.
  • 🧩 Handles non-serializable objects: Logs things like custom classes by showing their type and memory address. Nothing gets left behind.

Installation

Getting Colory PPrint up and running is a breeze! Choose one of these two methods:

  1. From the GitHub repo directly:

    pip install git+https://github.com/ruhiddin/colory-pprint.git
    
  2. Alternatively, from PyPI (because we’re all about simplicity):

    pip install colory_pprint
    

Usage

Basic Usage:

Start logging with a simple import and one-liner. Like magic.

from colory_pprint import ColoryPPrint

log = ColoryPPrint(debug=True)

log({"message": "Hello, World!"})

Logging with Colors and Styles:

Why stick to plain text when you can have colorful, styled logs?

log.red.bold({"status": "error", "message": "Oops! Something went wrong."})
log.green.on_black.underline({"status": "success", "message": "All systems go!"})

Handling Non-Serializable Objects:

Got an object that Python doesn’t know how to handle? No worries. Colory PPrint logs it with style anyway, using the repr() function.

class CustomObject:
    def __init__(self, name: str, value: int):
        self.name = name
        self.value = value

custom_obj = CustomObject(name="Test", value=100)

log.red.bold({
    "status": "error",
    "message": "Something failed!",
    "object": custom_obj
})

The output will look something like this:

{
  "status": "error",
  "message": "Something failed!",
  "object": "<CustomObject object at 0x7f8a3f8b93d0>"
}

Available Colors:

Foreground: black, red, green, yellow, blue, magenta, cyan, white, grey, light_red, light_green, light_yellow, light_blue, light_magenta, light_cyan, light_white.
Background: on_black, on_red, on_green, on_yellow, on_blue, on_magenta, on_cyan, on_white, on_grey, on_light_red, on_light_green, on_light_yellow, on_light_blue, on_light_magenta, on_light_cyan, on_light_white.

Available Text Styles:

  • bold
  • underline
  • reverse
  • concealed

Debug Mode:

Got some tricky bugs? Turn on debug mode to see all the inner workings of your logging.

log = ColoryPPrint(debug=True)
log({"message": "Debug mode: ON! See everything in style."})

(Just remember to switch it off in production, unless you want your logs to throw a party.)

Custom end Argument – Control Output Suffix

You can now pass an optional end parameter to any log call to replace the default newline (\n) with any string (or no string at all). This is useful for:

  • Logging multiple JSON objects on the same line
  • Adding custom separators (e.g., ", ", " | ")
  • Suppressing newlines entirely (end="")
  • Building structured output streams
Syntax
log(data, end="your_custom_string")


Now go on, add some color to those logs, and make debugging feel like a breeze!

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

colory_pprint-1.5.1.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

colory_pprint-1.5.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file colory_pprint-1.5.1.tar.gz.

File metadata

  • Download URL: colory_pprint-1.5.1.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for colory_pprint-1.5.1.tar.gz
Algorithm Hash digest
SHA256 09458c9fdd464895f271cd91026c649ecff56144715059bf12262dfabfc1d91f
MD5 df3ab5f7148dd8c175c338f147ff48fc
BLAKE2b-256 bf971ee181e84119a8d9729f720eec60cf102b75859b310a9826f3a2ffb15930

See more details on using hashes here.

Provenance

The following attestation bundles were made for colory_pprint-1.5.1.tar.gz:

Publisher: release.yml on Ruhiddin/colory-pprint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file colory_pprint-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: colory_pprint-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for colory_pprint-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1ed36f0e0cdd4744755c8ab04e65c9efe8caf8a68116bdd682879f7263c4e302
MD5 5cae8e8d1990425db425ab085f524eac
BLAKE2b-256 734545c4397d2e4d7a791c524bf3d4063b10b738b24c7bcd0d830719109fd392

See more details on using hashes here.

Provenance

The following attestation bundles were made for colory_pprint-1.5.1-py3-none-any.whl:

Publisher: release.yml on Ruhiddin/colory-pprint

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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