burdenoff-sdk-libs
Modular SDK library shared across all Burdenoff product SDKs (Python).
Each module under src/burdenoff_sdk_libs/modules/<name>/ exports an SdkModule (a dataclass with attach(ctx) -> API). Product SDKs (vibecontrols-sdk-python, botlit-sdk-python, etc.) become thin shells that pick which modules to mount. Sister to @burdenoff/sdk-libs (Node) and @burdenoff/cli-sdk.
Architecture
- Core (
src/burdenoff_sdk_libs/core/):SdkContext,SdkModuleProtocol, dual-gatewayBaseGraphQLClient(workspace + global),AuthStorewith pluggableTokenStore(InMemoryTokenStore,FileTokenStore,EnvTokenStore), error hierarchy with token redaction, structured logger,ModuleRegistry. - Modules (
src/burdenoff_sdk_libs/modules/<name>/):__init__.pyexportsSdkModuleinstance.operations.pyholds hand-written GraphQL doc strings.api.pybuilds the API. Generated types land atsrc/burdenoff_sdk_libs/modules/<name>/__generated__/types.py(gitignored). - PEP 562 lazy imports: top-level
__getattr__defers module loading until first access (lambda/edge cold-start friendly). - Hard rules: Modules NEVER import each other directly — use
ctx.modules.get('id'). Modules NEVER print, raise plainException, or log secrets unredacted.
Build & Commands
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytest # unit tests
pytest --cov # with coverage
python scripts/codegen.py # generate types from pinned supergraph
python scripts/parity_check.py # cross-language manifest diff vs sdk-libs-node
python -m build # sdist + wheel
Adding a module
mkdir src/burdenoff_sdk_libs/modules/<id>with__init__.py,operations.py,api.py,types.py.- Export
SdkModuleinstance from__init__.py(e.g.auth_module = AuthModule()). - Add to
_LAZY_MODULESin top-level__init__.pyif surfacing at package root. - Add manifest entry to
schema/modules.yaml. - Mirror in
~/products/sdk-libs-node/in the SAME PR pair.
Testing
- Unit (
tests/test_*.py): pure logic. No HTTP. pytest, <5s. - Integration: respx intercepts HTTP. Mock factories derived from
__generated__/types.py. - E2E: real svc + state, run nightly.
- Parity: same
tests/parity/<scenario>.yamlrun by node + python.
Reference
~/products/sdk-libs-node/— sister Node library.~/products/cli-sdk/— sister CLI library.~/products/vibecontrols/vibecontrols-sdk-python/— first consumer (thin shell).~/products/dev/audit/index/vibecontrols.md— 23-module ground-truth.
Metadata
Release files for burdenoff-sdk-libs 2026.1031.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| burdenoff_sdk_libs-2026.1031.1.tar.gz | 758.9 kB | Without provenance | Details for burdenoff_sdk_libs-2026.1031.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| burdenoff_sdk_libs-2026.1031.1-py3-none-any.whl | Python 3 | none | any | Details for burdenoff_sdk_libs-2026.1031.1-py3-none-any.whl |
Total release size: 1.7 MB
Release files / burdenoff_sdk_libs-2026.1031.1.tar.gz
| Download URL | burdenoff_sdk_libs-2026.1031.1.tar.gz |
|---|---|
| Size | 758.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c370f87213f54cf244e7fb076b2aabc59956212063aaaddd2d1076ff8e451c3f
|
|
BLAKE2b-256 checksum How to use checksums |
9a212b9919b38934c61b96e7e6e1f33baf72e5fec4be8bf39532c978688514ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.17
|
Release files / burdenoff_sdk_libs-2026.1031.1-py3-none-any.whl
| Download URL | burdenoff_sdk_libs-2026.1031.1-py3-none-any.whl |
|---|---|
| Size | 959.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba9a400aed72abeb713c6dd649442c0270abaac89318ec30da2b4dc3719fea93
|
|
BLAKE2b-256 checksum How to use checksums |
e45bf13a8919d552f322e708f0a9d385621eb7ce135b6104b74eb61fc69212d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.17
|
Security for burdenoff-sdk-libs 2026.1031.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.