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,11 @@
1
+ """Models of the ``linkedin_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
+ LinkedinSourceListResponse = list[AdSourceResponse]
databay/models/me.py ADDED
@@ -0,0 +1,71 @@
1
+ """Models of the ``me`` 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 OpenStrEnum, ResponseModel
12
+
13
+
14
+ class FeatureFlagsState(OpenStrEnum):
15
+ OK = 'ok'
16
+ UNAVAILABLE = 'unavailable'
17
+ NO_SUBSCRIPTION = 'no_subscription'
18
+ NO_ORG = 'no_org'
19
+
20
+
21
+ class FeatureSource(OpenStrEnum):
22
+ PLAN = 'plan'
23
+ OVERRIDE = 'override'
24
+ CEILING = 'ceiling'
25
+ PREREQUISITE = 'prerequisite'
26
+ NOT_READY = 'not_ready'
27
+
28
+
29
+ class Principal(OpenStrEnum):
30
+ USER = 'user'
31
+ API_KEY = 'api_key'
32
+ STAFF = 'staff'
33
+
34
+
35
+ class FeatureGrant(ResponseModel):
36
+ blocked_by: str | None = None
37
+ enabled: bool
38
+ expires_at: datetime | None = None
39
+ source: FeatureSource
40
+
41
+
42
+ class User(ResponseModel):
43
+ access_token: str | None = None
44
+ acr: str | None = None
45
+ active_org: str | None = None
46
+ azp: str | None = None
47
+ dashboard_flags: dict[str, bool] | None = None
48
+ email: str | None = None
49
+ entitlements: dict[str, Any] | None = None
50
+ family_name: str | None = None
51
+ feature_flags: dict[str, bool] | None = None
52
+ feature_flags_state: FeatureFlagsState | None = None
53
+ feature_sources: dict[str, FeatureGrant] | None = None
54
+ given_name: str | None = None
55
+ iat: int | None = None
56
+ max_sources: int | None = None
57
+ name: str | None = None
58
+ needs_org_choice: bool | None = None
59
+ orders_included: int | None = None
60
+ orders_used: int | None = None
61
+ organization: list[str] | None = None
62
+ orgs_unavailable: bool | None = None
63
+ over_cap: bool = False
64
+ plan: str | None = None
65
+ preferred_username: str | None = None
66
+ principal: Principal = 'user'
67
+ roles: list[str] | None = None
68
+ staff_roles: list[str] | None = None
69
+ sub: str
70
+ trial_ends_at: datetime | None = None
71
+ upgrade_cta: bool | None = None
@@ -0,0 +1,11 @@
1
+ """Models of the ``meta_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
+ MetaAdsSourceListResponse = list[AdSourceResponse]
@@ -0,0 +1,274 @@
1
+ """Models of the ``metric_models`` 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 pydantic import Field
11
+
12
+ from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
13
+
14
+
15
+ class CustomerModelSource(OpenStrEnum):
16
+ UPLOAD = 'upload'
17
+ GIT = 'git'
18
+ DBT_IMPORT = 'dbt_import'
19
+ FORM = 'form'
20
+
21
+
22
+ class CustomerModelState(OpenStrEnum):
23
+ DRAFT = 'draft'
24
+ PUBLISHED = 'published'
25
+ SUPERSEDED = 'superseded'
26
+
27
+
28
+ class DimensionType(OpenStrEnum):
29
+ TIME = 'time'
30
+ STRING = 'string'
31
+ NUMBER = 'number'
32
+
33
+
34
+ class MeasureFilterOp(OpenStrEnum):
35
+ EQ = '='
36
+ NE = '!='
37
+ GT = '>'
38
+ GE = '>='
39
+ LT = '<'
40
+ LE = '<='
41
+ IN = 'in'
42
+ IS_NULL = 'is_null'
43
+ IS_NOT_NULL = 'is_not_null'
44
+
45
+
46
+ class MeasureType(OpenStrEnum):
47
+ SUM = 'sum'
48
+ COUNT = 'count'
49
+ COUNT_DISTINCT = 'count_distinct'
50
+ AVG = 'avg'
51
+ MIN = 'min'
52
+ MAX = 'max'
53
+ NUMBER = 'number'
54
+
55
+
56
+ class MetricFormat(OpenStrEnum):
57
+ NUMBER = 'number'
58
+ CURRENCY = 'currency'
59
+ PERCENT = 'percent'
60
+
61
+
62
+ class ModelChange(OpenStrEnum):
63
+ UNCHANGED = 'unchanged'
64
+ ADDED = 'added'
65
+ CHANGED = 'changed'
66
+ REMOVED = 'removed'
67
+
68
+
69
+ class NotFormEditable(OpenStrEnum):
70
+ SEVERAL_TABLES = 'several_tables'
71
+ MAPPED_COLUMNS = 'mapped_columns'
72
+ SHARED_TABLE = 'shared_table'
73
+ CUSTOM_CUBE_NAME = 'custom_cube_name'
74
+ RENAMED_BREAKDOWN = 'renamed_breakdown'
75
+ OVER_METRICS = 'over_metrics'
76
+ COLUMN_EXPRESSION = 'column_expression'
77
+
78
+
79
+ class Breakdown(ResponseModel):
80
+ column: str
81
+ type: str
82
+
83
+
84
+ class BreakdownsWrite(RequestModel):
85
+ breakdowns: list[Breakdown]
86
+ revision: int
87
+
88
+
89
+ class DbtImportNote(ResponseModel):
90
+ note: str
91
+ relation: str
92
+
93
+
94
+ class ModelVersionSummary(ResponseModel):
95
+ author_user_id: str
96
+ created_at: datetime
97
+ digest: str
98
+ git_commit: str | None
99
+ published_at: datetime | None
100
+ source: CustomerModelSource
101
+ state: CustomerModelState
102
+ version: int
103
+
104
+
105
+ class DbtImportOut(ResponseModel):
106
+ comments_dropped: bool
107
+ cubes: list[str]
108
+ digest: str
109
+ draft: ModelVersionSummary | None
110
+ metrics: list[str]
111
+ notes: list[DbtImportNote]
112
+ revision: int | None
113
+ yaml: str
114
+
115
+
116
+ class DbtImportRequest(RequestModel):
117
+ dry_run: bool = False
118
+ relations: list[str] | None = None
119
+ replace_draft: bool = False
120
+ revision: int | None = None
121
+
122
+
123
+ class DimensionSpec(ResponseModel):
124
+ column: str
125
+ name: str
126
+ type: DimensionType
127
+
128
+
129
+ class FormCondition(ResponseModel):
130
+ column: str
131
+ op: str
132
+ value: int | float | str | None = None
133
+ values: list[int | float | str] | None = None
134
+
135
+
136
+ class MetricFields(ResponseModel):
137
+ aggregation: str
138
+ column: str | None = None
139
+ conditions: list[FormCondition] | None = None
140
+ description: str
141
+ format: str | None = None
142
+ name: str
143
+ table: str
144
+ title: str | None = None
145
+
146
+
147
+ class FormMetric(ResponseModel):
148
+ cube: str
149
+ editable: bool
150
+ fields_: MetricFields | None = Field(alias='fields')
151
+ name: str
152
+ reason: NotFormEditable | None
153
+
154
+
155
+ class FormTable(ResponseModel):
156
+ breakdowns: list[Breakdown]
157
+ cube: str
158
+ editable: bool
159
+ reason: NotFormEditable | None
160
+ table: str
161
+
162
+
163
+ class GitFileProblem(ResponseModel):
164
+ file: str
165
+ path: str
166
+ reason: str
167
+
168
+
169
+ class GitModelError(ResponseModel):
170
+ code: str
171
+ commit: str
172
+ errors: list[GitFileProblem]
173
+
174
+
175
+ class MeasureFilter(ResponseModel):
176
+ column: str
177
+ op: MeasureFilterOp
178
+ value: int | float | str | None = None
179
+ values: list[int | float | str] | None = None
180
+
181
+
182
+ class MetricEditOut(ResponseModel):
183
+ affected_metrics: list[str]
184
+ comments_dropped: bool
185
+ draft: ModelVersionSummary
186
+ revision: int
187
+
188
+
189
+ class MetricFormOut(ResponseModel):
190
+ based_on: CustomerModelState | None
191
+ git_managed: bool
192
+ metrics: list[FormMetric]
193
+ revision: int
194
+ tables: list[FormTable]
195
+
196
+
197
+ class MetricSpec(ResponseModel):
198
+ description: str
199
+ filters: list[MeasureFilter] = []
200
+ format: MetricFormat | None = None
201
+ name: str
202
+ sql: str | None = None
203
+ title: str | None = None
204
+ type: MeasureType
205
+
206
+
207
+ class MetricWrite(RequestModel):
208
+ breakdowns: list[Breakdown] | None = None
209
+ metric: MetricFields
210
+ revision: int
211
+
212
+
213
+ class ModelMetricChange(ResponseModel):
214
+ change: ModelChange
215
+ cube: str
216
+ draft: MetricSpec | None
217
+ name: str
218
+ published: MetricSpec | None
219
+ table: str
220
+
221
+
222
+ class ModelTableChange(ResponseModel):
223
+ change: ModelChange
224
+ cube: str
225
+ draft: list[DimensionSpec] | None
226
+ published: list[DimensionSpec] | None
227
+ table: str
228
+
229
+
230
+ class ModelChangesOut(ResponseModel):
231
+ draft: ModelVersionSummary | None
232
+ git_managed: bool
233
+ metrics: list[ModelMetricChange]
234
+ published_version: int | None
235
+ revision: int
236
+ tables: list[ModelTableChange]
237
+
238
+
239
+ class ModelPush(RequestModel):
240
+ revision: int | None = None
241
+ yaml: str
242
+
243
+
244
+ class ModelUpload(RequestModel):
245
+ yaml: str
246
+
247
+
248
+ class ModelValidationOut(ResponseModel):
249
+ cubes: list[str]
250
+ digest: str
251
+ metrics: list[str]
252
+
253
+
254
+ class ModelVersionListOut(ResponseModel):
255
+ last_git_commit: str | None
256
+ last_git_error: GitModelError | None
257
+ versions: list[ModelVersionSummary]
258
+
259
+
260
+ class ModelVersionOut(ResponseModel):
261
+ author_user_id: str
262
+ created_at: datetime
263
+ digest: str
264
+ git_commit: str | None
265
+ published_at: datetime | None
266
+ revision: int
267
+ source: CustomerModelSource
268
+ state: CustomerModelState
269
+ version: int
270
+ yaml: str
271
+
272
+
273
+ class PublishRequest(RequestModel):
274
+ revision: int | None = None
@@ -0,0 +1,158 @@
1
+ """Models of the ``metrics`` 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 date
9
+ from typing import Literal
10
+
11
+ from pydantic import Field
12
+
13
+ from databay.model_base import OpenStrEnum, RequestModel, ResponseModel
14
+
15
+
16
+ class FilterOp(OpenStrEnum):
17
+ EQUALS = 'equals'
18
+ NOTEQUALS = 'notEquals'
19
+ CONTAINS = 'contains'
20
+ NOTCONTAINS = 'notContains'
21
+ STARTSWITH = 'startsWith'
22
+ ENDSWITH = 'endsWith'
23
+ GT = 'gt'
24
+ GTE = 'gte'
25
+ LT = 'lt'
26
+ LTE = 'lte'
27
+ SET = 'set'
28
+ NOTSET = 'notSet'
29
+
30
+
31
+ class Grain(OpenStrEnum):
32
+ DAY = 'day'
33
+ WEEK = 'week'
34
+ MONTH = 'month'
35
+ QUARTER = 'quarter'
36
+ YEAR = 'year'
37
+
38
+
39
+ class MetricSource(OpenStrEnum):
40
+ BUILTIN = 'builtin'
41
+ CUSTOMER = 'customer'
42
+
43
+
44
+ class MetricState(OpenStrEnum):
45
+ READY = 'ready'
46
+ COMPILING = 'compiling'
47
+ UNAVAILABLE = 'unavailable'
48
+
49
+
50
+ class MetricOrderDirection(OpenStrEnum):
51
+ ASC = 'asc'
52
+ DESC = 'desc'
53
+
54
+
55
+ class Column(ResponseModel):
56
+ name: str
57
+ type: str
58
+
59
+
60
+ class CompiledSql(ResponseModel):
61
+ params: list[str | int | float | bool | None]
62
+ text: str
63
+
64
+
65
+ class LineageRelation(ResponseModel):
66
+ database: str
67
+ name: str
68
+
69
+
70
+ class Lineage(ResponseModel):
71
+ tables: list[LineageRelation]
72
+ views: list[LineageRelation]
73
+ warehouse: str
74
+
75
+
76
+ class MetricDefinition(ResponseModel):
77
+ cube: str
78
+ description: str
79
+ expression: str | None
80
+ members: list[str]
81
+ name: str
82
+ type: str
83
+
84
+
85
+ class Explain(ResponseModel):
86
+ definition: MetricDefinition
87
+ lineage: Lineage
88
+ sql: CompiledSql
89
+
90
+
91
+ class MetricFilter(RequestModel):
92
+ member: str
93
+ op: FilterOp
94
+ values: list[str] | None = None
95
+
96
+
97
+ class MetricOut(ResponseModel):
98
+ cube: str
99
+ customer_model_version: int | None
100
+ description: str
101
+ dimensions: list[str]
102
+ filter_ops: list[FilterOp]
103
+ grains: list[Grain]
104
+ name: str
105
+ reason: str | None
106
+ source: MetricSource
107
+ state: MetricState
108
+ time_dimension: str | None
109
+ title: str | None
110
+ type: str
111
+ warehouses: list[str]
112
+
113
+
114
+ class MetricListOut(ResponseModel):
115
+ metrics: list[MetricOut]
116
+ model_version_: int | None = Field(alias='model_version')
117
+ policy_revision: str
118
+ reason: str | None
119
+ state: MetricState
120
+
121
+
122
+ class MetricOrder(RequestModel):
123
+ direction: MetricOrderDirection = 'asc'
124
+ member: str
125
+
126
+
127
+ class TimeRange(RequestModel):
128
+ from_: date | None = Field(default=None, alias='from')
129
+ grain: Grain | None = None
130
+ last: str | None = None
131
+ to: date | None = None
132
+
133
+
134
+ class MetricQuery(RequestModel):
135
+ dimensions: list[str] | None = None
136
+ dry_run: bool = False
137
+ explain: bool = False
138
+ filters: list[MetricFilter] | None = None
139
+ limit: int = 10000
140
+ metric: str | None = None
141
+ metrics: list[str] | None = None
142
+ model_version_: int | None = Field(default=None, alias='model_version')
143
+ order: list[MetricOrder] | None = None
144
+ time: TimeRange | None = None
145
+ warehouse: str | None = None
146
+
147
+
148
+ class MetricQueryOut(ResponseModel):
149
+ answer_path: Literal['metric'] = 'metric'
150
+ columns: list[Column]
151
+ dry_run: bool
152
+ explain: Explain | None
153
+ model_version_: int = Field(alias='model_version')
154
+ policy_revision: str
155
+ row_count: int
156
+ rows: list[list[str | float | None]]
157
+ truncated: bool
158
+ warehouse: str
@@ -0,0 +1,73 @@
1
+ """Models of the ``models`` 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 OpenStrEnum, RequestModel, ResponseModel
12
+
13
+
14
+ class GitAuthKind(OpenStrEnum):
15
+ DEPLOY_KEY = 'deploy_key'
16
+ TOKEN = 'token'
17
+ GITHUB_APP = 'github_app'
18
+
19
+
20
+ class BranchCheckRequest(RequestModel):
21
+ ref: str
22
+
23
+
24
+ class CheckedGitModel(ResponseModel):
25
+ estimated_rows: int | None
26
+ name: str
27
+ path: str
28
+ refresh: str
29
+ storage: str
30
+
31
+
32
+ class CommitProblem(ResponseModel):
33
+ code: str
34
+ detail: str
35
+ extra: dict[str, Any]
36
+ file: str | None
37
+ line: int | None
38
+
39
+
40
+ class CommitCheck(ResponseModel):
41
+ commit: str
42
+ disabled_models: list[str]
43
+ models: list[CheckedGitModel]
44
+ passed: bool
45
+ problems: list[CommitProblem]
46
+
47
+
48
+ class GitSyncError(ResponseModel):
49
+ code: str
50
+ commit: str | None
51
+ detail: str
52
+ extra: dict[str, Any]
53
+
54
+
55
+ class GitConnectionOut(ResponseModel):
56
+ applied_at: datetime | None
57
+ applied_commit: str | None
58
+ auth_kind: GitAuthKind
59
+ branch: str
60
+ connection_id: str
61
+ disabled_models: list[str]
62
+ error: GitSyncError | None
63
+ folder: str
64
+ github_installation_id: int | None
65
+ github_repo: str | None
66
+ last_sync_at: datetime | None
67
+ next_sync_at: datetime
68
+ project_id: str
69
+ public_key: str | None
70
+ repo_url: str
71
+ token_username: str | None
72
+ warehouse_db_uuid: str
73
+ webhook_path: str | None
databay/models/nlq.py ADDED
@@ -0,0 +1,92 @@
1
+ """Models of the ``nlq`` 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
+
12
+
13
+ class AnswerOutcome(OpenStrEnum):
14
+ ANSWERED = 'answered'
15
+ WRITTEN_OUT = 'written_out'
16
+ QUERY_FAILED = 'query_failed'
17
+
18
+
19
+ class NoAnswerReason(OpenStrEnum):
20
+ NO_RELEVANT_TABLES = 'no_relevant_tables'
21
+ INSUFFICIENT_DATA = 'insufficient_data'
22
+ AMBIGUOUS_QUESTION = 'ambiguous_question'
23
+ PROVIDER_NOT_CONFIGURED = 'provider_not_configured'
24
+ QUERY_REFUSED = 'query_refused'
25
+ UNKNOWN_WAREHOUSE = 'unknown_warehouse'
26
+ PROVIDER_BUSY = 'provider_busy'
27
+
28
+
29
+ class AiUsageResponse(ResponseModel):
30
+ limit: int
31
+ remaining: int
32
+ resets_at: str
33
+ used: int
34
+
35
+
36
+ class ChatTurn(RequestModel):
37
+ query: str | None = None
38
+ question: str
39
+
40
+
41
+ class AskRequest(RequestModel):
42
+ conversation_id: str | None = None
43
+ database_name: str | None = None
44
+ database_uuid: str
45
+ history: list[ChatTurn] | None = None
46
+ question: str
47
+
48
+
49
+ class QueryMetadata(ResponseModel):
50
+ embedding_model: str | None = None
51
+ model: str
52
+ processing_time_ms: int
53
+
54
+
55
+ class TableMetadata(ResponseModel):
56
+ database: str
57
+ relevance_score: float
58
+ table: str
59
+
60
+
61
+ class NLQFailureResponse(ResponseModel):
62
+ confidence: float
63
+ conversation_id: str | None = None
64
+ message: str
65
+ metadata: QueryMetadata
66
+ query: None = None
67
+ reason: NoAnswerReason
68
+ success: bool = False
69
+ suggestions: list[str] | None = None
70
+ tables_used: list[TableMetadata] | None = None
71
+
72
+
73
+ class QueryResult(ResponseModel):
74
+ columns: list[str]
75
+ rows: list[list[Any]]
76
+ truncated: bool
77
+
78
+
79
+ class NLQSuccessResponse(ResponseModel):
80
+ answer: str | None = None
81
+ answer_outcome: AnswerOutcome | None = None
82
+ confidence: float
83
+ conversation_id: str | None = None
84
+ metadata: QueryMetadata
85
+ query: str
86
+ reasoning: str
87
+ result: QueryResult | None = None
88
+ success: bool = True
89
+ tables_used: list[TableMetadata]
90
+
91
+
92
+ NlqAskResponse = NLQSuccessResponse | NLQFailureResponse