databay-cli 0.1.0__py3-none-any.whl

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 (403) hide show
  1. databay/__init__.py +5 -0
  2. databay/__main__.py +7 -0
  3. databay/agent_skill.py +184 -0
  4. databay/api.py +626 -0
  5. databay/cli/__init__.py +0 -0
  6. databay/cli/auth.py +377 -0
  7. databay/cli/build.py +89 -0
  8. databay/cli/commands/__init__.py +0 -0
  9. databay/cli/commands/alerting_webhook.py +19 -0
  10. databay/cli/commands/alerting_webhook_tag.py +14 -0
  11. databay/cli/commands/alerting_webhook_type.py +14 -0
  12. databay/cli/commands/alerting_webhook_undelivered.py +15 -0
  13. databay/cli/commands/announcement.py +17 -0
  14. databay/cli/commands/api_key.py +18 -0
  15. databay/cli/commands/api_key_project.py +16 -0
  16. databay/cli/commands/backfill_reason_code.py +14 -0
  17. databay/cli/commands/backfill_run.py +17 -0
  18. databay/cli/commands/canvas.py +16 -0
  19. databay/cli/commands/canvas_graph.py +15 -0
  20. databay/cli/commands/canvas_table_check.py +15 -0
  21. databay/cli/commands/dashboards.py +21 -0
  22. databay/cli/commands/dashboards_card.py +20 -0
  23. databay/cli/commands/dashboards_dataset.py +14 -0
  24. databay/cli/commands/dashboards_folder.py +16 -0
  25. databay/cli/commands/dashboards_home.py +17 -0
  26. databay/cli/commands/dashboards_placement.py +16 -0
  27. databay/cli/commands/db.py +19 -0
  28. databay/cli/commands/db_column.py +14 -0
  29. databay/cli/commands/docs_article.py +16 -0
  30. databay/cli/commands/dq_result.py +14 -0
  31. databay/cli/commands/dq_rule.py +16 -0
  32. databay/cli/commands/feature.py +14 -0
  33. databay/cli/commands/google_ads_source.py +14 -0
  34. databay/cli/commands/google_analytics_source.py +14 -0
  35. databay/cli/commands/instagram_account.py +14 -0
  36. databay/cli/commands/instagram_source.py +14 -0
  37. databay/cli/commands/linkedin_account.py +14 -0
  38. databay/cli/commands/linkedin_source.py +14 -0
  39. databay/cli/commands/me.py +14 -0
  40. databay/cli/commands/meta_ads_source.py +14 -0
  41. databay/cli/commands/metric_models.py +26 -0
  42. databay/cli/commands/metrics.py +14 -0
  43. databay/cli/commands/models.py +16 -0
  44. databay/cli/commands/nlq.py +15 -0
  45. databay/cli/commands/notebook_credential.py +16 -0
  46. databay/cli/commands/org.py +14 -0
  47. databay/cli/commands/org_member.py +17 -0
  48. databay/cli/commands/org_offboarding.py +14 -0
  49. databay/cli/commands/pipe.py +26 -0
  50. databay/cli/commands/pipe_backfill_run.py +14 -0
  51. databay/cli/commands/pipe_config_option.py +14 -0
  52. databay/cli/commands/pipe_destination.py +16 -0
  53. databay/cli/commands/pipe_leftover.py +16 -0
  54. databay/cli/commands/pipe_sink_type.py +14 -0
  55. databay/cli/commands/pipe_source_type.py +14 -0
  56. databay/cli/commands/pipe_status_bucket.py +14 -0
  57. databay/cli/commands/pipe_stuck_delete.py +14 -0
  58. databay/cli/commands/plan.py +14 -0
  59. databay/cli/commands/project.py +21 -0
  60. databay/cli/commands/project_budget.py +15 -0
  61. databay/cli/commands/project_member.py +18 -0
  62. databay/cli/commands/project_privilege.py +16 -0
  63. databay/cli/commands/project_share.py +16 -0
  64. databay/cli/commands/provision.py +14 -0
  65. databay/cli/commands/provisioning.py +14 -0
  66. databay/cli/commands/registry.py +14 -0
  67. databay/cli/commands/resource_home.py +14 -0
  68. databay/cli/commands/schema_change.py +18 -0
  69. databay/cli/commands/schema_history.py +17 -0
  70. databay/cli/commands/schema_version.py +16 -0
  71. databay/cli/commands/shopify_store.py +14 -0
  72. databay/cli/commands/sink_data_type.py +14 -0
  73. databay/cli/commands/source.py +24 -0
  74. databay/cli/commands/source_catalog.py +15 -0
  75. databay/cli/commands/source_check_run.py +17 -0
  76. databay/cli/commands/source_hidden_type.py +14 -0
  77. databay/cli/commands/source_name.py +14 -0
  78. databay/cli/commands/source_pipe.py +14 -0
  79. databay/cli/commands/source_publication.py +16 -0
  80. databay/cli/commands/source_readiness_override.py +15 -0
  81. databay/cli/commands/source_setup_choice.py +16 -0
  82. databay/cli/commands/source_stream.py +15 -0
  83. databay/cli/commands/source_table.py +14 -0
  84. databay/cli/commands/ssbi_job.py +18 -0
  85. databay/cli/commands/transform_type.py +14 -0
  86. databay/cli/commands/usage.py +14 -0
  87. databay/cli/commands/warehouse.py +21 -0
  88. databay/cli/commands/warehouse_access_assignment.py +16 -0
  89. databay/cli/commands/warehouse_access_role.py +22 -0
  90. databay/cli/commands/warehouse_access_settings.py +17 -0
  91. databay/cli/commands/warehouse_login.py +20 -0
  92. databay/cli/commands/warehouse_principal.py +17 -0
  93. databay/cli/commands/warehouse_service_account.py +17 -0
  94. databay/cli/commands/warehouse_service_account_credential.py +18 -0
  95. databay/cli/common.py +93 -0
  96. databay/cli/console.py +121 -0
  97. databay/cli/flags.py +183 -0
  98. databay/cli/handwritten.py +22 -0
  99. databay/cli/main.py +198 -0
  100. databay/cli/metrics.py +171 -0
  101. databay/cli/org.py +193 -0
  102. databay/cli/output.py +134 -0
  103. databay/cli/pipe_wait.py +357 -0
  104. databay/cli/profile.py +230 -0
  105. databay/cli/runner.py +432 -0
  106. databay/cli/skill.py +64 -0
  107. databay/cli/sql.py +84 -0
  108. databay/compat.py +161 -0
  109. databay/credentials.py +217 -0
  110. databay/error_catalog.py +226 -0
  111. databay/error_codes.py +3265 -0
  112. databay/errors.py +222 -0
  113. databay/feature_header.py +40 -0
  114. databay/invoke.py +225 -0
  115. databay/locks.py +41 -0
  116. databay/login_flow.py +245 -0
  117. databay/model_base.py +40 -0
  118. databay/models/__init__.py +0 -0
  119. databay/models/alerting_webhook.py +46 -0
  120. databay/models/alerting_webhook_tag.py +11 -0
  121. databay/models/alerting_webhook_type.py +11 -0
  122. databay/models/alerting_webhook_undelivered.py +23 -0
  123. databay/models/announcement.py +37 -0
  124. databay/models/api_key.py +81 -0
  125. databay/models/api_key_project.py +29 -0
  126. databay/models/backfill_reason_code.py +11 -0
  127. databay/models/backfill_run.py +41 -0
  128. databay/models/canvas.py +68 -0
  129. databay/models/canvas_graph.py +86 -0
  130. databay/models/canvas_table_check.py +181 -0
  131. databay/models/dashboards.py +79 -0
  132. databay/models/dashboards_card.py +37 -0
  133. databay/models/dashboards_dataset.py +27 -0
  134. databay/models/dashboards_folder.py +18 -0
  135. databay/models/dashboards_home.py +28 -0
  136. databay/models/db.py +34 -0
  137. databay/models/db_column.py +11 -0
  138. databay/models/docs_article.py +59 -0
  139. databay/models/dq_result.py +27 -0
  140. databay/models/dq_rule.py +43 -0
  141. databay/models/feature.py +15 -0
  142. databay/models/google_ads_source.py +11 -0
  143. databay/models/google_analytics_source.py +11 -0
  144. databay/models/instagram_source.py +11 -0
  145. databay/models/linkedin_source.py +11 -0
  146. databay/models/me.py +71 -0
  147. databay/models/meta_ads_source.py +11 -0
  148. databay/models/metric_models.py +274 -0
  149. databay/models/metrics.py +158 -0
  150. databay/models/models.py +73 -0
  151. databay/models/nlq.py +92 -0
  152. databay/models/notebook_credential.py +51 -0
  153. databay/models/org.py +44 -0
  154. databay/models/org_member.py +123 -0
  155. databay/models/org_offboarding.py +36 -0
  156. databay/models/pipe.py +340 -0
  157. databay/models/pipe_config_option.py +25 -0
  158. databay/models/pipe_destination.py +128 -0
  159. databay/models/pipe_leftover.py +51 -0
  160. databay/models/pipe_sink_type.py +11 -0
  161. databay/models/pipe_source_type.py +11 -0
  162. databay/models/pipe_status_bucket.py +13 -0
  163. databay/models/pipe_stuck_delete.py +25 -0
  164. databay/models/plan.py +37 -0
  165. databay/models/project.py +154 -0
  166. databay/models/project_budget.py +22 -0
  167. databay/models/project_member.py +67 -0
  168. databay/models/project_privilege.py +21 -0
  169. databay/models/project_share.py +76 -0
  170. databay/models/provision.py +12 -0
  171. databay/models/provisioning.py +20 -0
  172. databay/models/registry.py +18 -0
  173. databay/models/resource_home.py +35 -0
  174. databay/models/schema_change.py +96 -0
  175. databay/models/schema_history.py +32 -0
  176. databay/models/schema_version.py +23 -0
  177. databay/models/shared.py +875 -0
  178. databay/models/shopify_store.py +19 -0
  179. databay/models/sink_data_type.py +11 -0
  180. databay/models/source.py +263 -0
  181. databay/models/source_catalog.py +82 -0
  182. databay/models/source_check_run.py +63 -0
  183. databay/models/source_hidden_type.py +13 -0
  184. databay/models/source_name.py +18 -0
  185. databay/models/source_pipe.py +16 -0
  186. databay/models/source_publication.py +30 -0
  187. databay/models/source_readiness_override.py +13 -0
  188. databay/models/source_setup_choice.py +33 -0
  189. databay/models/source_stream.py +65 -0
  190. databay/models/source_table.py +27 -0
  191. databay/models/sql.py +31 -0
  192. databay/models/ssbi_job.py +97 -0
  193. databay/models/transform_type.py +40 -0
  194. databay/models/usage.py +112 -0
  195. databay/models/warehouse.py +38 -0
  196. databay/models/warehouse_access_assignment.py +70 -0
  197. databay/models/warehouse_access_role.py +148 -0
  198. databay/models/warehouse_access_settings.py +35 -0
  199. databay/models/warehouse_login.py +20 -0
  200. databay/models/warehouse_principal.py +49 -0
  201. databay/models/warehouse_service_account.py +35 -0
  202. databay/models/warehouse_service_account_credential.py +11 -0
  203. databay/oidc.py +205 -0
  204. databay/operation.py +191 -0
  205. databay/operations/__init__.py +0 -0
  206. databay/operations/alerting_webhook.py +317 -0
  207. databay/operations/alerting_webhook_tag.py +35 -0
  208. databay/operations/alerting_webhook_type.py +35 -0
  209. databay/operations/alerting_webhook_undelivered.py +74 -0
  210. databay/operations/announcement.py +135 -0
  211. databay/operations/api_key.py +198 -0
  212. databay/operations/api_key_project.py +130 -0
  213. databay/operations/backfill_reason_code.py +35 -0
  214. databay/operations/backfill_run.py +245 -0
  215. databay/operations/canvas.py +136 -0
  216. databay/operations/canvas_graph.py +102 -0
  217. databay/operations/canvas_table_check.py +101 -0
  218. databay/operations/dashboards.py +441 -0
  219. databay/operations/dashboards_card.py +406 -0
  220. databay/operations/dashboards_dataset.py +50 -0
  221. databay/operations/dashboards_folder.py +146 -0
  222. databay/operations/dashboards_home.py +176 -0
  223. databay/operations/dashboards_placement.py +152 -0
  224. databay/operations/db.py +337 -0
  225. databay/operations/db_column.py +57 -0
  226. databay/operations/docs_article.py +101 -0
  227. databay/operations/dq_result.py +43 -0
  228. databay/operations/dq_rule.py +155 -0
  229. databay/operations/feature.py +35 -0
  230. databay/operations/google_ads_source.py +40 -0
  231. databay/operations/google_analytics_source.py +40 -0
  232. databay/operations/instagram_account.py +47 -0
  233. databay/operations/instagram_source.py +40 -0
  234. databay/operations/linkedin_account.py +47 -0
  235. databay/operations/linkedin_source.py +40 -0
  236. databay/operations/me.py +57 -0
  237. databay/operations/meta_ads_source.py +40 -0
  238. databay/operations/metric_models.py +612 -0
  239. databay/operations/metrics.py +218 -0
  240. databay/operations/models.py +123 -0
  241. databay/operations/nlq.py +100 -0
  242. databay/operations/notebook_credential.py +95 -0
  243. databay/operations/org.py +79 -0
  244. databay/operations/org_member.py +192 -0
  245. databay/operations/org_offboarding.py +43 -0
  246. databay/operations/pipe.py +882 -0
  247. databay/operations/pipe_backfill_run.py +72 -0
  248. databay/operations/pipe_config_option.py +50 -0
  249. databay/operations/pipe_destination.py +178 -0
  250. databay/operations/pipe_leftover.py +110 -0
  251. databay/operations/pipe_sink_type.py +35 -0
  252. databay/operations/pipe_source_type.py +35 -0
  253. databay/operations/pipe_status_bucket.py +35 -0
  254. databay/operations/pipe_stuck_delete.py +52 -0
  255. databay/operations/plan.py +35 -0
  256. databay/operations/project.py +346 -0
  257. databay/operations/project_budget.py +135 -0
  258. databay/operations/project_member.py +226 -0
  259. databay/operations/project_privilege.py +143 -0
  260. databay/operations/project_share.py +160 -0
  261. databay/operations/provision.py +35 -0
  262. databay/operations/provisioning.py +35 -0
  263. databay/operations/registry.py +35 -0
  264. databay/operations/resource_home.py +80 -0
  265. databay/operations/schema_change.py +222 -0
  266. databay/operations/schema_history.py +136 -0
  267. databay/operations/schema_version.py +115 -0
  268. databay/operations/shopify_store.py +40 -0
  269. databay/operations/sink_data_type.py +43 -0
  270. databay/operations/source.py +1207 -0
  271. databay/operations/source_catalog.py +135 -0
  272. databay/operations/source_check_run.py +242 -0
  273. databay/operations/source_hidden_type.py +59 -0
  274. databay/operations/source_name.py +69 -0
  275. databay/operations/source_pipe.py +57 -0
  276. databay/operations/source_publication.py +139 -0
  277. databay/operations/source_readiness_override.py +96 -0
  278. databay/operations/source_setup_choice.py +161 -0
  279. databay/operations/source_stream.py +99 -0
  280. databay/operations/source_table.py +59 -0
  281. databay/operations/sql.py +54 -0
  282. databay/operations/ssbi_job.py +242 -0
  283. databay/operations/transform_type.py +35 -0
  284. databay/operations/usage.py +35 -0
  285. databay/operations/warehouse.py +343 -0
  286. databay/operations/warehouse_access_assignment.py +179 -0
  287. databay/operations/warehouse_access_role.py +473 -0
  288. databay/operations/warehouse_access_settings.py +172 -0
  289. databay/operations/warehouse_login.py +308 -0
  290. databay/operations/warehouse_principal.py +174 -0
  291. databay/operations/warehouse_service_account.py +206 -0
  292. databay/operations/warehouse_service_account_credential.py +285 -0
  293. databay/paths.py +32 -0
  294. databay/platform_check.py +20 -0
  295. databay/profiles.py +181 -0
  296. databay/redact.py +22 -0
  297. databay/reference.py +218 -0
  298. databay/resource.py +167 -0
  299. databay/resources/__init__.py +0 -0
  300. databay/resources/alerting_webhook.py +84 -0
  301. databay/resources/alerting_webhook_tag.py +21 -0
  302. databay/resources/alerting_webhook_type.py +21 -0
  303. databay/resources/alerting_webhook_undelivered.py +35 -0
  304. databay/resources/announcement.py +45 -0
  305. databay/resources/api_key.py +56 -0
  306. databay/resources/api_key_project.py +47 -0
  307. databay/resources/backfill_reason_code.py +21 -0
  308. databay/resources/backfill_run.py +78 -0
  309. databay/resources/canvas.py +43 -0
  310. databay/resources/canvas_graph.py +38 -0
  311. databay/resources/canvas_table_check.py +38 -0
  312. databay/resources/dashboards.py +105 -0
  313. databay/resources/dashboards_card.py +97 -0
  314. databay/resources/dashboards_dataset.py +27 -0
  315. databay/resources/dashboards_folder.py +47 -0
  316. databay/resources/dashboards_home.py +59 -0
  317. databay/resources/dashboards_placement.py +47 -0
  318. databay/resources/db.py +87 -0
  319. databay/resources/db_column.py +28 -0
  320. databay/resources/docs_article.py +37 -0
  321. databay/resources/dq_result.py +25 -0
  322. databay/resources/dq_rule.py +48 -0
  323. databay/resources/feature.py +21 -0
  324. databay/resources/google_ads_source.py +25 -0
  325. databay/resources/google_analytics_source.py +25 -0
  326. databay/resources/instagram_account.py +27 -0
  327. databay/resources/instagram_source.py +25 -0
  328. databay/resources/linkedin_account.py +27 -0
  329. databay/resources/linkedin_source.py +25 -0
  330. databay/resources/me.py +27 -0
  331. databay/resources/meta_ads_source.py +25 -0
  332. databay/resources/metric_models.py +154 -0
  333. databay/resources/metrics.py +57 -0
  334. databay/resources/models.py +42 -0
  335. databay/resources/nlq.py +34 -0
  336. databay/resources/notebook_credential.py +41 -0
  337. databay/resources/org.py +29 -0
  338. databay/resources/org_member.py +53 -0
  339. databay/resources/org_offboarding.py +25 -0
  340. databay/resources/pipe.py +208 -0
  341. databay/resources/pipe_backfill_run.py +28 -0
  342. databay/resources/pipe_config_option.py +26 -0
  343. databay/resources/pipe_destination.py +49 -0
  344. databay/resources/pipe_leftover.py +42 -0
  345. databay/resources/pipe_sink_type.py +21 -0
  346. databay/resources/pipe_source_type.py +21 -0
  347. databay/resources/pipe_status_bucket.py +21 -0
  348. databay/resources/pipe_stuck_delete.py +27 -0
  349. databay/resources/plan.py +21 -0
  350. databay/resources/project.py +92 -0
  351. databay/resources/project_budget.py +38 -0
  352. databay/resources/project_member.py +68 -0
  353. databay/resources/project_privilege.py +48 -0
  354. databay/resources/project_share.py +47 -0
  355. databay/resources/provision.py +21 -0
  356. databay/resources/provisioning.py +21 -0
  357. databay/resources/registry.py +21 -0
  358. databay/resources/resource_home.py +29 -0
  359. databay/resources/schema_change.py +62 -0
  360. databay/resources/schema_history.py +52 -0
  361. databay/resources/schema_version.py +43 -0
  362. databay/resources/shopify_store.py +25 -0
  363. databay/resources/sink_data_type.py +25 -0
  364. databay/resources/source.py +132 -0
  365. databay/resources/source_catalog.py +34 -0
  366. databay/resources/source_check_run.py +67 -0
  367. databay/resources/source_hidden_type.py +25 -0
  368. databay/resources/source_name.py +27 -0
  369. databay/resources/source_pipe.py +28 -0
  370. databay/resources/source_publication.py +47 -0
  371. databay/resources/source_readiness_override.py +37 -0
  372. databay/resources/source_setup_choice.py +50 -0
  373. databay/resources/source_stream.py +38 -0
  374. databay/resources/source_table.py +27 -0
  375. databay/resources/sql.py +27 -0
  376. databay/resources/ssbi_job.py +69 -0
  377. databay/resources/transform_type.py +21 -0
  378. databay/resources/usage.py +21 -0
  379. databay/resources/warehouse.py +136 -0
  380. databay/resources/warehouse_access_assignment.py +51 -0
  381. databay/resources/warehouse_access_role.py +118 -0
  382. databay/resources/warehouse_access_settings.py +56 -0
  383. databay/resources/warehouse_login.py +81 -0
  384. databay/resources/warehouse_principal.py +51 -0
  385. databay/resources/warehouse_service_account.py +61 -0
  386. databay/resources/warehouse_service_account_credential.py +78 -0
  387. databay/sdk.py +77 -0
  388. databay/settings.py +90 -0
  389. databay/skill/SKILL.md +357 -0
  390. databay/skill/references/commands.md +7025 -0
  391. databay/skill/references/errors.md +727 -0
  392. databay/spec.py +362 -0
  393. databay/stored_token.py +134 -0
  394. databay/tokens.py +108 -0
  395. databay/transport.py +357 -0
  396. databay/update_check.py +151 -0
  397. databay/version.py +6 -0
  398. databay/waits.py +330 -0
  399. databay_cli-0.1.0.dist-info/METADATA +42 -0
  400. databay_cli-0.1.0.dist-info/RECORD +403 -0
  401. databay_cli-0.1.0.dist-info/WHEEL +4 -0
  402. databay_cli-0.1.0.dist-info/entry_points.txt +2 -0
  403. databay_cli-0.1.0.dist-info/licenses/LICENSE +202 -0
@@ -0,0 +1,38 @@
1
+ """``client.source_stream``: the ``source-stream`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import source_stream as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.source_stream import StreamCatalogResponse, StreamShapeResponse
15
+
16
+
17
+ class SourceStreamResource(Resource):
18
+
19
+ def get(
20
+ self,
21
+ *,
22
+ source_uuid: str,
23
+ namespace: str,
24
+ stream: str,
25
+ project: str | None = None,
26
+ ) -> StreamShapeResponse:
27
+ """Connected Source Stream Shape. ``databay source-stream get``."""
28
+ return self._call(_ops.SOURCE_STREAM_GET, {'source_uuid': source_uuid, 'namespace': namespace, 'stream': stream}, project=project)
29
+
30
+ def list(
31
+ self,
32
+ *,
33
+ source_uuid: str,
34
+ namespace: str | Unset = UNSET,
35
+ project: str | None = None,
36
+ ) -> StreamCatalogResponse:
37
+ """Connected Source Streams. ``databay source-stream list``."""
38
+ return self._call(_ops.SOURCE_STREAM_LIST, {'source_uuid': source_uuid, 'namespace': namespace}, project=project)
@@ -0,0 +1,27 @@
1
+ """``client.source_table``: the ``source-table`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import source_table as _ops
11
+ from databay.resource import Resource
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.source_table import TableReadinessReport
15
+
16
+
17
+ class SourceTableResource(Resource):
18
+
19
+ def check(
20
+ self,
21
+ *,
22
+ source_uuid: str,
23
+ schema_name: str,
24
+ project: str | None = None,
25
+ ) -> TableReadinessReport:
26
+ """Connected Source Table Readiness. ``databay source-table check``."""
27
+ return self._call(_ops.SOURCE_TABLE_CHECK, {'source_uuid': source_uuid, 'schema_name': schema_name}, project=project)
@@ -0,0 +1,27 @@
1
+ """``client.sql``: the ``sql`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import sql as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.sql import SqlExecuteResponse
15
+
16
+
17
+ class SqlResource(Resource):
18
+
19
+ def execute(
20
+ self,
21
+ *,
22
+ query: str,
23
+ db_uuid: str | None | Unset = UNSET,
24
+ project: str | None = None,
25
+ ) -> SqlExecuteResponse:
26
+ """Execute Sql. ``databay sql execute``."""
27
+ return self._call(_ops.SQL_EXECUTE, {'db_uuid': db_uuid, 'query': query}, project=project)
@@ -0,0 +1,69 @@
1
+ """``client.ssbi_job``: the ``ssbi-job`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING, Any
9
+
10
+ from databay.operations import ssbi_job as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.ssbi_job import JobResponse, SsbiJobListResponse
15
+
16
+
17
+ class SsbiJobResource(Resource):
18
+
19
+ def create(
20
+ self,
21
+ *,
22
+ destination_table: str,
23
+ name: str,
24
+ resource: Any,
25
+ schedule: Any,
26
+ transformation: Any,
27
+ project: str | None = None,
28
+ idempotency_key: str | None = None,
29
+ ) -> JobResponse:
30
+ """Create a new Job. ``databay ssbi-job create``."""
31
+ return self._call(_ops.SSBI_JOB_CREATE, {'destination_table': destination_table, 'name': name, 'resource': resource, 'schedule': schedule, 'transformation': transformation}, project=project, idempotency_key=idempotency_key)
32
+
33
+ def delete(
34
+ self,
35
+ *,
36
+ job_uuid: str,
37
+ ) -> None:
38
+ """Delete an Job. ``databay ssbi-job delete``."""
39
+ return self._call(_ops.SSBI_JOB_DELETE, {'job_uuid': job_uuid})
40
+
41
+ def get(
42
+ self,
43
+ *,
44
+ job_uuid: str,
45
+ ) -> JobResponse:
46
+ """Get a specific Job by UUID. ``databay ssbi-job get``."""
47
+ return self._call(_ops.SSBI_JOB_GET, {'job_uuid': job_uuid})
48
+
49
+ def list(
50
+ self,
51
+ *,
52
+ skip: int | Unset = UNSET,
53
+ limit: int | Unset = UNSET,
54
+ project: str | None = None,
55
+ ) -> SsbiJobListResponse:
56
+ """List all Jobs. ``databay ssbi-job list``."""
57
+ return self._call(_ops.SSBI_JOB_LIST, {'skip': skip, 'limit': limit}, project=project)
58
+
59
+ def update(
60
+ self,
61
+ *,
62
+ job_uuid: str,
63
+ name: str | None | Unset = UNSET,
64
+ resource: Any | None | Unset = UNSET,
65
+ schedule: Any | None | Unset = UNSET,
66
+ transformation: Any | None | Unset = UNSET,
67
+ ) -> JobResponse:
68
+ """Update an Job. ``databay ssbi-job update``."""
69
+ return self._call(_ops.SSBI_JOB_UPDATE, {'job_uuid': job_uuid, 'name': name, 'resource': resource, 'schedule': schedule, 'transformation': transformation})
@@ -0,0 +1,21 @@
1
+ """``client.transform_type``: the ``transform-type`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import transform_type as _ops
11
+ from databay.resource import Resource
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.transform_type import TransformTypeListResponse
15
+
16
+
17
+ class TransformTypeResource(Resource):
18
+
19
+ def list(self) -> TransformTypeListResponse:
20
+ """Get Transform Types. ``databay transform-type list``."""
21
+ return self._call(_ops.TRANSFORM_TYPE_LIST, {})
@@ -0,0 +1,21 @@
1
+ """``client.usage``: the ``usage`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import usage as _ops
11
+ from databay.resource import Resource
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.usage import UsageView
15
+
16
+
17
+ class UsageResource(Resource):
18
+
19
+ def get(self) -> UsageView:
20
+ """Get Usage. ``databay usage get``."""
21
+ return self._call(_ops.USAGE_GET, {})
@@ -0,0 +1,136 @@
1
+ """``client.warehouse``: the ``warehouse`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING, Literal, overload
9
+
10
+ from databay.operations import warehouse as _ops
11
+ from databay.resource import Resource, Waited
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.shared import PublicDBResponse, WarehouseAcceptedResponse
15
+ from databay.models.warehouse import WarehouseImpactResponse, WarehouseListResponse, WarehouseStatsResponse
16
+
17
+
18
+ class WarehouseResource(Resource):
19
+
20
+ def create(
21
+ self,
22
+ *,
23
+ name: str,
24
+ project: str | None = None,
25
+ idempotency_key: str | None = None,
26
+ ) -> WarehouseAcceptedResponse:
27
+ """Create Warehouse. ``databay warehouse create``."""
28
+ return self._call(_ops.WAREHOUSE_CREATE, {'name': name}, project=project, idempotency_key=idempotency_key)
29
+
30
+ def delete(
31
+ self,
32
+ *,
33
+ db_uuid: str,
34
+ project: str | None = None,
35
+ ) -> WarehouseAcceptedResponse:
36
+ """Delete Warehouse. ``databay warehouse delete``."""
37
+ return self._call(_ops.WAREHOUSE_DELETE, {'db_uuid': db_uuid}, project=project)
38
+
39
+ @overload
40
+ def get(
41
+ self,
42
+ *,
43
+ db_uuid: str,
44
+ project: str | None = None,
45
+ wait: Literal[False] = False,
46
+ timeout: None = None,
47
+ ) -> PublicDBResponse: ...
48
+
49
+
50
+ @overload
51
+ def get(
52
+ self,
53
+ *,
54
+ db_uuid: str,
55
+ project: str | None = None,
56
+ wait: Literal[True],
57
+ timeout: float | None = None,
58
+ ) -> Waited[PublicDBResponse]: ...
59
+
60
+ def get(
61
+ self,
62
+ *,
63
+ db_uuid: str,
64
+ project: str | None = None,
65
+ wait: bool = False,
66
+ timeout: float | None = None,
67
+ ) -> PublicDBResponse | Waited[PublicDBResponse]:
68
+ """Get Warehouse. ``databay warehouse get``."""
69
+ return self._call(_ops.WAREHOUSE_GET, {'db_uuid': db_uuid}, project=project, wait=wait, timeout=timeout)
70
+
71
+ def impact(
72
+ self,
73
+ *,
74
+ db_uuid: str,
75
+ project: str | None = None,
76
+ ) -> WarehouseImpactResponse:
77
+ """Warehouse Impact. ``databay warehouse impact``."""
78
+ return self._call(_ops.WAREHOUSE_IMPACT, {'db_uuid': db_uuid}, project=project)
79
+
80
+ def list(
81
+ self,
82
+ *,
83
+ project: str | None = None,
84
+ ) -> WarehouseListResponse:
85
+ """List Warehouses. ``databay warehouse list``."""
86
+ return self._call(_ops.WAREHOUSE_LIST, {}, project=project)
87
+
88
+ def rename(
89
+ self,
90
+ *,
91
+ db_uuid: str,
92
+ name: str,
93
+ project: str | None = None,
94
+ ) -> PublicDBResponse:
95
+ """Rename Warehouse. ``databay warehouse rename``."""
96
+ return self._call(_ops.WAREHOUSE_RENAME, {'db_uuid': db_uuid, 'name': name}, project=project)
97
+
98
+ @overload
99
+ def retry(
100
+ self,
101
+ *,
102
+ db_uuid: str,
103
+ project: str | None = None,
104
+ wait: Literal[False] = False,
105
+ timeout: None = None,
106
+ ) -> WarehouseAcceptedResponse: ...
107
+
108
+
109
+ @overload
110
+ def retry(
111
+ self,
112
+ *,
113
+ db_uuid: str,
114
+ project: str | None = None,
115
+ wait: Literal[True],
116
+ timeout: float | None = None,
117
+ ) -> Waited[WarehouseAcceptedResponse]: ...
118
+
119
+ def retry(
120
+ self,
121
+ *,
122
+ db_uuid: str,
123
+ project: str | None = None,
124
+ wait: bool = False,
125
+ timeout: float | None = None,
126
+ ) -> WarehouseAcceptedResponse | Waited[WarehouseAcceptedResponse]:
127
+ """Retry Warehouse. ``databay warehouse retry``."""
128
+ return self._call(_ops.WAREHOUSE_RETRY, {'db_uuid': db_uuid}, project=project, wait=wait, timeout=timeout)
129
+
130
+ def stats(
131
+ self,
132
+ *,
133
+ project: str | None = None,
134
+ ) -> WarehouseStatsResponse:
135
+ """Warehouse Stats. ``databay warehouse stats``."""
136
+ return self._call(_ops.WAREHOUSE_STATS, {}, project=project)
@@ -0,0 +1,51 @@
1
+ """``client.warehouse_access_assignment``: the ``warehouse-access-assignment`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import warehouse_access_assignment as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.warehouse_access_assignment import AccessPreviewOut, AssignmentOut, WarehouseAccessAssignmentListResponse
15
+
16
+
17
+ class WarehouseAccessAssignmentResource(Resource):
18
+
19
+ def list(
20
+ self,
21
+ *,
22
+ project_id: str | Unset = UNSET,
23
+ project: str | None = None,
24
+ ) -> WarehouseAccessAssignmentListResponse:
25
+ """List Assignments. ``databay warehouse-access-assignment list``."""
26
+ return self._call(_ops.WAREHOUSE_ACCESS_ASSIGNMENT_LIST, {'project_id': project_id}, project=project)
27
+
28
+ def preview(
29
+ self,
30
+ *,
31
+ holder_id: str,
32
+ holder_kind: str,
33
+ role_ids: list[str],
34
+ project_id: str | Unset = UNSET,
35
+ project: str | None = None,
36
+ ) -> AccessPreviewOut:
37
+ """Preview. ``databay warehouse-access-assignment preview``."""
38
+ return self._call(_ops.WAREHOUSE_ACCESS_ASSIGNMENT_PREVIEW, {'project_id': project_id, 'holder_id': holder_id, 'holder_kind': holder_kind, 'role_ids': role_ids}, project=project)
39
+
40
+ def set(
41
+ self,
42
+ *,
43
+ holder_id: str,
44
+ holder_kind: str,
45
+ revision: int,
46
+ role_ids: list[str],
47
+ project_id: str | Unset = UNSET,
48
+ project: str | None = None,
49
+ ) -> AssignmentOut:
50
+ """Put Assignment. ``databay warehouse-access-assignment set``."""
51
+ return self._call(_ops.WAREHOUSE_ACCESS_ASSIGNMENT_SET, {'project_id': project_id, 'holder_id': holder_id, 'holder_kind': holder_kind, 'revision': revision, 'role_ids': role_ids}, project=project)
@@ -0,0 +1,118 @@
1
+ """``client.warehouse_access_role``: the ``warehouse-access-role`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING, Any
9
+
10
+ from databay.operations import warehouse_access_role as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.warehouse_access_role import AccessRoleOut, RoleMetricsOut, WarehouseAccessRoleListResponse, WarehouseSchemaOut
15
+
16
+
17
+ class WarehouseAccessRoleResource(Resource):
18
+
19
+ def create(
20
+ self,
21
+ *,
22
+ name: str,
23
+ project_id: str | Unset = UNSET,
24
+ description: str | Unset = UNSET,
25
+ project: str | None = None,
26
+ idempotency_key: str | None = None,
27
+ ) -> AccessRoleOut:
28
+ """Create Role. ``databay warehouse-access-role create``."""
29
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_CREATE, {'project_id': project_id, 'description': description, 'name': name}, project=project, idempotency_key=idempotency_key)
30
+
31
+ def delete(
32
+ self,
33
+ *,
34
+ role_id: str,
35
+ project_id: str | Unset = UNSET,
36
+ project: str | None = None,
37
+ ) -> None:
38
+ """Delete Role. ``databay warehouse-access-role delete``."""
39
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_DELETE, {'project_id': project_id, 'role_id': role_id}, project=project)
40
+
41
+ def get_metrics(
42
+ self,
43
+ *,
44
+ role_id: str,
45
+ project_id: str | Unset = UNSET,
46
+ project: str | None = None,
47
+ ) -> RoleMetricsOut:
48
+ """Get Metric Grant. ``databay warehouse-access-role get-metrics``."""
49
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_GET_METRICS, {'project_id': project_id, 'role_id': role_id}, project=project)
50
+
51
+ def list(
52
+ self,
53
+ *,
54
+ project_id: str | Unset = UNSET,
55
+ project: str | None = None,
56
+ ) -> WarehouseAccessRoleListResponse:
57
+ """List Roles. ``databay warehouse-access-role list``."""
58
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_LIST, {'project_id': project_id}, project=project)
59
+
60
+ def list_tables(
61
+ self,
62
+ *,
63
+ db_uuid: str,
64
+ project_id: str | Unset = UNSET,
65
+ project: str | None = None,
66
+ ) -> WarehouseSchemaOut:
67
+ """Warehouse Schema. ``databay warehouse-access-role list-tables``."""
68
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_LIST_TABLES, {'project_id': project_id, 'db_uuid': db_uuid}, project=project)
69
+
70
+ def set_metrics(
71
+ self,
72
+ *,
73
+ role_id: str,
74
+ metrics: list[str],
75
+ mode: str,
76
+ revision: int,
77
+ project_id: str | Unset = UNSET,
78
+ project: str | None = None,
79
+ ) -> RoleMetricsOut:
80
+ """Put Metric Grant. ``databay warehouse-access-role set-metrics``."""
81
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_SET_METRICS, {'project_id': project_id, 'role_id': role_id, 'metrics': metrics, 'mode': mode, 'revision': revision}, project=project)
82
+
83
+ def set_rules(
84
+ self,
85
+ *,
86
+ role_id: str,
87
+ revision: int,
88
+ rules: Any,
89
+ project_id: str | Unset = UNSET,
90
+ project: str | None = None,
91
+ ) -> AccessRoleOut:
92
+ """Put Rules. ``databay warehouse-access-role set-rules``."""
93
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_SET_RULES, {'project_id': project_id, 'role_id': role_id, 'revision': revision, 'rules': rules}, project=project)
94
+
95
+ def set_scope_mode(
96
+ self,
97
+ *,
98
+ role_id: str,
99
+ revision: int,
100
+ scope_mode: str,
101
+ project_id: str | Unset = UNSET,
102
+ project: str | None = None,
103
+ ) -> AccessRoleOut:
104
+ """Set Scope Mode. ``databay warehouse-access-role set-scope-mode``."""
105
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_SET_SCOPE_MODE, {'project_id': project_id, 'role_id': role_id, 'revision': revision, 'scope_mode': scope_mode}, project=project)
106
+
107
+ def update(
108
+ self,
109
+ *,
110
+ role_id: str,
111
+ revision: int,
112
+ project_id: str | Unset = UNSET,
113
+ description: str | None | Unset = UNSET,
114
+ name: str | None | Unset = UNSET,
115
+ project: str | None = None,
116
+ ) -> AccessRoleOut:
117
+ """Update Role. ``databay warehouse-access-role update``."""
118
+ return self._call(_ops.WAREHOUSE_ACCESS_ROLE_UPDATE, {'project_id': project_id, 'role_id': role_id, 'description': description, 'name': name, 'revision': revision}, project=project)
@@ -0,0 +1,56 @@
1
+ """``client.warehouse_access_settings``: the ``warehouse-access-settings`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import warehouse_access_settings as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.warehouse_access_settings import AccessSettingsOut, DefaultRoleOut
15
+
16
+
17
+ class WarehouseAccessSettingsResource(Resource):
18
+
19
+ def get(
20
+ self,
21
+ *,
22
+ project_id: str | Unset = UNSET,
23
+ project: str | None = None,
24
+ ) -> AccessSettingsOut:
25
+ """Get Settings. ``databay warehouse-access-settings get``."""
26
+ return self._call(_ops.WAREHOUSE_ACCESS_SETTINGS_GET, {'project_id': project_id}, project=project)
27
+
28
+ def get_default_role(
29
+ self,
30
+ *,
31
+ project_id: str | Unset = UNSET,
32
+ project: str | None = None,
33
+ ) -> DefaultRoleOut:
34
+ """Get Default Role. ``databay warehouse-access-settings get-default-role``."""
35
+ return self._call(_ops.WAREHOUSE_ACCESS_SETTINGS_GET_DEFAULT_ROLE, {'project_id': project_id}, project=project)
36
+
37
+ def set(
38
+ self,
39
+ *,
40
+ personal_logins_enabled: bool,
41
+ project_id: str | Unset = UNSET,
42
+ project: str | None = None,
43
+ ) -> AccessSettingsOut:
44
+ """Put Settings. ``databay warehouse-access-settings set``."""
45
+ return self._call(_ops.WAREHOUSE_ACCESS_SETTINGS_SET, {'project_id': project_id, 'personal_logins_enabled': personal_logins_enabled}, project=project)
46
+
47
+ def set_default_role(
48
+ self,
49
+ *,
50
+ revision: int,
51
+ role_id: str,
52
+ project_id: str | Unset = UNSET,
53
+ project: str | None = None,
54
+ ) -> DefaultRoleOut:
55
+ """Put Default Role. ``databay warehouse-access-settings set-default-role``."""
56
+ return self._call(_ops.WAREHOUSE_ACCESS_SETTINGS_SET_DEFAULT_ROLE, {'project_id': project_id, 'revision': revision, 'role_id': role_id}, project=project)
@@ -0,0 +1,81 @@
1
+ """``client.warehouse_login``: the ``warehouse-login`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+
10
+ from databay.operations import warehouse_login as _ops
11
+ from databay.resource import Resource, UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from databay.models.shared import IssuedLoginOut, LoginOut
15
+ from databay.models.warehouse_login import LoginPolicyOut, WarehouseLoginListMineResponse, WarehouseLoginListResponse
16
+
17
+
18
+ class WarehouseLoginResource(Resource):
19
+
20
+ def create(
21
+ self,
22
+ *,
23
+ db_uuid: str,
24
+ project_id: str | Unset = UNSET,
25
+ allowed_hosts: list[str] | None | Unset = UNSET,
26
+ valid_until: str | None | Unset = UNSET,
27
+ project: str | None = None,
28
+ idempotency_key: str | None = None,
29
+ ) -> IssuedLoginOut:
30
+ """Create Personal Login. ``databay warehouse-login create``."""
31
+ return self._call(_ops.WAREHOUSE_LOGIN_CREATE, {'project_id': project_id, 'allowed_hosts': allowed_hosts, 'db_uuid': db_uuid, 'valid_until': valid_until}, project=project, idempotency_key=idempotency_key)
32
+
33
+ def delete(
34
+ self,
35
+ *,
36
+ principal_id: str,
37
+ project_id: str | Unset = UNSET,
38
+ project: str | None = None,
39
+ ) -> None:
40
+ """Delete Personal Login. ``databay warehouse-login delete``."""
41
+ return self._call(_ops.WAREHOUSE_LOGIN_DELETE, {'project_id': project_id, 'principal_id': principal_id}, project=project)
42
+
43
+ def list(
44
+ self,
45
+ *,
46
+ project_id: str | Unset = UNSET,
47
+ project: str | None = None,
48
+ ) -> WarehouseLoginListResponse:
49
+ """List Personal Logins. ``databay warehouse-login list``."""
50
+ return self._call(_ops.WAREHOUSE_LOGIN_LIST, {'project_id': project_id}, project=project)
51
+
52
+ def list_mine(self) -> WarehouseLoginListMineResponse:
53
+ """List Own Logins. ``databay warehouse-login list-mine``."""
54
+ return self._call(_ops.WAREHOUSE_LOGIN_LIST_MINE, {})
55
+
56
+ def policy(self) -> LoginPolicyOut:
57
+ """Get Login Policy. ``databay warehouse-login policy``."""
58
+ return self._call(_ops.WAREHOUSE_LOGIN_POLICY, {})
59
+
60
+ def rotate(
61
+ self,
62
+ *,
63
+ principal_id: str,
64
+ project_id: str | Unset = UNSET,
65
+ project: str | None = None,
66
+ idempotency_key: str | None = None,
67
+ ) -> IssuedLoginOut:
68
+ """Rotate Personal Login. ``databay warehouse-login rotate``."""
69
+ return self._call(_ops.WAREHOUSE_LOGIN_ROTATE, {'project_id': project_id, 'principal_id': principal_id}, project=project, idempotency_key=idempotency_key)
70
+
71
+ def update(
72
+ self,
73
+ *,
74
+ principal_id: str,
75
+ project_id: str | Unset = UNSET,
76
+ allowed_hosts: list[str] | None | Unset = UNSET,
77
+ valid_until: str | None | Unset = UNSET,
78
+ project: str | None = None,
79
+ ) -> LoginOut:
80
+ """Update Personal Login. ``databay warehouse-login update``."""
81
+ return self._call(_ops.WAREHOUSE_LOGIN_UPDATE, {'project_id': project_id, 'principal_id': principal_id, 'allowed_hosts': allowed_hosts, 'valid_until': valid_until}, project=project)