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.
Files changed (187) hide show
  1. burdenoff_sdk_libs-2026.523.1/.gitignore +16 -0
  2. burdenoff_sdk_libs-2026.523.1/LICENSE +4 -0
  3. burdenoff_sdk_libs-2026.523.1/PKG-INFO +97 -0
  4. burdenoff_sdk_libs-2026.523.1/README.md +46 -0
  5. burdenoff_sdk_libs-2026.523.1/pyproject.toml +138 -0
  6. burdenoff_sdk_libs-2026.523.1/schema/SUPERGRAPH_PIN +1 -0
  7. burdenoff_sdk_libs-2026.523.1/schema/modules.yaml +840 -0
  8. burdenoff_sdk_libs-2026.523.1/schema/schema.lock.yaml +9 -0
  9. burdenoff_sdk_libs-2026.523.1/scripts/__init__.py +0 -0
  10. burdenoff_sdk_libs-2026.523.1/scripts/codegen.py +597 -0
  11. burdenoff_sdk_libs-2026.523.1/scripts/parity_check.py +51 -0
  12. burdenoff_sdk_libs-2026.523.1/scripts/set_registry.py +72 -0
  13. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/__init__.py +97 -0
  14. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/__init__.py +93 -0
  15. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/__init__.py +13 -0
  16. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/auth_store.py +58 -0
  17. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/auth/token_store.py +108 -0
  18. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/client.py +230 -0
  19. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/context.py +122 -0
  20. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/errors.py +161 -0
  21. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/logger.py +52 -0
  22. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/module.py +53 -0
  23. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/registry.py +28 -0
  24. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/core/types.py +36 -0
  25. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/__init__.py +1 -0
  26. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/__init__.py +55 -0
  27. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/api.py +410 -0
  28. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/operations.py +94 -0
  29. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/pkce.py +22 -0
  30. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/auth/types.py +80 -0
  31. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/__init__.py +152 -0
  32. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/addons.py +56 -0
  33. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/affiliate.py +104 -0
  34. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/api.py +77 -0
  35. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/coupons.py +116 -0
  36. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/credits.py +101 -0
  37. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/invoices.py +73 -0
  38. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/operations.py +348 -0
  39. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/payment_methods.py +79 -0
  40. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/plans.py +57 -0
  41. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/refunds.py +70 -0
  42. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/subscriptions.py +126 -0
  43. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/types.py +419 -0
  44. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/billing/usage.py +35 -0
  45. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/__init__.py +65 -0
  46. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/api.py +299 -0
  47. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/operations.py +154 -0
  48. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/channels/types.py +165 -0
  49. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/__init__.py +67 -0
  50. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/api.py +373 -0
  51. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/operations.py +133 -0
  52. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/conversations/types.py +178 -0
  53. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/__init__.py +172 -0
  54. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/admin.py +66 -0
  55. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/api_keys.py +76 -0
  56. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/apps.py +375 -0
  57. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/delegations.py +69 -0
  58. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/oauth.py +83 -0
  59. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/operations.py +363 -0
  60. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/orgs.py +138 -0
  61. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/revenue.py +38 -0
  62. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/types.py +370 -0
  63. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/devportal/webhooks.py +40 -0
  64. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/__init__.py +104 -0
  65. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/jobs.py +68 -0
  66. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/operations.py +89 -0
  67. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/templates.py +51 -0
  68. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/export/types.py +383 -0
  69. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/__init__.py +48 -0
  70. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/api.py +191 -0
  71. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/operations.py +77 -0
  72. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/files/types.py +104 -0
  73. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/__init__.py +62 -0
  74. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/api.py +326 -0
  75. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/operations.py +118 -0
  76. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/groups/types.py +199 -0
  77. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/__init__.py +27 -0
  78. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/api.py +32 -0
  79. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/health/operations.py +7 -0
  80. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/__init__.py +118 -0
  81. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/connections.py +135 -0
  82. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/operations.py +97 -0
  83. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/providers.py +97 -0
  84. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/integrations/types.py +156 -0
  85. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/__init__.py +107 -0
  86. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/operations.py +75 -0
  87. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/preferences.py +74 -0
  88. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/notifications/types.py +338 -0
  89. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/__init__.py +53 -0
  90. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/api.py +165 -0
  91. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/operations.py +116 -0
  92. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/organizations/types.py +76 -0
  93. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/__init__.py +122 -0
  94. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/content_pages.py +77 -0
  95. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/feature_flags.py +76 -0
  96. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/operations.py +231 -0
  97. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/products.py +75 -0
  98. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/shortcuts.py +75 -0
  99. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/products/types.py +774 -0
  100. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/__init__.py +61 -0
  101. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/api.py +259 -0
  102. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/operations.py +89 -0
  103. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/rbac/types.py +109 -0
  104. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/__init__.py +65 -0
  105. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/executions.py +85 -0
  106. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/jobs.py +175 -0
  107. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/operations.py +95 -0
  108. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/scheduler/types.py +128 -0
  109. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/__init__.py +82 -0
  110. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/operations.py +109 -0
  111. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/secrets.py +147 -0
  112. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/types.py +118 -0
  113. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/security/vaults.py +137 -0
  114. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/__init__.py +121 -0
  115. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/cart.py +112 -0
  116. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/installed.py +96 -0
  117. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/licenses.py +45 -0
  118. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/operations.py +155 -0
  119. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/orders.py +50 -0
  120. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/publisher.py +65 -0
  121. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/search.py +60 -0
  122. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/store/types.py +227 -0
  123. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/__init__.py +81 -0
  124. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/kb.py +37 -0
  125. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/operations.py +86 -0
  126. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/tickets.py +93 -0
  127. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/support/types.py +310 -0
  128. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/__init__.py +56 -0
  129. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/api.py +241 -0
  130. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/operations.py +83 -0
  131. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tags/types.py +141 -0
  132. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/__init__.py +51 -0
  133. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/api.py +140 -0
  134. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/operations.py +57 -0
  135. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/tours/types.py +63 -0
  136. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/__init__.py +108 -0
  137. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/actions.py +467 -0
  138. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/agents.py +393 -0
  139. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/ai_tool_events.py +153 -0
  140. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/analytics.py +350 -0
  141. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/audit.py +191 -0
  142. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/configuration.py +266 -0
  143. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/docs.py +468 -0
  144. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/notes.py +247 -0
  145. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/sandboxes.py +770 -0
  146. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/sessions.py +181 -0
  147. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/targets.py +454 -0
  148. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/tunnels.py +97 -0
  149. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/types.py +1593 -0
  150. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/ui_session.py +159 -0
  151. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/vibedecks.py +441 -0
  152. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/vibes.py +254 -0
  153. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/vibecontrols/webhooks.py +298 -0
  154. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/__init__.py +79 -0
  155. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/api.py +371 -0
  156. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/operations.py +157 -0
  157. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/modules/workspaces/types.py +167 -0
  158. burdenoff_sdk_libs-2026.523.1/src/burdenoff_sdk_libs/py.typed +0 -0
  159. burdenoff_sdk_libs-2026.523.1/tests/__init__.py +0 -0
  160. burdenoff_sdk_libs-2026.523.1/tests/conftest.py +1 -0
  161. burdenoff_sdk_libs-2026.523.1/tests/test_auth_api.py +73 -0
  162. burdenoff_sdk_libs-2026.523.1/tests/test_auth_pkce.py +32 -0
  163. burdenoff_sdk_libs-2026.523.1/tests/test_auth_signin_integration.py +143 -0
  164. burdenoff_sdk_libs-2026.523.1/tests/test_auth_store.py +102 -0
  165. burdenoff_sdk_libs-2026.523.1/tests/test_billing_integration.py +85 -0
  166. burdenoff_sdk_libs-2026.523.1/tests/test_channels_integration.py +61 -0
  167. burdenoff_sdk_libs-2026.523.1/tests/test_codegen.py +251 -0
  168. burdenoff_sdk_libs-2026.523.1/tests/test_devportal_integration.py +92 -0
  169. burdenoff_sdk_libs-2026.523.1/tests/test_errors.py +63 -0
  170. burdenoff_sdk_libs-2026.523.1/tests/test_export_integration.py +91 -0
  171. burdenoff_sdk_libs-2026.523.1/tests/test_files_integration.py +60 -0
  172. burdenoff_sdk_libs-2026.523.1/tests/test_groups_integration.py +64 -0
  173. burdenoff_sdk_libs-2026.523.1/tests/test_health.py +31 -0
  174. burdenoff_sdk_libs-2026.523.1/tests/test_integrations_integration.py +59 -0
  175. burdenoff_sdk_libs-2026.523.1/tests/test_module.py +73 -0
  176. burdenoff_sdk_libs-2026.523.1/tests/test_notifications_integration.py +85 -0
  177. burdenoff_sdk_libs-2026.523.1/tests/test_organizations_integration.py +56 -0
  178. burdenoff_sdk_libs-2026.523.1/tests/test_products_integration.py +127 -0
  179. burdenoff_sdk_libs-2026.523.1/tests/test_rbac_integration.py +53 -0
  180. burdenoff_sdk_libs-2026.523.1/tests/test_scheduler_integration.py +61 -0
  181. burdenoff_sdk_libs-2026.523.1/tests/test_smoke.py +28 -0
  182. burdenoff_sdk_libs-2026.523.1/tests/test_store_integration.py +104 -0
  183. burdenoff_sdk_libs-2026.523.1/tests/test_stub_modules.py +45 -0
  184. burdenoff_sdk_libs-2026.523.1/tests/test_support_integration.py +99 -0
  185. burdenoff_sdk_libs-2026.523.1/tests/test_tags_integration.py +57 -0
  186. burdenoff_sdk_libs-2026.523.1/tests/test_vibecontrols_integration.py +114 -0
  187. burdenoff_sdk_libs-2026.523.1/tests/test_workspaces_integration.py +95 -0
@@ -0,0 +1,16 @@
1
+ __pycache__
2
+ *.py[cod]
3
+ *.egg-info
4
+ build
5
+ dist
6
+ .eggs
7
+ .pytest_cache
8
+ .mypy_cache
9
+ .coverage
10
+ htmlcov
11
+ coverage.xml
12
+ .venv
13
+ .env
14
+ src/burdenoff_sdk_libs/**/__generated__
15
+ schema/supergraph.graphql
16
+ .pypirc
@@ -0,0 +1,4 @@
1
+ Copyright (c) 2026 Burdenoff Consultancy Services Private Limited, Algoshred Technologies Private Limited and all sister companies.
2
+ All rights reserved.
3
+
4
+ Proprietary software. Unauthorized use, distribution, or modification is prohibited.
@@ -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