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 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b49001c0c50c18dbf2674e4c4afdeff937dc8a4c29aa10de43c188813ba4acf6
|
|
| MD5 |
a253df759b996a0f7c6f54061a7f8502
|
|
| BLAKE2b-256 |
b0b9802c192a409fb2fdb5671140bd19836d6befbaa067367f69f149e7d58729
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e15bdf4bb4a556ef76504043a92e61953db8c179af37b165eceb7218cdd64dae
|
|
| MD5 |
d786dacf9facbeaff4e52212fa7402b5
|
|
| BLAKE2b-256 |
816854f8d27e0484b9550170b756da11c96c7cd72cdb624e7ce7bff654c6ff7b
|