burdenoff-sdk-libs 2026.523.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- burdenoff_sdk_libs-2026.523.1/.gitignore +16 -0
- burdenoff_sdk_libs-2026.523.1/LICENSE +4 -0
- burdenoff_sdk_libs-2026.523.1/PKG-INFO +97 -0
- burdenoff_sdk_libs-2026.523.1/README.md +46 -0
- burdenoff_sdk_libs-2026.523.1/pyproject.toml +138 -0
- burdenoff_sdk_libs-2026.523.1/schema/SUPERGRAPH_PIN +1 -0
- burdenoff_sdk_libs-2026.523.1/schema/modules.yaml +840 -0
- burdenoff_sdk_libs-2026.523.1/schema/schema.lock.yaml +9 -0
- burdenoff_sdk_libs-2026.523.1/scripts/__init__.py +0 -0
- burdenoff_sdk_libs-2026.523.1/scripts/codegen.py +597 -0
- burdenoff_sdk_libs-2026.523.1/scripts/parity_check.py +51 -0
- burdenoff_sdk_libs-2026.523.1/scripts/set_registry.py +72 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/__init__.py +97 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/__init__.py +93 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/__init__.py +13 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/auth_store.py +58 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/token_store.py +108 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/client.py +230 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/context.py +122 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/errors.py +161 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/logger.py +52 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/module.py +53 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/registry.py +28 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/types.py +36 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/__init__.py +1 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/__init__.py +55 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/api.py +410 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/operations.py +94 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/pkce.py +22 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/types.py +80 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/__init__.py +152 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/addons.py +56 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/affiliate.py +104 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/api.py +77 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/coupons.py +116 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/credits.py +101 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/invoices.py +73 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/operations.py +348 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/payment_methods.py +79 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/plans.py +57 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/refunds.py +70 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/subscriptions.py +126 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/types.py +419 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/usage.py +35 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/__init__.py +65 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/api.py +299 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/operations.py +154 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/types.py +165 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/__init__.py +67 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/api.py +373 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/operations.py +133 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/types.py +178 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/__init__.py +172 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/admin.py +66 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/api_keys.py +76 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/apps.py +375 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/delegations.py +69 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/oauth.py +83 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/operations.py +363 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/orgs.py +138 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/revenue.py +38 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/types.py +370 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/webhooks.py +40 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/__init__.py +104 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/jobs.py +68 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/operations.py +89 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/templates.py +51 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/types.py +383 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/__init__.py +48 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/api.py +191 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/operations.py +77 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/types.py +104 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/__init__.py +62 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/api.py +326 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/operations.py +118 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/types.py +199 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/__init__.py +27 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/api.py +32 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/operations.py +7 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/__init__.py +118 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/connections.py +135 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/operations.py +97 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/providers.py +97 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/types.py +156 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/__init__.py +107 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/operations.py +75 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/preferences.py +74 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/types.py +338 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/__init__.py +53 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/api.py +165 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/operations.py +116 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/types.py +76 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/__init__.py +122 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/content_pages.py +77 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/feature_flags.py +76 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/operations.py +231 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/products.py +75 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/shortcuts.py +75 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/types.py +774 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/__init__.py +61 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/api.py +259 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/operations.py +89 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/types.py +109 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/__init__.py +65 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/executions.py +85 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/jobs.py +175 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/operations.py +95 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/types.py +128 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/__init__.py +82 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/operations.py +109 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/secrets.py +147 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/types.py +118 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/vaults.py +137 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/__init__.py +121 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/cart.py +112 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/installed.py +96 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/licenses.py +45 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/operations.py +155 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/orders.py +50 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/publisher.py +65 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/search.py +60 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/types.py +227 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/__init__.py +81 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/kb.py +37 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/operations.py +86 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/tickets.py +93 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/types.py +310 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/__init__.py +56 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/api.py +241 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/operations.py +83 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/types.py +141 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/__init__.py +51 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/api.py +140 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/operations.py +57 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/types.py +63 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/__init__.py +108 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/actions.py +467 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/agents.py +393 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/ai_tool_events.py +153 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/analytics.py +350 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/audit.py +191 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/configuration.py +266 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/docs.py +468 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/notes.py +247 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/sandboxes.py +770 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/sessions.py +181 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/targets.py +454 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/tunnels.py +97 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/types.py +1593 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/ui_session.py +159 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/vibedecks.py +441 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/vibes.py +254 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/webhooks.py +298 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/__init__.py +79 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/api.py +371 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/operations.py +157 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/types.py +167 -0
- burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/py.typed +0 -0
- burdenoff_sdk_libs-2026.523.1/tests/__init__.py +0 -0
- burdenoff_sdk_libs-2026.523.1/tests/conftest.py +1 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_auth_api.py +73 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_auth_pkce.py +32 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_auth_signin_integration.py +143 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_auth_store.py +102 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_billing_integration.py +85 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_channels_integration.py +61 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_codegen.py +251 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_devportal_integration.py +92 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_errors.py +63 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_export_integration.py +91 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_files_integration.py +60 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_groups_integration.py +64 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_health.py +31 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_integrations_integration.py +59 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_module.py +73 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_notifications_integration.py +85 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_organizations_integration.py +56 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_products_integration.py +127 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_rbac_integration.py +53 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_scheduler_integration.py +61 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_smoke.py +28 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_store_integration.py +104 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_stub_modules.py +45 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_support_integration.py +99 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_tags_integration.py +57 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_vibecontrols_integration.py +114 -0
- burdenoff_sdk_libs-2026.523.1/tests/test_workspaces_integration.py +95 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: burdenoff-sdk-libs
|
|
3
|
+
Version: 2026.523.1
|
|
4
|
+
Summary: Modular SDK library shared across all Burdenoff product SDKs (Python). Each module exposes attach(ctx) returning a typed API; product SDKs pick which modules to mount. Sister to @burdenoff/cli-sdk.
|
|
5
|
+
Project-URL: Homepage, https://github.com/algoshred/sdk-libs-python
|
|
6
|
+
Project-URL: Repository, https://github.com/algoshred/sdk-libs-python
|
|
7
|
+
Project-URL: Issues, https://github.com/algoshred/sdk-libs-python/issues
|
|
8
|
+
Author-email: "Vignesh T.V" <vignesh@burdenoff.com>
|
|
9
|
+
Maintainer-email: "Vignesh T.V" <vignesh@burdenoff.com>
|
|
10
|
+
License: Copyright (c) 2026 Burdenoff Consultancy Services Private Limited, Algoshred Technologies Private Limited and all sister companies.
|
|
11
|
+
All rights reserved.
|
|
12
|
+
|
|
13
|
+
Proprietary software. Unauthorized use, distribution, or modification is prohibited.
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Keywords: burdenoff,graphql,modular,python,sdk,sdk-libs
|
|
16
|
+
Classifier: Development Status :: 3 - Alpha
|
|
17
|
+
Classifier: Intended Audience :: Developers
|
|
18
|
+
Classifier: License :: Other/Proprietary License
|
|
19
|
+
Classifier: Operating System :: OS Independent
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
25
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
26
|
+
Requires-Python: >=3.10
|
|
27
|
+
Requires-Dist: httpx>=0.24.0
|
|
28
|
+
Requires-Dist: pyyaml>=6.0
|
|
29
|
+
Requires-Dist: typing-extensions>=4.0.0; python_version < '3.11'
|
|
30
|
+
Provides-Extra: codegen
|
|
31
|
+
Requires-Dist: ariadne-codegen>=0.13.0; extra == 'codegen'
|
|
32
|
+
Provides-Extra: dev
|
|
33
|
+
Requires-Dist: ariadne-codegen>=0.13.0; extra == 'dev'
|
|
34
|
+
Requires-Dist: black>=23.0.0; extra == 'dev'
|
|
35
|
+
Requires-Dist: flake8>=6.0.0; extra == 'dev'
|
|
36
|
+
Requires-Dist: isort>=5.12.0; extra == 'dev'
|
|
37
|
+
Requires-Dist: mypy>=1.7.0; extra == 'dev'
|
|
38
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
|
|
39
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
40
|
+
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
41
|
+
Requires-Dist: respx>=0.21.0; extra == 'dev'
|
|
42
|
+
Provides-Extra: test
|
|
43
|
+
Requires-Dist: httpx[testing]>=0.24.0; extra == 'test'
|
|
44
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'test'
|
|
45
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == 'test'
|
|
46
|
+
Requires-Dist: pytest>=7.0.0; extra == 'test'
|
|
47
|
+
Requires-Dist: respx>=0.21.0; extra == 'test'
|
|
48
|
+
Provides-Extra: ws
|
|
49
|
+
Requires-Dist: httpx-ws>=0.6.0; extra == 'ws'
|
|
50
|
+
Description-Content-Type: text/markdown
|
|
51
|
+
|
|
52
|
+
# burdenoff-sdk-libs
|
|
53
|
+
|
|
54
|
+
Modular SDK library shared across all Burdenoff product SDKs (Python).
|
|
55
|
+
|
|
56
|
+
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`](https://github.com/algoshred/sdk-libs-node) (Node) and [`@burdenoff/cli-sdk`](https://github.com/algoshred/cli-sdk).
|
|
57
|
+
|
|
58
|
+
## Architecture
|
|
59
|
+
|
|
60
|
+
- **Core** (`src/burdenoff_sdk_libs/core/`): `SdkContext`, `SdkModule` Protocol, dual-gateway `BaseGraphQLClient` (workspace + global), `AuthStore` with pluggable `TokenStore` (`InMemoryTokenStore`, `FileTokenStore`, `EnvTokenStore`), error hierarchy with token redaction, structured logger, `ModuleRegistry`.
|
|
61
|
+
- **Modules** (`src/burdenoff_sdk_libs/modules/<name>/`): `__init__.py` exports `SdkModule` instance. `operations.py` holds hand-written GraphQL doc strings. `api.py` builds the API. Generated types land at `src/burdenoff_sdk_libs/modules/<name>/__generated__/types.py` (gitignored).
|
|
62
|
+
- **PEP 562 lazy imports**: top-level `__getattr__` defers module loading until first access (lambda/edge cold-start friendly).
|
|
63
|
+
- **Hard rules**: Modules NEVER import each other directly — use `ctx.modules.get('id')`. Modules NEVER print, raise plain `Exception`, or log secrets unredacted.
|
|
64
|
+
|
|
65
|
+
## Build & Commands
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
python -m venv .venv && source .venv/bin/activate
|
|
69
|
+
pip install -e ".[dev]"
|
|
70
|
+
pytest # unit tests
|
|
71
|
+
pytest --cov # with coverage
|
|
72
|
+
python scripts/codegen.py # generate types from pinned supergraph
|
|
73
|
+
python scripts/parity_check.py # cross-language manifest diff vs sdk-libs-node
|
|
74
|
+
python -m build # sdist + wheel
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
## Adding a module
|
|
78
|
+
|
|
79
|
+
1. `mkdir src/burdenoff_sdk_libs/modules/<id>` with `__init__.py`, `operations.py`, `api.py`, `types.py`.
|
|
80
|
+
2. Export `SdkModule` instance from `__init__.py` (e.g. `auth_module = AuthModule()`).
|
|
81
|
+
3. Add to `_LAZY_MODULES` in top-level `__init__.py` if surfacing at package root.
|
|
82
|
+
4. Add manifest entry to `schema/modules.yaml`.
|
|
83
|
+
5. Mirror in `~/products/sdk-libs-node/` in the SAME PR pair.
|
|
84
|
+
|
|
85
|
+
## Testing
|
|
86
|
+
|
|
87
|
+
- Unit (`tests/test_*.py`): pure logic. No HTTP. pytest, <5s.
|
|
88
|
+
- Integration: respx intercepts HTTP. Mock factories derived from `__generated__/types.py`.
|
|
89
|
+
- E2E: real svc + state, run nightly.
|
|
90
|
+
- Parity: same `tests/parity/<scenario>.yaml` run by node + python.
|
|
91
|
+
|
|
92
|
+
## Reference
|
|
93
|
+
|
|
94
|
+
- `~/products/sdk-libs-node/` — sister Node library.
|
|
95
|
+
- `~/products/cli-sdk/` — sister CLI library.
|
|
96
|
+
- `~/products/vibecontrols/vibecontrols-sdk-python/` — first consumer (thin shell).
|
|
97
|
+
- `~/products/dev/audit/index/vibecontrols.md` — 23-module ground-truth.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# burdenoff-sdk-libs
|
|
2
|
+
|
|
3
|
+
Modular SDK library shared across all Burdenoff product SDKs (Python).
|
|
4
|
+
|
|
5
|
+
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`](https://github.com/algoshred/sdk-libs-node) (Node) and [`@burdenoff/cli-sdk`](https://github.com/algoshred/cli-sdk).
|
|
6
|
+
|
|
7
|
+
## Architecture
|
|
8
|
+
|
|
9
|
+
- **Core** (`src/burdenoff_sdk_libs/core/`): `SdkContext`, `SdkModule` Protocol, dual-gateway `BaseGraphQLClient` (workspace + global), `AuthStore` with pluggable `TokenStore` (`InMemoryTokenStore`, `FileTokenStore`, `EnvTokenStore`), error hierarchy with token redaction, structured logger, `ModuleRegistry`.
|
|
10
|
+
- **Modules** (`src/burdenoff_sdk_libs/modules/<name>/`): `__init__.py` exports `SdkModule` instance. `operations.py` holds hand-written GraphQL doc strings. `api.py` builds the API. Generated types land at `src/burdenoff_sdk_libs/modules/<name>/__generated__/types.py` (gitignored).
|
|
11
|
+
- **PEP 562 lazy imports**: top-level `__getattr__` defers module loading until first access (lambda/edge cold-start friendly).
|
|
12
|
+
- **Hard rules**: Modules NEVER import each other directly — use `ctx.modules.get('id')`. Modules NEVER print, raise plain `Exception`, or log secrets unredacted.
|
|
13
|
+
|
|
14
|
+
## Build & Commands
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
python -m venv .venv && source .venv/bin/activate
|
|
18
|
+
pip install -e ".[dev]"
|
|
19
|
+
pytest # unit tests
|
|
20
|
+
pytest --cov # with coverage
|
|
21
|
+
python scripts/codegen.py # generate types from pinned supergraph
|
|
22
|
+
python scripts/parity_check.py # cross-language manifest diff vs sdk-libs-node
|
|
23
|
+
python -m build # sdist + wheel
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Adding a module
|
|
27
|
+
|
|
28
|
+
1. `mkdir src/burdenoff_sdk_libs/modules/<id>` with `__init__.py`, `operations.py`, `api.py`, `types.py`.
|
|
29
|
+
2. Export `SdkModule` instance from `__init__.py` (e.g. `auth_module = AuthModule()`).
|
|
30
|
+
3. Add to `_LAZY_MODULES` in top-level `__init__.py` if surfacing at package root.
|
|
31
|
+
4. Add manifest entry to `schema/modules.yaml`.
|
|
32
|
+
5. Mirror in `~/products/sdk-libs-node/` in the SAME PR pair.
|
|
33
|
+
|
|
34
|
+
## Testing
|
|
35
|
+
|
|
36
|
+
- Unit (`tests/test_*.py`): pure logic. No HTTP. pytest, <5s.
|
|
37
|
+
- Integration: respx intercepts HTTP. Mock factories derived from `__generated__/types.py`.
|
|
38
|
+
- E2E: real svc + state, run nightly.
|
|
39
|
+
- Parity: same `tests/parity/<scenario>.yaml` run by node + python.
|
|
40
|
+
|
|
41
|
+
## Reference
|
|
42
|
+
|
|
43
|
+
- `~/products/sdk-libs-node/` — sister Node library.
|
|
44
|
+
- `~/products/cli-sdk/` — sister CLI library.
|
|
45
|
+
- `~/products/vibecontrols/vibecontrols-sdk-python/` — first consumer (thin shell).
|
|
46
|
+
- `~/products/dev/audit/index/vibecontrols.md` — 23-module ground-truth.
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "burdenoff-sdk-libs"
|
|
7
|
+
version = "2026.523.1"
|
|
8
|
+
description = "Modular SDK library shared across all Burdenoff product SDKs (Python). Each module exposes attach(ctx) returning a typed API; product SDKs pick which modules to mount. Sister to @burdenoff/cli-sdk."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = {file = "LICENSE"}
|
|
11
|
+
authors = [
|
|
12
|
+
{name = "Vignesh T.V", email = "vignesh@burdenoff.com"}
|
|
13
|
+
]
|
|
14
|
+
maintainers = [
|
|
15
|
+
{name = "Vignesh T.V", email = "vignesh@burdenoff.com"}
|
|
16
|
+
]
|
|
17
|
+
keywords = [
|
|
18
|
+
"burdenoff",
|
|
19
|
+
"sdk",
|
|
20
|
+
"sdk-libs",
|
|
21
|
+
"graphql",
|
|
22
|
+
"modular",
|
|
23
|
+
"python",
|
|
24
|
+
]
|
|
25
|
+
classifiers = [
|
|
26
|
+
"Development Status :: 3 - Alpha",
|
|
27
|
+
"Intended Audience :: Developers",
|
|
28
|
+
"License :: Other/Proprietary License",
|
|
29
|
+
"Operating System :: OS Independent",
|
|
30
|
+
"Programming Language :: Python :: 3",
|
|
31
|
+
"Programming Language :: Python :: 3.10",
|
|
32
|
+
"Programming Language :: Python :: 3.11",
|
|
33
|
+
"Programming Language :: Python :: 3.12",
|
|
34
|
+
"Programming Language :: Python :: 3.13",
|
|
35
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
36
|
+
]
|
|
37
|
+
requires-python = ">=3.10"
|
|
38
|
+
dependencies = [
|
|
39
|
+
"httpx>=0.24.0",
|
|
40
|
+
"typing-extensions>=4.0.0; python_version<'3.11'",
|
|
41
|
+
"PyYAML>=6.0",
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
[project.optional-dependencies]
|
|
45
|
+
dev = [
|
|
46
|
+
"pytest>=7.0.0",
|
|
47
|
+
"pytest-asyncio>=0.21.0",
|
|
48
|
+
"pytest-cov>=4.0.0",
|
|
49
|
+
"respx>=0.21.0",
|
|
50
|
+
"black>=23.0.0",
|
|
51
|
+
"isort>=5.12.0",
|
|
52
|
+
"flake8>=6.0.0",
|
|
53
|
+
"mypy>=1.7.0",
|
|
54
|
+
"ariadne-codegen>=0.13.0",
|
|
55
|
+
]
|
|
56
|
+
test = [
|
|
57
|
+
"pytest>=7.0.0",
|
|
58
|
+
"pytest-asyncio>=0.21.0",
|
|
59
|
+
"pytest-cov>=4.0.0",
|
|
60
|
+
"respx>=0.21.0",
|
|
61
|
+
"httpx[testing]>=0.24.0",
|
|
62
|
+
]
|
|
63
|
+
codegen = [
|
|
64
|
+
"ariadne-codegen>=0.13.0",
|
|
65
|
+
]
|
|
66
|
+
ws = [
|
|
67
|
+
"httpx-ws>=0.6.0",
|
|
68
|
+
]
|
|
69
|
+
|
|
70
|
+
[project.urls]
|
|
71
|
+
Homepage = "https://github.com/algoshred/sdk-libs-python"
|
|
72
|
+
Repository = "https://github.com/algoshred/sdk-libs-python"
|
|
73
|
+
Issues = "https://github.com/algoshred/sdk-libs-python/issues"
|
|
74
|
+
|
|
75
|
+
[tool.hatch.build.targets.wheel]
|
|
76
|
+
packages = ["src/burdenoff_sdk_libs"]
|
|
77
|
+
|
|
78
|
+
[tool.hatch.build.targets.sdist]
|
|
79
|
+
include = [
|
|
80
|
+
"/src",
|
|
81
|
+
"/tests",
|
|
82
|
+
"/schema",
|
|
83
|
+
"/scripts",
|
|
84
|
+
"README.md",
|
|
85
|
+
"LICENSE",
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
[tool.pytest.ini_options]
|
|
89
|
+
testpaths = ["tests"]
|
|
90
|
+
python_files = ["test_*.py", "*_test.py"]
|
|
91
|
+
python_classes = ["Test*"]
|
|
92
|
+
python_functions = ["test_*"]
|
|
93
|
+
addopts = [
|
|
94
|
+
"--cov=burdenoff_sdk_libs",
|
|
95
|
+
"--cov-report=term-missing",
|
|
96
|
+
"--strict-markers",
|
|
97
|
+
"--disable-warnings",
|
|
98
|
+
]
|
|
99
|
+
asyncio_mode = "auto"
|
|
100
|
+
markers = [
|
|
101
|
+
"slow: marks tests as slow",
|
|
102
|
+
"integration: marks tests as integration tests",
|
|
103
|
+
"unit: marks tests as unit tests",
|
|
104
|
+
]
|
|
105
|
+
|
|
106
|
+
[tool.coverage.run]
|
|
107
|
+
source = ["src/burdenoff_sdk_libs"]
|
|
108
|
+
omit = ["*/tests/*", "*/__pycache__/*", "*/__generated__/*"]
|
|
109
|
+
|
|
110
|
+
[tool.coverage.report]
|
|
111
|
+
exclude_lines = [
|
|
112
|
+
"pragma: no cover",
|
|
113
|
+
"def __repr__",
|
|
114
|
+
"raise NotImplementedError",
|
|
115
|
+
"if 0:",
|
|
116
|
+
"class .*\\bProtocol\\):",
|
|
117
|
+
"@(abc\\.)?abstractmethod",
|
|
118
|
+
"TYPE_CHECKING",
|
|
119
|
+
]
|
|
120
|
+
|
|
121
|
+
[tool.black]
|
|
122
|
+
line-length = 100
|
|
123
|
+
target-version = ["py313"]
|
|
124
|
+
|
|
125
|
+
[tool.isort]
|
|
126
|
+
profile = "black"
|
|
127
|
+
line_length = 100
|
|
128
|
+
|
|
129
|
+
[tool.flake8]
|
|
130
|
+
max-line-length = 100
|
|
131
|
+
extend-ignore = ["E203", "W503"]
|
|
132
|
+
exclude = [".git", "__pycache__", "build", "dist", ".venv", "**/__generated__/**"]
|
|
133
|
+
|
|
134
|
+
[tool.mypy]
|
|
135
|
+
python_version = "3.10"
|
|
136
|
+
strict = true
|
|
137
|
+
warn_unused_ignores = true
|
|
138
|
+
exclude = ["tests/", "build/", "dist/", "**/__generated__/**"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
d3a2c296710d664134cb307eb44e9c0cc715b64852643300fabde59fe09f19c5
|