Skip to main content

GooseDB, a chaotic wrapper around DuckDB that randomly interrupts your database operations with goose attacks!

Project description

GooseDB

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

goosedb-0.1.0.tar.gz (2.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

goosedb-0.1.0-py3-none-any.whl (2.1 kB view details)

Uploaded Python 3

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

Hashes for goosedb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f2556e0b0d946bad39a4d7a3452ba2f1430d7c31f8ede7724855e91905847892
MD5 e7609cd9ba50d92acbffd961f22e5bc9
BLAKE2b-256 7b09c82cc41750bd26fc5a4eaf7cd1017af9c4ba51af8bb1530559885f42db17

See more details on using hashes here.

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

Hashes for goosedb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2422a5ca21bb23d4c98ddcb56e6ffeb3ef73835de00aa5ae6217ea43a94a7e1c
MD5 fd219205f6224f7cdc4f7512f0d17bd8
BLAKE2b-256 a4acb268c60348c851a7ed29544c85dbebc36bb952cf53c7d04fe4ee5c2e4ad1

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