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,51 @@
1
+ """Models of the ``notebook_credential`` noun.
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 datetime import datetime
9
+
10
+ from databay.model_base import ResponseModel
11
+
12
+
13
+ class NotebookBindingResponse(ResponseModel):
14
+ issued_at: datetime | None = None
15
+ project_id: str | None
16
+
17
+
18
+ class NotebookWarehouse(ResponseModel):
19
+ name: str
20
+ origin: str | None = None
21
+ physical_name: str | None = None
22
+ status: str | None = None
23
+ uuid: str
24
+
25
+
26
+ class NotebookCredentialsResponse(ResponseModel):
27
+ database: str
28
+ databases: list[NotebookWarehouse]
29
+ host: str
30
+ organization: str
31
+ password: str
32
+ port: int
33
+ project_id: str
34
+ scratch_database: str
35
+ settings_profile: str
36
+ username: str
37
+
38
+
39
+ class NotebookCredentialsRotateResponse(ResponseModel):
40
+ database: str
41
+ databases: list[NotebookWarehouse]
42
+ host: str
43
+ invalidates_running_kernels: bool
44
+ organization: str
45
+ password: str
46
+ port: int
47
+ project_id: str
48
+ rotation_scope: str
49
+ scratch_database: str
50
+ settings_profile: str
51
+ username: str
databay/models/org.py ADDED
@@ -0,0 +1,44 @@
1
+ """Models of the ``org`` noun.
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 databay.model_base import OpenStrEnum, RequestModel, ResponseModel
9
+
10
+
11
+ class MyOrganizationOutKind(OpenStrEnum):
12
+ PERSONAL = 'personal'
13
+ COMPANY = 'company'
14
+
15
+
16
+ class MyOrganizationOutRole(OpenStrEnum):
17
+ READER = 'reader'
18
+ EDITOR = 'editor'
19
+ ORG_ADMIN = 'org_admin'
20
+
21
+
22
+ class ActiveOrgResponse(ResponseModel):
23
+ active_org: str
24
+
25
+
26
+ class MyOrganizationOut(ResponseModel):
27
+ display_name: str
28
+ enabled: bool
29
+ is_active: bool
30
+ kind: MyOrganizationOutKind | None
31
+ member_count: int | None
32
+ organization: str
33
+ role: MyOrganizationOutRole | None
34
+
35
+
36
+ class MyOrganizationsResponse(ResponseModel):
37
+ active_org: str | None
38
+ needs_org_choice: bool
39
+ organizations: list[MyOrganizationOut]
40
+ usable_orgs: int
41
+
42
+
43
+ class SwitchActiveOrgRequest(RequestModel):
44
+ organization: str
@@ -0,0 +1,123 @@
1
+ """Models of the ``org_member`` noun.
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 Annotated, Literal
9
+
10
+ from pydantic import Field
11
+
12
+ from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
13
+
14
+
15
+ class AddMemberRequestLanguage(OpenStrEnum):
16
+ EN = 'en'
17
+ FA = 'fa'
18
+
19
+
20
+ class AddMemberRequestRole(OpenStrEnum):
21
+ READER = 'reader'
22
+ EDITOR = 'editor'
23
+ ORG_ADMIN = 'org_admin'
24
+
25
+
26
+ class ChangeRoleRequestRole(OpenStrEnum):
27
+ READER = 'reader'
28
+ EDITOR = 'editor'
29
+ ORG_ADMIN = 'org_admin'
30
+
31
+
32
+ class InvitationAddressResultResult(OpenStrEnum):
33
+ INVITED = 'invited'
34
+ ALREADY_MEMBER = 'already_member'
35
+ ALREADY_INVITED = 'already_invited'
36
+ INVALID_EMAIL = 'invalid_email'
37
+ DUPLICATE = 'duplicate'
38
+
39
+
40
+ class OrgMemberRefRole(OpenStrEnum):
41
+ READER = 'reader'
42
+ EDITOR = 'editor'
43
+ ORG_ADMIN = 'org_admin'
44
+
45
+
46
+ class OrgMemberAddResponseStatus(OpenStrEnum):
47
+ PENDING = 'pending'
48
+ DONE = 'done'
49
+ FAILED = 'failed'
50
+ INVITED = 'invited'
51
+
52
+
53
+ class OrgMemberChangeResponseStatus(OpenStrEnum):
54
+ PENDING = 'pending'
55
+ DONE = 'done'
56
+ FAILED = 'failed'
57
+ UNCHANGED = 'unchanged'
58
+
59
+
60
+ class OrgMemberOutRole(OpenStrEnum):
61
+ READER = 'reader'
62
+ EDITOR = 'editor'
63
+ ORG_ADMIN = 'org_admin'
64
+
65
+
66
+ class AddMemberRequest(RequestModel):
67
+ email: str
68
+ first_name: str | None = None
69
+ language: AddMemberRequestLanguage = 'en'
70
+ last_name: str | None = None
71
+ role: AddMemberRequestRole
72
+
73
+
74
+ class ChangeRoleRequest(RequestModel):
75
+ role: ChangeRoleRequestRole
76
+
77
+
78
+ class InvitationAddressResult(ResponseModel):
79
+ email: str
80
+ invitation_id: str | None
81
+ result: InvitationAddressResultResult
82
+
83
+
84
+ class InviteByEmail(ResponseModel):
85
+ delivery: Literal['email']
86
+
87
+
88
+ class InviteFailed(ResponseModel):
89
+ delivery: Literal['failed']
90
+
91
+
92
+ class InviteNotRecorded(ResponseModel):
93
+ delivery: Literal['not_recorded']
94
+
95
+
96
+ class OrgMemberRef(ResponseModel):
97
+ id: str | None
98
+ role: OrgMemberRefRole | None
99
+
100
+
101
+ class OrgMemberAddResponse(ResponseModel):
102
+ invitation: InvitationAddressResult | None
103
+ invite: Annotated[InviteByEmail | InviteFailed | InviteNotRecorded, Field(discriminator='delivery')] | None
104
+ member: OrgMemberRef | None
105
+ operation_id: str | None
106
+ status: OrgMemberAddResponseStatus
107
+
108
+
109
+ class OrgMemberChangeResponse(ResponseModel):
110
+ member: OrgMemberRef
111
+ operation_id: str | None
112
+ status: OrgMemberChangeResponseStatus
113
+
114
+
115
+ class OrgMemberOut(ResponseModel):
116
+ email: str
117
+ id: str
118
+ name: str
119
+ role: OrgMemberOutRole | None
120
+
121
+
122
+ class OrgMembersResponse(ResponseModel):
123
+ members: list[OrgMemberOut]
@@ -0,0 +1,36 @@
1
+ """Models of the ``org_offboarding`` noun.
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 databay.model_base import OpenStrEnum, ResponseModel
9
+
10
+
11
+ class OffboardingItemReason(OpenStrEnum):
12
+ MEMBER_REMOVED = 'member_removed'
13
+ ACCESS_RESTRICTED = 'access_restricted'
14
+ ORG_MEMBER_REMOVED = 'org_member_removed'
15
+ ORG_ROLE_CHANGED = 'org_role_changed'
16
+ PROJECT_DELETED = 'project_deleted'
17
+
18
+
19
+ class OffboardingItemStatus(OpenStrEnum):
20
+ PENDING = 'pending'
21
+ DONE = 'done'
22
+ STUCK = 'stuck'
23
+
24
+
25
+ class OffboardingItem(ResponseModel):
26
+ created_at: str | None
27
+ offboarding_id: str
28
+ pending_services: list[str]
29
+ project_id: str | None
30
+ reason: OffboardingItemReason
31
+ status: OffboardingItemStatus
32
+
33
+
34
+ class MemberOffboarding(ResponseModel):
35
+ items: list[OffboardingItem]
36
+ user_id: str
databay/models/pipe.py ADDED
@@ -0,0 +1,340 @@
1
+ """Models of the ``pipe`` noun.
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 datetime import datetime
9
+ from typing import Literal
10
+
11
+ from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
12
+ from databay.models.shared import AttachState, BackendKind, FreshnessState, PipeHealth, PipeMaskFieldV2, PipeV2Response, PipeV2Status, SyncMode
13
+
14
+
15
+ class AttachMode(OpenStrEnum):
16
+ NEW_READER = 'new_reader'
17
+ ATTACHED = 'attached'
18
+
19
+
20
+ class PipeRollupBy(OpenStrEnum):
21
+ SOURCE = 'source'
22
+ SINK = 'sink'
23
+
24
+
25
+ class PreflightCheck(OpenStrEnum):
26
+ WAL_LEVEL = 'wal_level'
27
+ SLOT_HEADROOM = 'slot_headroom'
28
+ REPLICA_IDENTITY = 'replica_identity'
29
+ SELECTED_COLUMNS = 'selected_columns'
30
+
31
+
32
+ class ReaderDesiredState(OpenStrEnum):
33
+ RUNNING = 'running'
34
+ PAUSED = 'paused'
35
+ DELETED = 'deleted'
36
+
37
+
38
+ class ReaderPublicationCheckOutcome(OpenStrEnum):
39
+ PASSED = 'passed'
40
+ FAILED = 'failed'
41
+ UNKNOWN = 'unknown'
42
+
43
+
44
+ class ReaderRunState(OpenStrEnum):
45
+ UNASSIGNED = 'unassigned'
46
+ RUNNING = 'running'
47
+ RETRYING = 'retrying'
48
+ HALTED = 'halted'
49
+
50
+
51
+ class ReaderTableState(OpenStrEnum):
52
+ ACTIVE = 'active'
53
+ SNAPSHOTTING = 'snapshotting'
54
+ QUARANTINED = 'quarantined'
55
+
56
+
57
+ class PipeNewColumnsResponseNewColumns(OpenStrEnum):
58
+ ADD = 'add'
59
+ ASK = 'ask'
60
+
61
+
62
+ class PipeNewColumnsResponseNewColumnsSource(OpenStrEnum):
63
+ REQUEST = 'request'
64
+ PROJECT_DEFAULT = 'project_default'
65
+
66
+
67
+ class PipeRebuildRequestSource(OpenStrEnum):
68
+ WAREHOUSE_COPY = 'warehouse-copy'
69
+ RE_EXTRACT = 're-extract'
70
+ SNAPSHOT = 'snapshot'
71
+ RETYPE = 'retype'
72
+
73
+
74
+ class PipeUpdateNewColumns(OpenStrEnum):
75
+ ADD = 'add'
76
+ ASK = 'ask'
77
+
78
+
79
+ class PipeV2CreateNewColumns(OpenStrEnum):
80
+ ADD = 'add'
81
+ ASK = 'ask'
82
+
83
+
84
+ class PipeV2CreateResponseNewColumns(OpenStrEnum):
85
+ ADD = 'add'
86
+ ASK = 'ask'
87
+
88
+
89
+ class PipeV2CreateResponseNewColumnsSource(OpenStrEnum):
90
+ REQUEST = 'request'
91
+ PROJECT_DEFAULT = 'project_default'
92
+
93
+
94
+ class PipeV2DetailResponseNewColumns(OpenStrEnum):
95
+ ADD = 'add'
96
+ ASK = 'ask'
97
+
98
+
99
+ class PipeV2DetailResponseNewColumnsSource(OpenStrEnum):
100
+ REQUEST = 'request'
101
+ PROJECT_DEFAULT = 'project_default'
102
+
103
+
104
+ class MovePipeline(RequestModel):
105
+ target_project_id: str
106
+
107
+
108
+ class PipeDeleteAccepted(ResponseModel):
109
+ drop_destination: bool
110
+ pipe_uuid: str
111
+ status: Literal['deleting']
112
+
113
+
114
+ class PipeNewColumnsResponse(ResponseModel):
115
+ new_columns: PipeNewColumnsResponseNewColumns
116
+ new_columns_source: PipeNewColumnsResponseNewColumnsSource
117
+ uuid: str
118
+
119
+
120
+ class ReaderPublicationCheck(ResponseModel):
121
+ cause: str | None
122
+ checked_at: datetime
123
+ outcome: ReaderPublicationCheckOutcome
124
+
125
+
126
+ class ReaderSubscriber(ResponseModel):
127
+ attach_state: AttachState | None
128
+ dest_table_name: str | None
129
+ pipe_uuid: str
130
+ sink: str
131
+ status: PipeV2Status
132
+ table: str
133
+
134
+
135
+ class ReaderTableInfo(ResponseModel):
136
+ quarantine_code: str | None
137
+ state: ReaderTableState
138
+ table: str
139
+
140
+
141
+ class ReaderInfo(ResponseModel):
142
+ desired_state: ReaderDesiredState
143
+ engine: str
144
+ error_code: str | None
145
+ publication_check: ReaderPublicationCheck | None
146
+ reader_id: str
147
+ state: ReaderRunState
148
+ subscribers: list[ReaderSubscriber]
149
+ tables: list[ReaderTableInfo]
150
+
151
+
152
+ class PipePauseResponse(ResponseModel):
153
+ lossless_resume_until: datetime | None
154
+ reader: ReaderInfo | None = None
155
+ status: Literal['paused']
156
+
157
+
158
+ class PipeRebuildAccepted(ResponseModel):
159
+ rebuild_id: str
160
+ state: str
161
+
162
+
163
+ class PipeRebuildRequest(RequestModel):
164
+ reason: str | None = None
165
+ source: PipeRebuildRequestSource
166
+
167
+
168
+ class PipeRestartAccepted(ResponseModel):
169
+ status: Literal['restarting']
170
+
171
+
172
+ class PipeResumeResponse(ResponseModel):
173
+ reader: ReaderInfo | None = None
174
+ status: Literal['resumed']
175
+
176
+
177
+ class PipeRetryAccepted(ResponseModel):
178
+ status: Literal['retrying']
179
+
180
+
181
+ class PipeRollupPeer(ResponseModel):
182
+ id: str
183
+ pipe_count: int
184
+ project_id: str
185
+
186
+
187
+ class PipeRollupGroup(ResponseModel):
188
+ hidden_pipe_count: int
189
+ key: str
190
+ max_lag_seconds: float | None
191
+ peers: list[PipeRollupPeer]
192
+ pipe_count: int
193
+ status_counts: dict[str, int]
194
+ stored_rows: int | None
195
+ unmeasured_pipe_count: int
196
+ worst_freshness: FreshnessState
197
+
198
+
199
+ class PipeRollup(ResponseModel):
200
+ by: PipeRollupBy
201
+ groups: list[PipeRollupGroup]
202
+ measured_at: datetime
203
+ rows_unavailable: bool
204
+
205
+
206
+ class PipeUpdate(RequestModel):
207
+ new_columns: PipeUpdateNewColumns
208
+
209
+
210
+ class PipeV2Create(RequestModel):
211
+ acknowledge_org_visible: bool = False
212
+ backend: BackendKind | None = None
213
+ column_types: dict[str, str] | None = None
214
+ columns: list[str] | None = None
215
+ cron_expression: str = '0 */5 * * * ?'
216
+ dest_table_name: str
217
+ mask_fields: list[PipeMaskFieldV2] | None = None
218
+ mask_secret: str | None = None
219
+ new_columns: PipeV2CreateNewColumns | None = None
220
+ nullable_overrides: dict[str, bool] | None = None
221
+ primary_key: list[str] | None = None
222
+ project_id: str
223
+ reader_id: str | None = None
224
+ schedule_type: str = 'cron'
225
+ schema_name: str = ''
226
+ sink_db_uuid: str | None = None
227
+ source_id: str
228
+ sync_mode: SyncMode = 'incremental_deduped_history'
229
+ table_name: str
230
+
231
+
232
+ class PipeV2CreateResponse(ResponseModel):
233
+ attach_mode: AttachMode | None = None
234
+ attach_state: AttachState | None = None
235
+ backend: str
236
+ columns_count: int | None = None
237
+ created_at: datetime | None = None
238
+ cron_expression: str | None = None
239
+ dest_table_name: str | None = None
240
+ error_code: str | None = None
241
+ freshness_state: FreshnessState | None = None
242
+ health: PipeHealth | None = None
243
+ health_detail: str | None = None
244
+ health_detail_code: str | None = None
245
+ health_detail_retriable: bool | None = None
246
+ lag_seconds: float | None = None
247
+ last_change_at: datetime | None = None
248
+ last_checked_at: datetime | None = None
249
+ last_error: str | None = None
250
+ last_healthy_at: datetime | None = None
251
+ last_sync_status: str | None = None
252
+ masked_count: int = 0
253
+ new_columns: PipeV2CreateResponseNewColumns
254
+ new_columns_source: PipeV2CreateResponseNewColumnsSource | None
255
+ preflight_skipped: list[PreflightCheck]
256
+ primary_key: list[str] | None = None
257
+ project_id: str | None = None
258
+ reader_id: str | None = None
259
+ retriable: bool | None = None
260
+ schedule_type: str | None = None
261
+ schema_name: str | None = None
262
+ sink_db_uuid: str
263
+ source_id: str
264
+ status: PipeV2Status = 'pending'
265
+ stream_ref: str | None = None
266
+ sync_mode: str | None = None
267
+ table_name: str | None = None
268
+ uuid: str
269
+
270
+
271
+ class PipeV2DetailResponse(ResponseModel):
272
+ attach_state: AttachState | None = None
273
+ backend: str
274
+ columns: list[str] | None = None
275
+ columns_count: int | None = None
276
+ created_at: datetime | None = None
277
+ cron_expression: str | None = None
278
+ dest_table_name: str | None = None
279
+ error_code: str | None = None
280
+ freshness_state: FreshnessState | None = None
281
+ health: PipeHealth | None = None
282
+ health_detail: str | None = None
283
+ health_detail_code: str | None = None
284
+ health_detail_retriable: bool | None = None
285
+ lag_seconds: float | None = None
286
+ last_change_at: datetime | None = None
287
+ last_checked_at: datetime | None = None
288
+ last_error: str | None = None
289
+ last_healthy_at: datetime | None = None
290
+ last_sync_status: str | None = None
291
+ masked_columns: list[PipeMaskFieldV2] | None = None
292
+ masked_count: int = 0
293
+ new_columns: PipeV2DetailResponseNewColumns
294
+ new_columns_source: PipeV2DetailResponseNewColumnsSource | None
295
+ primary_key: list[str] | None = None
296
+ project_id: str | None = None
297
+ reader: ReaderInfo | None = None
298
+ reader_id: str | None = None
299
+ retriable: bool | None = None
300
+ schedule_type: str | None = None
301
+ schema_name: str | None = None
302
+ sink_db_uuid: str
303
+ source_id: str
304
+ status: PipeV2Status = 'pending'
305
+ stream_ref: str | None = None
306
+ sync_mode: str | None = None
307
+ table_name: str | None = None
308
+ uuid: str
309
+
310
+
311
+ class PipeV2Page(ResponseModel):
312
+ data: list[PipeV2Response]
313
+ page: int
314
+ page_size: int | None = None
315
+ status_counts: dict[str, int] | None = None
316
+ total: int
317
+
318
+
319
+ class PipeV2StatusResponse(ResponseModel):
320
+ error_code: str | None = None
321
+ error_detail: dict[str, str | int] | None = None
322
+ health: PipeHealth
323
+ health_detail: str | None = None
324
+ health_detail_code: str | None = None
325
+ health_detail_retriable: bool | None = None
326
+ last_error: str | None = None
327
+ last_sync_status: str | None = None
328
+ pipe_status: PipeV2Status
329
+ pipe_uuid: str
330
+ retriable: bool | None = None
331
+ stream_ref: str | None = None
332
+ support_ref: str | None = None
333
+
334
+
335
+ class PipelineMoved(ResponseModel):
336
+ pipeline_id: str
337
+ project_id: str
338
+
339
+
340
+ PipeListResponse = PipeV2Page | list[PipeV2Response]
@@ -0,0 +1,25 @@
1
+ """Models of the ``pipe_config_option`` noun.
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 databay.model_base import OpenStrEnum, ResponseModel
9
+
10
+
11
+ class TransformsUnavailable(OpenStrEnum):
12
+ DIRECT_LOAD_SOURCE = 'direct_load_source'
13
+ DESTINATION_UNSUPPORTED = 'destination_unsupported'
14
+ SOURCE_UNSUPPORTED = 'source_unsupported'
15
+
16
+
17
+ class PipeConfigOptionsResponse(ResponseModel):
18
+ dest_table_rename_locked_sink_types: list[str] | None = None
19
+ scheduling: bool
20
+ serviceable: bool
21
+ supports_blocking_snapshot: bool = False
22
+ supports_filtered_backfill: bool = False
23
+ sync_mode_selection: bool
24
+ transform_types: list[str] | None = None
25
+ transforms_unavailable: TransformsUnavailable | None = None