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.
Release files for cogchain 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cogchain-0.1.0.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cogchain-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.9 kB
Release files / cogchain-0.1.0.tar.gz
| Download URL | cogchain-0.1.0.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
275a704a1a54cd6f62736b65fdfa79f4be64632debdf936f41de358cd7e97518
|
|
BLAKE2b-256 checksum How to use checksums |
cfadad139ac44074930dfcbb5ea2757f0233e105c6a6b757bfa26450a8033286
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / cogchain-0.1.0-py3-none-any.whl
| Download URL | cogchain-0.1.0-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb6c58af995be2d76968cc9ce47d5f4c8c205b26d330201a3efbaf3012af0321
|
|
BLAKE2b-256 checksum How to use checksums |
c4d26e6dd60487e3654c6be08f217040f677256dcb38a88fc5baa85735d7bd06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|