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.

PyPI version


What is Geezer?

Geezer is a tiny Python logging helper that makes print-style debugging stylish, readable, and safe for dev environments.

Perfect 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

📦 PyPI: https://pypi.org/project/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 Example

[🛒 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.


✨ 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.1.tar.gz (4.6 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.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: geezer-0.1.1.tar.gz
  • Upload date:
  • Size: 4.6 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.1.tar.gz
Algorithm Hash digest
SHA256 2b8f397864b774eabae0910d5b3f4203b9a70f0c5c4ea9de0a296f3d1b4651a2
MD5 16eb086def574948409984836f0ec287
BLAKE2b-256 8e37577412d50d2e07e300783e007cdb1aebb1d816a219f241ab6265f4303271

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geezer-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.0 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 94d82e776124191f5c00ff8c46f476f8107cd9a1a21799eb32cb2b7fbadcddee
MD5 27ab24e4a72db4fdaf6877d95ddadbcd
BLAKE2b-256 9d28525e5cb9738565f87a9125fb9332257bbced2f921b6ed2286b3bdcc3c407

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