Skip to main content

Old-school debug logging for stylish devs

Project description

Geezer

Old-school logging for stylish devs.
Use print() with ✨ taste and purpose — with color, emoji, memory, and style.


What is Geezer?

Geezer is a tiny Python logging helper that lets you drop stylish, readable print statements into your code — ideal for:

  • Teaching or explaining complex code
  • Debugging step-by-step logic
  • Visual learners or neurodivergent-friendly workflows
  • Looking good in the terminal 😎

It hides noise in production — unless you say otherwise.


Install

pip install geezer

Usage

✅ Basic

from geezer import prnt

prnt("Fetching user info")

🎯 With emoji

prnt("Loading cart", "🛒")

🏷️ With emoji + label

prnt("Card validated", "✅", "card check")

🔒 Always show (even in production)

prnt("Email sent to customer", "✉️", "notification", "ok")

Output

[🛒 checkout] Starting checkout for user 42
[✅ card validation] Card info validated
[🔌 payment gateway] Calling Fortis API...
[💰 payment] Transaction approved for $49.99
[➡️ redirect] Redirecting to receipt page

Styled with rich under the hood.


✨ New Features

🟡 warn()

from geezer import warn
warn("User has no saved card", "user check")

⏱️ timer()

from geezer import timer

with timer("checkout process"):
    run_checkout()

🧠 Log history

from geezer import get_log_history

logs = get_log_history()
for entry in logs:
    print(entry["timestamp"], entry["message"])

🤖 Auto-emoji

Enable auto-tagging:

import geezer.log
geezer.log.auto_tagging = True

Now this:

prnt("API call failed due to timeout")

Becomes:

[❌ error] API call failed due to timeout

Config

By default, geezer only prints in dev:

DJANGO_DEBUG=True

Or override manually with ok.


Why “Geezer”?

Because sometimes the old ways are the best.
Geezer gives you raw, readable feedback — with zero setup, and max personality.


Roadmap

  • Console styling with rich
  • Utility functions (warn, timer)
  • Emoji + label tagging
  • In-memory log history
  • Auto emoji detection
  • File logging
  • Timestamp prefix toggle
  • Custom output backends (file, webhook, etc)
  • geeze() alias just for fun

Pull up a chair.
Throw in a prnt().
Talk to yourself a little.

You earned it, geezer.

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

geezer-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

geezer-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file geezer-0.1.0.tar.gz.

File metadata

  • Download URL: geezer-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for geezer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3db2425be906664317484c74489aec4ec5eadc39334d2bc770e862500635cd63
MD5 6c2fbe6dbb6541acc00f7209b5d03ec6
BLAKE2b-256 ca28eba27f484867e0b0f066d559e081a60dc51267ec1aa095e7a5c286d2f593

See more details on using hashes here.

File details

Details for the file geezer-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: geezer-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for geezer-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a6d29b0cc6f9e8bb56339f2560092f21ab0e35983475589535c58e847c2cc8b
MD5 075ce3cab7218d26c61d7719d9d54cbd
BLAKE2b-256 1341eccbd69ebd20c525675645683487de26293d59d5fe5ba114b0e68dd8b464

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