Skip to main content

Shared interfaces and models for d-cogs

Project description

cogchain

Shared contracts and interfaces for this Red-DiscordBot cog collection.

Why

Several cogs (e.g., langcore, mermaid, qdrant, spoilarr) currently reach into each other with getattr() calls. That works but throws away the benefits of defined interfaces, makes refactors risky, and hides missing features until runtime. We need a single place to publish Abstractions/Contracts/Interfaces that cogs can agree on without creating hard references between plugins.

What this package provides

  • Common interface definitions and data structures that cogs can import.
  • A neutral dependency target so cogs do not import each other directly.
  • A path toward cleaner type-checking and safer refactors across the cog set.

Project layout (keep it clean)

cogchain/
  README.md
  pyproject.toml
  cogchain/
    __init__.py
    interfaces/        # Abstractions / Interfaces / Protocols / ABCs
    models/            # Shared constants, types, and data models
    errors.py          # Exceptions / error contracts

The goal is to keep only interfaces, protocols, and shared models here—no implementation details. If a cog needs new cross-cog behavior, add or adjust the interface first, then implement it inside the individual cog.

Local development

Install in editable mode while building or consuming the interfaces locally:

pip install -e .

Update interfaces here first, then adjust consuming cogs to use the shared definitions instead of getattr() glue.

Publishing

The PyPI package will be published as cogchain once the interfaces stabilize. Until then, keep using the editable install for local dev and testing. When ready, bump the version, publish to PyPI, and update cogs to depend on the released package.

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

cogchain-0.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

cogchain-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file cogchain-0.1.0.tar.gz.

File metadata

  • Download URL: cogchain-0.1.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cogchain-0.1.0.tar.gz
Algorithm Hash digest
SHA256 275a704a1a54cd6f62736b65fdfa79f4be64632debdf936f41de358cd7e97518
MD5 1eefecd33e763e08abc3c2692158f748
BLAKE2b-256 cfadad139ac44074930dfcbb5ea2757f0233e105c6a6b757bfa26450a8033286

See more details on using hashes here.

File details

Details for the file cogchain-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cogchain-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cogchain-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb6c58af995be2d76968cc9ce47d5f4c8c205b26d330201a3efbaf3012af0321
MD5 f4fa7463e5b62318be5528d6ca83d231
BLAKE2b-256 c4d26e6dd60487e3654c6be08f217040f677256dcb38a88fc5baa85735d7bd06

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