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

Uploaded Python 3

File details

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

File metadata

  • Download URL: geezer-0.1.2.tar.gz
  • Upload date:
  • Size: 4.7 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.2.tar.gz
Algorithm Hash digest
SHA256 b49001c0c50c18dbf2674e4c4afdeff937dc8a4c29aa10de43c188813ba4acf6
MD5 a253df759b996a0f7c6f54061a7f8502
BLAKE2b-256 b0b9802c192a409fb2fdb5671140bd19836d6befbaa067367f69f149e7d58729

See more details on using hashes here.

File details

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

File metadata

  • Download URL: geezer-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e15bdf4bb4a556ef76504043a92e61953db8c179af37b165eceb7218cdd64dae
MD5 d786dacf9facbeaff4e52212fa7402b5
BLAKE2b-256 816854f8d27e0484b9550170b756da11c96c7cd72cdb624e7ce7bff654c6ff7b

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