Skip to main content

KaguneBin Banner

KaguneBin Python SDK

🩸 Paste Fear. Share Power.

Official Python SDK for the KaguneBin anonymous paste sharing service.

PyPI version Python Versions Downloads License


🌌 About

KaguneBin is a high-performance, dark-themed paste service inspired by the world of Tokyo Ghoul.

This official Python library lets you programmatically create, fetch, download, and manage pastes with full support for:

  • 🔒 Zero-Trust Password Protection (bcrypt)
  • 🔥 Burn-After-Read (instant self-destruction upon reading)
  • ⏳ Automated Expiration (hours, days, or scheduled timestamps)
  • 📥 Binary & File Downloads
  • ⚡ Synchronous & Asynchronous Clients
  • 🛡️ Typed Custom Exception Hierarchy

📦 Installation

# Standard synchronous client
pip install kagunebin

# With asynchronous support (httpx)
pip install "kagunebin[async]"

⚡ Quick Start

from kagunebin import KaguneBin

# Initialize client
kb = KaguneBin()

# Create a paste
paste = kb.create(
    title="Main Execution Script",
    content="import os\nprint('System initialized successfully.')",
    syntax="python",
    expires_in_hours=24
)

print("Paste Created Successfully!")
print("ID:", paste["id"])
print("URL:", paste["full_url"])

🎯 Core Features & Code Recipes

1. 🔒 Password Protected Pastes

Pastes can be secured with bcrypt encryption:

from kagunebin import KaguneBin

kb = KaguneBin()

# Create protected paste
paste = kb.create(
    title="Confidential API Credentials",
    content="DATABASE_SECRET_KEY=super_secure_99812",
    syntax="yaml",
    password="my_vault_password"
)

# Fetching requires the password
result = kb.get(paste["id"], password="my_vault_password")
print(result["content"])

2. 🔥 Burn-After-Read (Self-Destructing)

Burn-after-read pastes are permanently purged from the database after their very first retrieval:

paste = kb.create(
    title="One-Time Verification Token",
    content="AUTH_OTP_77192",
    burn_after_read=True
)

# Read 1: Success
content = kb.raw(paste["id"])
print("Token:", content)

# Read 2: Raises KaguneBinNotFoundError or KaguneBinExpiredError

3. ⏳ Expiring Pastes

Set automated lifetimes in hours or days:

# Expire in 6 hours
paste_6h = kb.create(
    content="Temporary debug trace",
    syntax="text",
    expires_in_hours=6
)

# Expire in 7 days
paste_7d = kb.create(
    content="Weekly report summary",
    syntax="markdown",
    expires_in_days=7
)

4. 📄 Raw Content Access

Fetch pure plaintext directly for piping or logging:

raw_text = kb.raw("kgn_a1b2c3d4")
print(raw_text)

5. 💾 Downloading Pastes to Disk

# Download and save directly to file
kb.download("kgn_a1b2c3d4", save_as="output_script.py")

# Or obtain raw bytes
data_bytes = kb.download("kgn_a1b2c3d4")

6. 🩺 Service Health Check & Latency

health = kb.verify()
print(f"Status: {health['status']} | Latency: {health['latency_ms']}ms")

7. 🛡️ Robust Error Handling

The SDK provides granular, typed exceptions for safe integration:

from kagunebin import (
    KaguneBin,
    KaguneBinAuthError,
    KaguneBinNotFoundError,
    KaguneBinExpiredError,
    KaguneBinValidationError,
    KaguneBinConnectionError,
    KaguneBinError,
)

kb = KaguneBin()

try:
    paste = kb.get("kgn_sample123", password="wrong_pass")
except KaguneBinAuthError:
    print("❌ Incorrect or missing password!")
except KaguneBinNotFoundError:
    print("❌ Paste does not exist.")
except KaguneBinExpiredError:
    print("⚠️ Paste has expired or was already burned.")
except KaguneBinConnectionError as e:
    print(f"🌐 Network connection error: {e}")
except KaguneBinError as e:
    print(f"🚨 API error: {e}")

⚡ Asynchronous Support (AsyncKaguneBin)

For high-throughput applications, FastAPI backends, and Discord/Telegram bots:

import asyncio
from kagunebin import AsyncKaguneBin

async def main():
    async with AsyncKaguneBin() as kb:
        paste = await kb.create(
            title="Async Log Dump",
            content="[2026-10-04] System worker cluster running smoothly.",
            syntax="text",
            expires_in_hours=12
        )
        print("Async URL:", paste["full_url"])

asyncio.run(main())

🤖 Telegram Bot Integration Example (Pyrogram)

from pyrogram import Client, filters
from pyrogram.types import Message
from kagunebin import KaguneBin

app = Client("kagunebin_bot", api_id=12345, api_hash="your_hash", bot_token="your_token")
kb = KaguneBin()

@app.on_message(filters.command("paste") & filters.reply)
async def paste_handler(client: Client, message: Message):
    text_to_paste = message.reply_to_message.text or message.reply_to_message.caption
    if not text_to_paste:
        return await message.reply("Please reply to a text message.")

    status_msg = await message.reply("🩸 Creating KaguneBin paste...")
    
    try:
        paste = kb.create(
            title=f"Paste by {message.from_user.first_name}",
            content=text_to_paste,
            syntax="plaintext",
            expires_in_days=3
        )
        await status_msg.edit(
            f"✅ **Paste Created!**\n\n"
            f"🔗 **URL:** {paste['full_url']}\n"
            f"⏳ **Expires In:** 3 Days"
        )
    except Exception as e:
        await status_msg.edit(f"❌ Failed to create paste: {e}")

app.run()

🎨 Supported Syntaxes

kb = KaguneBin()
print(kb.syntaxes())

Supported languages include: python, javascript, typescript, java, cpp, c, csharp, go, rust, php, ruby, swift, kotlin, html, css, scss, json, xml, yaml, sql, bash, shell, text, plaintext, markdown, dockerfile.


📄 License

MIT License © 2026 Kishore M


🩸 Made with passion by Kishore M

Metadata

Release files for kagunebin 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kagunebin 1.0.1
File Size Uploaded
kagunebin-1.0.1.tar.gz 10.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kagunebin 1.0.1
File Interpreter ABI Platform
kagunebin-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 19.6 kB

Release files / kagunebin-1.0.1.tar.gz

Download URL kagunebin-1.0.1.tar.gz
Size 10.9 kB
Tags Source
SHA-256 checksum
How to use checksums
4e7068cc37bc6308e5a4a445549828da857f4e794a8ca63542164296ba4460a1
BLAKE2b-256 checksum
How to use checksums
d4e332e9d126cad4481a7850f74ee625a1cc26aecc3a155462055ca70c74525d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kagunebin-1.0.1-py3-none-any.whl

Download URL kagunebin-1.0.1-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9ed70a2b6fa93f37135e7a4d38de25f5df4a4277cfbab9336a0769975916007
BLAKE2b-256 checksum
How to use checksums
d918d3865736c54373130db9eda9f31e6329946077ef1364b3e0e3790d17f241
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page