KIZU
傷 (Kizu) — n. wound, scar, flaw. A hyper-minimalist, headless Python error tracker. Catches unhandled exceptions and dispatches zero-latency, asynchronous alerts directly to Discord or Slack.
Features
- Zero Dependencies: Relies strictly on
requestsandpython-dotenv. - Non-Blocking: Alerts fire in a background thread so your main app never hangs.
- Anti-Spam Cache: Built-in 5-minute cooldown prevents rate-limiting during cascading crashes.
- Headless: No central servers or dashboards. Bring your own webhook.
Installation
git clone [https://github.com/abhi-afk-dev/kizu.git](https://github.com/abhi-afk-dev/kizu.git)
cd kizu
pip install -e .
Configuration
Create a .env file in your root directory. Kizu automatically routes to whichever webhook is provided.
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..." SLACK_WEBHOOK_URL="https://hooks.slack.com/services/..."
Usage
Wrap any critical function or API route with the @track decorator.
Python
from dotenv import load_dotenv
from kizu import track
load_dotenv()
@track
def critical_operation():
return 1 / 0 # Kizu silently catches this crash and fires the webhook
if __name__ == "__main__":
critical_operation()
Webhook Setup Guide
Discord (Fastest)
- Right-click your target server channel and select Edit Channel.
- Navigate to Integrations > Webhooks > New Webhook.
- Click Copy Webhook URL and paste it into your .env file.
Slack
- Go to api.slack.com/apps in your browser.
- Click Create New App → choose From scratch.
- Name it (e.g., Kizu) → select your workspace → click Create App.
- On the left sidebar click Incoming Webhooks.
- Toggle Activate Incoming Webhooks to ON.
- Scroll down → click Add New Webhook to Workspace.
- Select your #bugs channel → click Allow.
- It will generate a URL that looks like: https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXX.
Copy that. That's your webhook URL. Paste it into .env and you're done.
Metadata
Release files for kizu-core 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| kizu_core-0.1.2.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| kizu_core-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 8.6 kB
Release files / kizu_core-0.1.2.tar.gz
| Download URL | kizu_core-0.1.2.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0cb8d271827e225a91d5faaab232e1d9cc1a3704f46ae9b8575400a7f3014da9
|
|
BLAKE2b-256 checksum How to use checksums |
467f3c1480fc9c891cd33ac67a4e03ef6e24fb00cc882b6611cca67c4c8a516c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|
Release files / kizu_core-0.1.2-py3-none-any.whl
| Download URL | kizu_core-0.1.2-py3-none-any.whl |
|---|---|
| Size | 4.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
af46ab0b84ce97c9d4035e5cb9825ff2f07e9c817c4b65dc896fe56ef9dc9690
|
|
BLAKE2b-256 checksum How to use checksums |
fcde0355d5686213decc82079bf4f90b2db4df7ebc0c886a63970f1504f8b1e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.20
|