GooseDB, a chaotic wrapper around DuckDB that randomly interrupts your database operations with goose attacks!
Project description
GooseDB
GooseDB, a chaotic wrapper around DuckDB that randomly interrupts your database operations with goose attacks! Here are the key features:
- Maintains all DuckDB functionality while adding unpredictable goose behavior
- Configurable honk_probability to control how aggressive the goose is
- Various goose attacks ranging from judgmental stares to keyboard pecking
- Dramatic pauses during attacks to maximize chaos
- Full passthrough to DuckDB methods when the goose isn't attacking
Installation
You can install GooseDB via pip:
pip install goosedb
Usage
Here is a quick example of how to use GooseDB:
import goosedb
# Create a connection to GooseDB (which wraps DuckDB)
conn = goosedb.connect()
# Set the honk probability (0.2 means 20% chance of goose interference)
conn.honk_probability = 0.2
# Execute a query
conn.execute("SELECT * FROM my_table")
Configuring Goose Behavior
GooseDB lets you control the level of chaos introduced by the goose:
- honk_probability: A float between 0 and 1 that represents how often the goose will attack. A higher value means a more aggressive goose.
Example:
conn.honk_probability = 0.5 # 50% chance of goose interference
Goose Attacks
GooseDB has several types of "goose attacks":
- Judgmental Stares: The goose stops your query with an unsettling stare.
- Keyboard Pecking: The goose pecks at your virtual keyboard, potentially causing errors.
- Dramatic Pauses: The goose takes over and delays execution to add chaos.
Running Queries
GooseDB fully supports DuckDB's functionality when the goose isn't attacking:
# Example of a standard query
results = conn.execute("SELECT COUNT(*) FROM users").fetchall()
print(results)
Reducing the Image Size in README
To make the image smaller in your README, you can use HTML to specify the image width:
<img src="./assets/GooseDB.png" alt="GooseDB" width="300" />
This allows you to control the size directly in Markdown.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
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 goosedb-0.1.0.tar.gz.
File metadata
- Download URL: goosedb-0.1.0.tar.gz
- Upload date:
- Size: 2.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2556e0b0d946bad39a4d7a3452ba2f1430d7c31f8ede7724855e91905847892
|
|
| MD5 |
e7609cd9ba50d92acbffd961f22e5bc9
|
|
| BLAKE2b-256 |
7b09c82cc41750bd26fc5a4eaf7cd1017af9c4ba51af8bb1530559885f42db17
|
File details
Details for the file goosedb-0.1.0-py3-none-any.whl.
File metadata
- Download URL: goosedb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 2.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.4.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2422a5ca21bb23d4c98ddcb56e6ffeb3ef73835de00aa5ae6217ea43a94a7e1c
|
|
| MD5 |
fd219205f6224f7cdc4f7512f0d17bd8
|
|
| BLAKE2b-256 |
a4acb268c60348c851a7ed29544c85dbebc36bb952cf53c7d04fe4ee5c2e4ad1
|