Skip to main content

Shared utilities for Odysseia cogs.

Project description

OdyUtils

OdyUtils is a shared utility package for cogs running on Odysseia, a Red-DiscordBot fork. It merges the useful parts of two reference utility packages - vex-cog-utils and AAA3A_utils - into one package, adapted to build on top of Odysseia's own primitives instead of duplicating them:

  • Every response-building surface (menus, confirmations, prompts, settings displays, generated cog error messages) is built on Odysseia's Components V2 toolkit (odysseia.core.components, odysseia.core.utils.views) - there are no embeds anywhere in this package, matching Odysseia's own CV2-only UI.
  • Base classes (OdyCog) extend odysseia.core.commands.Cog rather than reimplementing what it already provides.
  • Anything that duplicates functionality Odysseia already ships (its own Context, SimpleMenu paginator, select/modal/confirm builders, ...) was either dropped in favour of the existing implementation, or rebuilt as a thin layer on top of it. See each module's docstring for the specific keep/merge/adapt/drop rationale.

Notable pieces:

  • OdyCog (cog.py) - a batteries-included cog base class: automatic typing indicator + tick/cross reaction per command, a verbose "which permission is actually missing" error handler, and a development-only-command confirmation gate.
  • CogsUtils, Loop, Settings, SentryHelper - ported grab-bag utilities, version/update checking, a declarative settings framework, and opt-in error telemetry.
  • scaffold.py - generates a new cog's __init__.py (dependency check, module-reload loop, end-user-data statement, setup()), styled after AAA3A_utils' own hand-written dependency-check pattern but rebranded for OdyUtils/Odysseia.

Installation

pip install git+https://github.com/everestmcarthur/OdyUtils.git

For local development against an editable Odysseia checkout:

pip install -e /path/to/OdyUtils

Credits

Substantial portions of this package's code are derived from, or directly ported from, these two projects - full credit to their authors:

OdyUtils itself is not affiliated with either project; it's an Odysseia-specific merge and adaptation of their ideas and code.

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

odyutils-0.0.1b1.tar.gz (80.9 kB view details)

Uploaded Source

Built Distribution

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

odyutils-0.0.1b1-py3-none-any.whl (86.7 kB view details)

Uploaded Python 3

File details

Details for the file odyutils-0.0.1b1.tar.gz.

File metadata

  • Download URL: odyutils-0.0.1b1.tar.gz
  • Upload date:
  • Size: 80.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for odyutils-0.0.1b1.tar.gz
Algorithm Hash digest
SHA256 4d514084c73143899a86af90e2ed07b3b73b0905b8eb34c16718c3c2a87b3e07
MD5 99cc12578b237f74fa13f6f2302b6388
BLAKE2b-256 bbed8c8a2ac8c9f70ebc82d4675834b6fd67de3d2bb26b8efea69f0a65e995a1

See more details on using hashes here.

File details

Details for the file odyutils-0.0.1b1-py3-none-any.whl.

File metadata

  • Download URL: odyutils-0.0.1b1-py3-none-any.whl
  • Upload date:
  • Size: 86.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.15

File hashes

Hashes for odyutils-0.0.1b1-py3-none-any.whl
Algorithm Hash digest
SHA256 61c34c29d2739f08f5ecfdf543a63422d5434ccb5adc1e928c68ffa2077c9c81
MD5 33d50913a832f058474e17e79d5e2c34
BLAKE2b-256 ec2593ccd9cefd836c6d11dc2cb556a4e7f1af5a37d1455b3c0b1f7b4b792b83

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