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,86 @@
1
+ """Models of the ``canvas_graph`` 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 Any
9
+
10
+ from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
11
+ from databay.models.shared import BackendKind, PipeMaskFieldV2, PipeV2Response, SyncMode
12
+
13
+
14
+ class DraftSettingsNewColumns(OpenStrEnum):
15
+ ADD = 'add'
16
+ ASK = 'ask'
17
+
18
+
19
+ class GraphNodeKind(OpenStrEnum):
20
+ SOURCE = 'source'
21
+ DESTINATION = 'destination'
22
+ MODEL = 'model'
23
+
24
+
25
+ class DraftSettings(RequestModel):
26
+ acknowledge_org_visible: bool = False
27
+ backend: BackendKind | None = None
28
+ column_types: dict[str, str] | None = None
29
+ columns: list[str] | None = None
30
+ cron_expression: str = '0 */5 * * * ?'
31
+ dest_table_name: str
32
+ mask_fields: list[PipeMaskFieldV2] | None = None
33
+ mask_secret: str | None = None
34
+ new_columns: DraftSettingsNewColumns | None = None
35
+ nullable_overrides: dict[str, bool] | None = None
36
+ primary_key: list[str] | None = None
37
+ project_id: None = None
38
+ reader_id: str | None = None
39
+ schedule_type: str = 'cron'
40
+ schema_name: str = ''
41
+ sink_db_uuid: str | None = None
42
+ source_id: str
43
+ sync_mode: SyncMode = 'incremental_deduped_history'
44
+ table_name: str
45
+
46
+
47
+ class DraftItem(RequestModel):
48
+ id: str
49
+ settings: DraftSettings
50
+
51
+
52
+ class GraphEdge(RequestModel):
53
+ id: str
54
+ items: list[DraftItem] | None = None
55
+ source: str
56
+ target: str
57
+
58
+
59
+ class Position(RequestModel):
60
+ x: float
61
+ y: float
62
+
63
+
64
+ class GraphNode(RequestModel):
65
+ id: str
66
+ kind: GraphNodeKind
67
+ position: Position
68
+ resource_id: str
69
+
70
+
71
+ class ProjectGraph(RequestModel):
72
+ collapsed_groups: list[str] | None = None
73
+ edges: list[GraphEdge] | None = None
74
+ nodes: list[GraphNode] | None = None
75
+
76
+
77
+ class GraphSave(RequestModel):
78
+ graph: ProjectGraph
79
+ revision: int
80
+
81
+
82
+ class ProjectGraphOut(ResponseModel):
83
+ activations: dict[str, str | None]
84
+ graph: dict[str, Any]
85
+ pipelines: list[PipeV2Response]
86
+ revision: int
@@ -0,0 +1,181 @@
1
+ """Models of the ``canvas_table_check`` 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 OpenStrEnum, RequestModel, ResponseModel
11
+ from databay.models.shared import CheckRowStatus, CheckRunStatus
12
+
13
+
14
+ class CheckDetailCode(OpenStrEnum):
15
+ LOGIN_PASSED = 'login_passed'
16
+ LOGIN_UNREACHABLE = 'login_unreachable'
17
+ LOGIN_AUTH_FAILED = 'login_auth_failed'
18
+ LOGIN_TLS_REJECTED = 'login_tls_rejected'
19
+ LOGIN_TOO_MANY_CONNECTIONS = 'login_too_many_connections'
20
+ LOGIN_PERMISSION_DENIED = 'login_permission_denied'
21
+ LOGIN_FAILED = 'login_failed'
22
+ LOGIN_HOST_NOT_ONE_SERVER = 'login_host_not_one_server'
23
+ LOGIN_SSL_MODE_UNSUPPORTED = 'login_ssl_mode_unsupported'
24
+ NOT_APPLICABLE = 'not_applicable'
25
+ NOT_CHECKED = 'not_checked'
26
+ UNKNOWN_PERMISSION_DENIED = 'unknown_permission_denied'
27
+ UNKNOWN_TIMEOUT = 'unknown_timeout'
28
+ UNKNOWN_NETWORK = 'unknown_network'
29
+ UNKNOWN_UNSUPPORTED_VERSION = 'unknown_unsupported_version'
30
+ UNKNOWN_FAILED = 'unknown_failed'
31
+ SERVER_VERSION_OK = 'server_version_ok'
32
+ SERVER_VERSION_TOO_OLD = 'server_version_too_old'
33
+ PRIMARY_WRITABLE_OK = 'primary_writable_ok'
34
+ PRIMARY_IS_STANDBY = 'primary_is_standby'
35
+ SESSION_READ_ONLY = 'session_read_only'
36
+ WAL_LEVEL_OK = 'wal_level_ok'
37
+ WAL_LEVEL_WRONG = 'wal_level_wrong'
38
+ REPLICATION_ROLE_OK = 'replication_role_ok'
39
+ REPLICATION_ROLE_MISSING = 'replication_role_missing'
40
+ REPLICATION_SLOTS_FREE = 'replication_slots_free'
41
+ REPLICATION_SLOTS_EXHAUSTED = 'replication_slots_exhausted'
42
+ WAL_SENDERS_EXHAUSTED = 'wal_senders_exhausted'
43
+ CREATE_ON_DATABASE_OK = 'create_on_database_ok'
44
+ CREATE_ON_DATABASE_MISSING = 'create_on_database_missing'
45
+ SIGNAL_TABLE_NEEDED = 'signal_table_needed'
46
+ PUBLICATION_NOT_CHOSEN = 'publication_not_chosen'
47
+ PUBLICATION_FOUND = 'publication_found'
48
+ PUBLICATION_NOT_FOUND = 'publication_not_found'
49
+ PUBLICATION_ALL_TABLES = 'publication_all_tables'
50
+ PUBLICATION_NEEDS_NATIVE_ENGINE = 'publication_needs_native_engine'
51
+ PUBLICATION_NEEDS_POSTGRES_13 = 'publication_needs_postgres_13'
52
+ PUBLICATION_VERSION_UNKNOWN = 'publication_version_unknown'
53
+ REPLICATION_CONNECTION_OK = 'replication_connection_ok'
54
+ REPLICATION_CONNECTION_POOLER = 'replication_connection_pooler'
55
+ REPLICATION_CONNECTION_DENIED = 'replication_connection_denied'
56
+ TEMPORARY_SLOT_OK = 'temporary_slot_ok'
57
+ TEMPORARY_SLOT_DENIED = 'temporary_slot_denied'
58
+ TEMPORARY_SLOT_NOT_LOGICAL = 'temporary_slot_not_logical'
59
+ LONG_RUNNING_TRANSACTION = 'long_running_transaction'
60
+ TABLE_CAN_REPLICATE = 'table_can_replicate'
61
+ TABLE_NO_PRIMARY_KEY = 'table_no_primary_key'
62
+ TABLE_REPLICA_IDENTITY_NOTHING = 'table_replica_identity_nothing'
63
+ TABLE_NOT_OWNED = 'table_not_owned'
64
+ TABLE_NOT_FOUND = 'table_not_found'
65
+ TABLE_NOT_READABLE = 'table_not_readable'
66
+ SCHEMA_NOT_USABLE = 'schema_not_usable'
67
+ TABLE_PARTITIONED_UNSUPPORTED = 'table_partitioned_unsupported'
68
+ TABLE_NOT_IN_PUBLICATION = 'table_not_in_publication'
69
+ TABLE_PUBLICATION_MISSING = 'table_publication_missing'
70
+ TABLE_PUBLICATION_NOT_VIA_ROOT = 'table_publication_not_via_root'
71
+ TABLE_PUBLISHED_UNDER_PARENT = 'table_published_under_parent'
72
+ TABLE_NOT_VISIBLE = 'table_not_visible'
73
+ TABLE_CDC_OFF = 'table_cdc_off'
74
+ CDC_CAPTURE_STOPPED = 'cdc_capture_stopped'
75
+ CDC_CAPTURE_UNVERIFIED = 'cdc_capture_unverified'
76
+ TABLE_COLUMNS_UNREADABLE = 'table_columns_unreadable'
77
+ DATABASE_CDC_OFF = 'database_cdc_off'
78
+ CDC_CAPTURE_STOPPED_AZURE = 'cdc_capture_stopped_azure'
79
+ MYSQL_VERSION_OK = 'mysql_version_ok'
80
+ MYSQL_VERSION_TOO_OLD = 'mysql_version_too_old'
81
+ BINLOG_ON = 'binlog_on'
82
+ BINLOG_OFF = 'binlog_off'
83
+ BINLOG_FORMAT_OK = 'binlog_format_ok'
84
+ BINLOG_FORMAT_WRONG = 'binlog_format_wrong'
85
+ BINLOG_ROW_IMAGE_OK = 'binlog_row_image_ok'
86
+ BINLOG_ROW_IMAGE_WRONG = 'binlog_row_image_wrong'
87
+ GTID_MODE_ON = 'gtid_mode_on'
88
+ GTID_MODE_OFF = 'gtid_mode_off'
89
+ MYSQL_GRANTS_ALL = 'mysql_grants_all'
90
+ MYSQL_GRANTS_OK = 'mysql_grants_ok'
91
+ MYSQL_GRANTS_MISSING = 'mysql_grants_missing'
92
+ MYSQL_GRANTS_VIA_ROLE = 'mysql_grants_via_role'
93
+ BINLOG_RETENTION_OK = 'binlog_retention_ok'
94
+ BINLOG_RETENTION_SHORT = 'binlog_retention_short'
95
+ BINLOG_RETENTION_UNSET = 'binlog_retention_unset'
96
+ BINLOG_RETENTION_NEVER_PURGED = 'binlog_retention_never_purged'
97
+ MONGODB_REPLICA_SET_OK = 'mongodb_replica_set_ok'
98
+ MONGODB_SHARDED_CLUSTER = 'mongodb_sharded_cluster'
99
+ MONGODB_STANDALONE = 'mongodb_standalone'
100
+ MONGODB_ACCESS_OK = 'mongodb_access_ok'
101
+ MONGODB_ACCESS_MISSING = 'mongodb_access_missing'
102
+ MONGODB_ACCESS_NOT_ENFORCED = 'mongodb_access_not_enforced'
103
+ MONGODB_ACCESS_LOGIN_REQUIRED = 'mongodb_access_login_required'
104
+ PROVIDER_SIGNED_IN = 'provider_signed_in'
105
+ PROVIDER_TOKEN_REVOKED = 'provider_token_revoked'
106
+ PROVIDER_SCOPES_OK = 'provider_scopes_ok'
107
+ PROVIDER_SCOPES_MISSING = 'provider_scopes_missing'
108
+ ACCOUNT_READABLE_OK = 'account_readable_ok'
109
+ ACCOUNT_NOT_ENABLED = 'account_not_enabled'
110
+ ACCOUNT_ACCESS_DENIED = 'account_access_denied'
111
+ SHOP_NOT_FOUND = 'shop_not_found'
112
+ DEVELOPER_TOKEN_REFUSED = 'developer_token_refused'
113
+ REPORTS_READABLE_OK = 'reports_readable_ok'
114
+ REPORTS_ACCESS_DENIED = 'reports_access_denied'
115
+ PROVIDER_REQUEST_REFUSED = 'provider_request_refused'
116
+ SERVICE_ACCOUNT_KEY_REJECTED = 'service_account_key_rejected'
117
+ PROVIDER_APP_NOT_CONFIGURED = 'provider_app_not_configured'
118
+ SCOPES_NOT_NEEDED = 'scopes_not_needed'
119
+ ACCOUNT_OTHER_LOGIN = 'account_other_login'
120
+ PROPERTIES_READABLE_OK = 'properties_readable_ok'
121
+ PROPERTY_NOT_READABLE = 'property_not_readable'
122
+ PROPERTY_REPORTS_OK = 'property_reports_ok'
123
+ PROPERTY_REPORTS_DENIED = 'property_reports_denied'
124
+ UNKNOWN_PROVIDER_BUSY = 'unknown_provider_busy'
125
+ UNKNOWN_PROVIDER_DOWN = 'unknown_provider_down'
126
+ MSSQL_EDITION_OK = 'mssql_edition_ok'
127
+ MSSQL_EDITION_EXPRESS = 'mssql_edition_express'
128
+ CDC_DATABASE_ON = 'cdc_database_on'
129
+ CDC_DATABASE_OFF = 'cdc_database_off'
130
+ MSSQL_GRANTS_OK = 'mssql_grants_ok'
131
+ MSSQL_GRANTS_MISSING = 'mssql_grants_missing'
132
+ CDC_SCHEMA_MISSING = 'cdc_schema_missing'
133
+
134
+
135
+ class TableCheckFix(ResponseModel):
136
+ note: str | None = None
137
+ provider: str | None = None
138
+ sql: str
139
+
140
+
141
+ class TableCheckIssueRow(ResponseModel):
142
+ detail_code: CheckDetailCode
143
+ text: str
144
+ values: dict[str, str | int] | None = None
145
+
146
+
147
+ class TableCheckRowView(ResponseModel):
148
+ blocking: bool = True
149
+ checked_at: datetime | None = None
150
+ code: str | None = None
151
+ detail_code: str | None = None
152
+ fixes: list[TableCheckFix] | None = None
153
+ issues: list[TableCheckIssueRow] | None = None
154
+ requirement_id: str
155
+ schema_name: str
156
+ status: CheckRowStatus
157
+ table_name: str
158
+ text: str | None = None
159
+ title: str
160
+ values: dict[str, str | int] | None = None
161
+
162
+
163
+ class TableCheckRunOut(ResponseModel):
164
+ checks: list[TableCheckRowView]
165
+ checks_deadline_at: datetime
166
+ expires_at: datetime
167
+ run_id: str
168
+ source_id: str
169
+ started_at: datetime
170
+ started_by: str | None
171
+ status: CheckRunStatus
172
+
173
+
174
+ class TableRef(RequestModel):
175
+ schema_name: str = ''
176
+ table_name: str
177
+
178
+
179
+ class TableCheckRunStart(RequestModel):
180
+ source_id: str
181
+ tables: list[TableRef]
@@ -0,0 +1,79 @@
1
+ """Models of the ``dashboards`` 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 Any
10
+
11
+ from databay.model_base import RequestModel, ResponseModel
12
+ from databay.models.shared import BuiltinOrigin, CardResult, FolderOut
13
+
14
+
15
+ class BoardCreate(RequestModel):
16
+ description: str | None = None
17
+ filters: list[dict[str, Any]] | None = None
18
+ folder_id: str | None = None
19
+ name: str
20
+
21
+
22
+ class BoardDuplicate(RequestModel):
23
+ folder_id: str | None = None
24
+ name: str | None = None
25
+
26
+
27
+ class BoardPatch(RequestModel):
28
+ folder_id: str | None = None
29
+ name: str | None = None
30
+ refresh_interval_s: int | None = None
31
+ revision: int
32
+
33
+
34
+ class BoardPut(RequestModel):
35
+ description: str | None = None
36
+ filters: list[dict[str, Any]]
37
+ folder_id: str | None = None
38
+ name: str
39
+ placements: list[dict[str, Any]]
40
+ revision: int
41
+
42
+
43
+ class CardFailure(ResponseModel):
44
+ card_state: str | None
45
+ code: str
46
+ details: dict[str, str | int | list[str]] | None = None
47
+ message: str
48
+
49
+
50
+ class CardOutcome(ResponseModel):
51
+ card_id: str
52
+ error: CardFailure | None = None
53
+ result: CardResult | None = None
54
+ warehouse_id: str
55
+
56
+
57
+ class BoardRunResponse(ResponseModel):
58
+ cards: list[CardOutcome]
59
+ revision: int
60
+
61
+
62
+ class BoardSummary(ResponseModel):
63
+ description: str | None
64
+ folder_id: str | None
65
+ id: str
66
+ name: str
67
+ project_id: str
68
+ refresh_interval_s: int | None
69
+ revision: int
70
+ source_builtin: BuiltinOrigin | None
71
+ updated_at: datetime
72
+ updated_by: str
73
+
74
+
75
+ class FolderTree(ResponseModel):
76
+ boards: list[BoardSummary]
77
+ card_count: int
78
+ folders: list[FolderOut]
79
+ project_id: str
@@ -0,0 +1,37 @@
1
+ """Models of the ``dashboards_card`` 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 Any
9
+
10
+ from databay.model_base import RequestModel, ResponseModel
11
+ from databay.models.shared import CardOut
12
+
13
+
14
+ class CardCreate(RequestModel):
15
+ board_id: str | None = None
16
+ spec: dict[str, Any]
17
+ title: str
18
+ warehouse_id: str
19
+
20
+
21
+ class CardList(ResponseModel):
22
+ cards: list[CardOut]
23
+ next_cursor: str | None
24
+
25
+
26
+ class CardPatch(RequestModel):
27
+ revision: int
28
+ spec: dict[str, Any] | None = None
29
+ title: str | None = None
30
+ warehouse_id: str | None = None
31
+
32
+
33
+ class CardPreviewRequest(RequestModel):
34
+ board_filters: list[dict[str, Any]] | None = None
35
+ filters: dict[str, Any] | None = None
36
+ spec: dict[str, Any]
37
+ warehouse_id: str
@@ -0,0 +1,27 @@
1
+ """Models of the ``dashboards_dataset`` 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 ResponseModel
9
+
10
+
11
+ class DatasetColumn(ResponseModel):
12
+ name: str
13
+ type: str
14
+
15
+
16
+ class DatasetOut(ResponseModel):
17
+ columns: list[DatasetColumn]
18
+ connector: str
19
+ landed: bool
20
+ name: str
21
+ version: int
22
+ versions: list[int]
23
+
24
+
25
+ class DatasetList(ResponseModel):
26
+ datasets: list[DatasetOut]
27
+ warehouse_id: str
@@ -0,0 +1,18 @@
1
+ """Models of the ``dashboards_folder`` 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 RequestModel
9
+
10
+
11
+ class FolderCreate(RequestModel):
12
+ name: str
13
+ parent_id: str | None = None
14
+
15
+
16
+ class FolderPatch(RequestModel):
17
+ name: str | None = None
18
+ parent_id: str | None = None
@@ -0,0 +1,28 @@
1
+ """Models of the ``dashboards_home`` 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 RequestModel, ResponseModel
9
+ from databay.models.shared import BoardOut
10
+
11
+
12
+ class HomePinBatch(RequestModel):
13
+ card_ids: list[str]
14
+
15
+
16
+ class HomePinBatchOut(ResponseModel):
17
+ already_placed: list[str]
18
+ board: BoardOut
19
+ placed: list[str]
20
+
21
+
22
+ class ProjectHomeOut(ResponseModel):
23
+ dashboard_id: str | None
24
+ project_id: str
25
+
26
+
27
+ class ProjectHomeSet(RequestModel):
28
+ dashboard_id: str
databay/models/db.py ADDED
@@ -0,0 +1,34 @@
1
+ """Models of the ``db`` 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 RequestModel, ResponseModel
9
+ from databay.models.shared import DBExtraConfig, DBType, PublicDBResponse
10
+
11
+
12
+ class DBConnectionTestResponse(ResponseModel):
13
+ message: str
14
+ success: bool
15
+
16
+
17
+ class DBCreate(RequestModel):
18
+ db_name: str
19
+ extra_config: DBExtraConfig | None = None
20
+ host: str
21
+ name: str
22
+ password: str = ''
23
+ port: int
24
+ type: DBType
25
+ username: str
26
+
27
+
28
+ class WarehouseCreated(ResponseModel):
29
+ binding_status: str | None
30
+ pending_home_project_id: str | None
31
+ uuid: str
32
+
33
+
34
+ DbListResponse = list[PublicDBResponse]
@@ -0,0 +1,11 @@
1
+ """Models of the ``db_column`` 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.models.shared import ColumnInfo
9
+
10
+
11
+ DbColumnListResponse = list[ColumnInfo]
@@ -0,0 +1,59 @@
1
+ """Models of the ``docs_article`` 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 ArticleResponse(ResponseModel):
14
+ body_markdown: str
15
+ feature: str | None = None
16
+ kind: str
17
+ related: list[str] | None = None
18
+ section: str
19
+ slug: str
20
+ summary: str
21
+ title: str
22
+ updated_at: datetime | None = None
23
+ updated_by: str | None = None
24
+
25
+
26
+ class ArticleSummaryResponse(ResponseModel):
27
+ connector: str | None = None
28
+ feature: str | None = None
29
+ kind: str
30
+ slug: str
31
+ sort_order: int
32
+ summary: str
33
+ title: str
34
+
35
+
36
+ class SectionResponse(ResponseModel):
37
+ articles: list[ArticleSummaryResponse]
38
+ label: str
39
+ order: int
40
+ slug: str
41
+
42
+
43
+ class ManifestResponse(ResponseModel):
44
+ degraded: bool = False
45
+ gated_slugs: list[str] | None = None
46
+ reserved_slugs: list[str]
47
+ sections: list[SectionResponse]
48
+
49
+
50
+ class SearchHit(ResponseModel):
51
+ section: str
52
+ slug: str
53
+ snippet: str
54
+ title: str
55
+
56
+
57
+ class SearchResponse(ResponseModel):
58
+ results: list[SearchHit]
59
+ truncated: bool = False
@@ -0,0 +1,27 @@
1
+ """Models of the ``dq_result`` 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 CompletenessResultResponse(ResponseModel):
14
+ is_passed: bool
15
+ rule_uuid: str
16
+ sink_count: int
17
+ sink_database_name: str
18
+ sink_table_name: str
19
+ source_count: int
20
+ source_database_name: str
21
+ source_schema_name: str | None = None
22
+ source_table_name: str
23
+ trigger_date: datetime
24
+ uuid: str
25
+
26
+
27
+ DqResultListResponse = list[CompletenessResultResponse]
@@ -0,0 +1,43 @@
1
+ """Models of the ``dq_rule`` 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 CadenceUnit(OpenStrEnum):
12
+ MINUTE = 'minute'
13
+ HOUR = 'hour'
14
+ DAY = 'day'
15
+ WEEK = 'week'
16
+ MONTH = 'month'
17
+ YEAR = 'year'
18
+
19
+
20
+ class CompletenessRuleCreate(RequestModel):
21
+ cadence_unit: CadenceUnit | None = None
22
+ cadence_window_size: float = 1.0
23
+ datetime_column: str | None = None
24
+ is_temporal_table: bool = False
25
+ pipe_uuid: str
26
+ schedule_interval: str
27
+
28
+
29
+ class CompletenessRuleCreated(ResponseModel):
30
+ uuid: str
31
+
32
+
33
+ class CompletenessRuleResponse(ResponseModel):
34
+ cadence_unit: CadenceUnit | None = None
35
+ cadence_window_size: float | None = None
36
+ datetime_column: str | None = None
37
+ is_temporal_table: bool = False
38
+ pipe_uuid: str
39
+ schedule_interval: str
40
+ uuid: str
41
+
42
+
43
+ DqRuleListResponse = list[CompletenessRuleResponse]
@@ -0,0 +1,15 @@
1
+ """Models of the ``feature`` 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 ResponseModel
9
+
10
+
11
+ class DeploymentFeaturesResponse(ResponseModel):
12
+ capabilities: list[str]
13
+ features: dict[str, bool]
14
+ support_email: str | None
15
+ support_url: str | None
@@ -0,0 +1,11 @@
1
+ """Models of the ``google_ads_source`` 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.models.shared import AdSourceResponse
9
+
10
+
11
+ GoogleAdsSourceListResponse = list[AdSourceResponse]
@@ -0,0 +1,11 @@
1
+ """Models of the ``google_analytics_source`` 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.models.shared import AdSourceResponse
9
+
10
+
11
+ GoogleAnalyticsSourceListResponse = list[AdSourceResponse]
@@ -0,0 +1,11 @@
1
+ """Models of the ``instagram_source`` 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.models.shared import AdSourceResponse
9
+
10
+
11
+ InstagramSourceListResponse = list[AdSourceResponse]