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,57 @@
1
+ """The ``me`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Operation, Param, Response
7
+
8
+
9
+ ME_GET = Operation(
10
+ operation_id='me_get',
11
+ noun='me',
12
+ verb='get',
13
+ method='get',
14
+ path='/api/auth/me',
15
+ summary='Me',
16
+ description='',
17
+ project=None,
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='refresh_plan',
24
+ location='query',
25
+ kind='boolean',
26
+ required=False,
27
+ description='Bypass the plan cache and re-read the plan',
28
+ ),
29
+ Param(
30
+ name='include_usage',
31
+ location='query',
32
+ kind='boolean',
33
+ required=False,
34
+ description='Also return billing usage and the plan state',
35
+ ),
36
+ Param(
37
+ name='include_orgs',
38
+ location='query',
39
+ kind='boolean',
40
+ required=False,
41
+ description='Also return active_org and needs_org_choice, read from the identity provider',
42
+ ),
43
+ ),
44
+ body=None,
45
+ response=Response(
46
+ kind='json',
47
+ model='me:User',
48
+ shape='object',
49
+ ),
50
+ examples=(
51
+ 'databay me get',
52
+ ),
53
+ )
54
+
55
+ OPERATIONS = (
56
+ ME_GET,
57
+ )
@@ -0,0 +1,40 @@
1
+ """The ``meta-ads-source`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Operation, Response
7
+
8
+
9
+ META_ADS_SOURCE_LIST = Operation(
10
+ operation_id='meta_ads_source_list',
11
+ noun='meta-ads-source',
12
+ verb='list',
13
+ method='get',
14
+ path='/api/configstore/meta-ads/accounts-connected',
15
+ summary='List Connected',
16
+ description="List the org's connected Meta Ads sources (token never serialized).",
17
+ project='header',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(),
22
+ body=None,
23
+ response=Response(
24
+ kind='json',
25
+ model='meta_ads_source:MetaAdsSourceListResponse',
26
+ shape='array',
27
+ ),
28
+ examples=(
29
+ 'databay meta-ads-source list',
30
+ ),
31
+ columns=(
32
+ 'uuid',
33
+ 'external_ref',
34
+ 'status',
35
+ ),
36
+ )
37
+
38
+ OPERATIONS = (
39
+ META_ADS_SOURCE_LIST,
40
+ )
@@ -0,0 +1,612 @@
1
+ """The ``metric-models`` operations.
2
+
3
+ Generated by python/tools/gen_client.py from contract/core.json; do not edit.
4
+ """
5
+
6
+ from databay.operation import Body, Operation, Param, Response
7
+
8
+
9
+ METRIC_MODELS_CHANGES = Operation(
10
+ operation_id='metric_models_changes',
11
+ noun='metric-models',
12
+ verb='changes',
13
+ method='get',
14
+ path='/api/semantic/projects/{project_id}/models/changes',
15
+ summary='Get Changes',
16
+ description='Compare the draft metric model with the published one: the metrics and breakdowns a publish would change.',
17
+ project='path:project_id',
18
+ destructive=False,
19
+ idempotent=False,
20
+ since='1.0',
21
+ params=(
22
+ Param(
23
+ name='project_id',
24
+ location='path',
25
+ kind='string',
26
+ required=True,
27
+ description='Project Id',
28
+ ),
29
+ ),
30
+ body=None,
31
+ response=Response(
32
+ kind='json',
33
+ model='metric_models:ModelChangesOut',
34
+ shape='object',
35
+ ),
36
+ examples=(
37
+ 'databay metric-models changes',
38
+ ),
39
+ )
40
+
41
+ METRIC_MODELS_IMPORT_DBT = Operation(
42
+ operation_id='metric_models_import_dbt',
43
+ noun='metric-models',
44
+ verb='import-dbt',
45
+ method='post',
46
+ path='/api/semantic/projects/{project_id}/models/import-dbt',
47
+ summary='Post Import Dbt',
48
+ description="Add cubes for the project's built dbt models to the draft metric model; it is never published.",
49
+ project='path:project_id',
50
+ destructive=False,
51
+ idempotent=False,
52
+ since='1.0',
53
+ params=(
54
+ Param(
55
+ name='project_id',
56
+ location='path',
57
+ kind='string',
58
+ required=True,
59
+ description='Project Id',
60
+ ),
61
+ ),
62
+ body=Body(
63
+ schema='DbtImportRequest',
64
+ fields=(
65
+ Param(
66
+ name='dry_run',
67
+ location='body',
68
+ kind='boolean',
69
+ required=False,
70
+ description='Dry Run',
71
+ ),
72
+ Param(
73
+ name='relations',
74
+ location='body',
75
+ kind='list',
76
+ required=False,
77
+ description='Relations',
78
+ item_kind='string',
79
+ nullable=True,
80
+ ),
81
+ Param(
82
+ name='replace_draft',
83
+ location='body',
84
+ kind='boolean',
85
+ required=False,
86
+ description='Replace Draft',
87
+ ),
88
+ Param(
89
+ name='revision',
90
+ location='body',
91
+ kind='integer',
92
+ required=False,
93
+ description='Revision',
94
+ nullable=True,
95
+ ),
96
+ ),
97
+ ),
98
+ response=Response(
99
+ kind='json',
100
+ model='metric_models:DbtImportOut',
101
+ shape='object',
102
+ ),
103
+ examples=(
104
+ 'databay metric-models import-dbt --dry-run',
105
+ ),
106
+ )
107
+
108
+ METRIC_MODELS_LIST = Operation(
109
+ operation_id='metric_models_list',
110
+ noun='metric-models',
111
+ verb='list',
112
+ method='get',
113
+ path='/api/semantic/projects/{project_id}/models/versions',
114
+ summary='Get Versions',
115
+ description="List every version of the project's metric model, newest first.",
116
+ project='path:project_id',
117
+ destructive=False,
118
+ idempotent=False,
119
+ since='1.0',
120
+ params=(
121
+ Param(
122
+ name='project_id',
123
+ location='path',
124
+ kind='string',
125
+ required=True,
126
+ description='Project Id',
127
+ ),
128
+ ),
129
+ body=None,
130
+ response=Response(
131
+ kind='json',
132
+ model='metric_models:ModelVersionListOut',
133
+ shape='object',
134
+ ),
135
+ examples=(
136
+ 'databay metric-models list',
137
+ ),
138
+ )
139
+
140
+ METRIC_MODELS_METRIC_ADD = Operation(
141
+ operation_id='metric_models_metric_add',
142
+ noun='metric-models',
143
+ verb='metric-add',
144
+ method='post',
145
+ path='/api/semantic/projects/{project_id}/models/draft/metrics',
146
+ summary='Post Metric',
147
+ description='Add one metric to the draft metric model.',
148
+ project='path:project_id',
149
+ destructive=False,
150
+ idempotent=False,
151
+ since='1.0',
152
+ params=(
153
+ Param(
154
+ name='project_id',
155
+ location='path',
156
+ kind='string',
157
+ required=True,
158
+ description='Project Id',
159
+ ),
160
+ ),
161
+ body=Body(
162
+ schema='MetricWrite',
163
+ fields=(
164
+ Param(
165
+ name='breakdowns',
166
+ location='body',
167
+ kind='json',
168
+ required=False,
169
+ description='Breakdowns',
170
+ nullable=True,
171
+ ),
172
+ Param(
173
+ name='metric',
174
+ location='body',
175
+ kind='json',
176
+ required=True,
177
+ ),
178
+ Param(
179
+ name='revision',
180
+ location='body',
181
+ kind='integer',
182
+ required=True,
183
+ description='Revision',
184
+ ),
185
+ ),
186
+ ),
187
+ response=Response(
188
+ kind='json',
189
+ model='metric_models:MetricEditOut',
190
+ shape='object',
191
+ ),
192
+ examples=(
193
+ 'databay metric-models metric-add --file metric.json',
194
+ ),
195
+ )
196
+
197
+ METRIC_MODELS_METRIC_LIST = Operation(
198
+ operation_id='metric_models_metric_list',
199
+ noun='metric-models',
200
+ verb='metric-list',
201
+ method='get',
202
+ path='/api/semantic/projects/{project_id}/models/draft/metrics',
203
+ summary='Get Form',
204
+ description='List the tables and metrics of the draft (or published) metric model, and which the metric form can edit.',
205
+ project='path:project_id',
206
+ destructive=False,
207
+ idempotent=False,
208
+ since='1.0',
209
+ params=(
210
+ Param(
211
+ name='project_id',
212
+ location='path',
213
+ kind='string',
214
+ required=True,
215
+ description='Project Id',
216
+ ),
217
+ ),
218
+ body=None,
219
+ response=Response(
220
+ kind='json',
221
+ model='metric_models:MetricFormOut',
222
+ shape='object',
223
+ ),
224
+ examples=(
225
+ 'databay metric-models metric-list',
226
+ ),
227
+ )
228
+
229
+ METRIC_MODELS_METRIC_REMOVE = Operation(
230
+ operation_id='metric_models_metric_remove',
231
+ noun='metric-models',
232
+ verb='metric-remove',
233
+ method='delete',
234
+ path='/api/semantic/projects/{project_id}/models/draft/metrics/{metric_name}',
235
+ summary='Delete Metric',
236
+ description='Remove one metric from the draft metric model.',
237
+ project='path:project_id',
238
+ destructive=True,
239
+ idempotent=False,
240
+ since='1.0',
241
+ params=(
242
+ Param(
243
+ name='project_id',
244
+ location='path',
245
+ kind='string',
246
+ required=True,
247
+ description='Project Id',
248
+ ),
249
+ Param(
250
+ name='metric_name',
251
+ location='path',
252
+ kind='string',
253
+ required=True,
254
+ description='Metric Name',
255
+ ),
256
+ Param(
257
+ name='revision',
258
+ location='query',
259
+ kind='integer',
260
+ required=True,
261
+ description='The revision the form read.',
262
+ ),
263
+ ),
264
+ body=None,
265
+ response=Response(
266
+ kind='json',
267
+ model='metric_models:MetricEditOut',
268
+ shape='object',
269
+ ),
270
+ examples=(
271
+ 'databay metric-models metric-remove <project_id> order_total --revision 5 --yes',
272
+ ),
273
+ )
274
+
275
+ METRIC_MODELS_METRIC_UPDATE = Operation(
276
+ operation_id='metric_models_metric_update',
277
+ noun='metric-models',
278
+ verb='metric-update',
279
+ method='put',
280
+ path='/api/semantic/projects/{project_id}/models/draft/metrics/{metric_name}',
281
+ summary='Put Metric',
282
+ description='Replace one metric of the draft metric model.',
283
+ project='path:project_id',
284
+ destructive=False,
285
+ idempotent=False,
286
+ since='1.0',
287
+ params=(
288
+ Param(
289
+ name='project_id',
290
+ location='path',
291
+ kind='string',
292
+ required=True,
293
+ description='Project Id',
294
+ ),
295
+ Param(
296
+ name='metric_name',
297
+ location='path',
298
+ kind='string',
299
+ required=True,
300
+ description='Metric Name',
301
+ ),
302
+ ),
303
+ body=Body(
304
+ schema='MetricWrite',
305
+ fields=(
306
+ Param(
307
+ name='breakdowns',
308
+ location='body',
309
+ kind='json',
310
+ required=False,
311
+ description='Breakdowns',
312
+ nullable=True,
313
+ ),
314
+ Param(
315
+ name='metric',
316
+ location='body',
317
+ kind='json',
318
+ required=True,
319
+ ),
320
+ Param(
321
+ name='revision',
322
+ location='body',
323
+ kind='integer',
324
+ required=True,
325
+ description='Revision',
326
+ ),
327
+ ),
328
+ ),
329
+ response=Response(
330
+ kind='json',
331
+ model='metric_models:MetricEditOut',
332
+ shape='object',
333
+ ),
334
+ examples=(
335
+ 'databay metric-models metric-update <project_id> order_total --file metric.json',
336
+ ),
337
+ )
338
+
339
+ METRIC_MODELS_PUBLISH = Operation(
340
+ operation_id='metric_models_publish',
341
+ noun='metric-models',
342
+ verb='publish',
343
+ method='post',
344
+ path='/api/semantic/projects/{project_id}/models/publish',
345
+ summary='Post Publish',
346
+ description="Publish the project's draft metric model; the published version it replaces is kept as superseded.",
347
+ project='path:project_id',
348
+ destructive=False,
349
+ idempotent=False,
350
+ since='1.0',
351
+ params=(
352
+ Param(
353
+ name='project_id',
354
+ location='path',
355
+ kind='string',
356
+ required=True,
357
+ description='Project Id',
358
+ ),
359
+ ),
360
+ body=Body(
361
+ schema='PublishRequest',
362
+ fields=(
363
+ Param(
364
+ name='revision',
365
+ location='body',
366
+ kind='integer',
367
+ required=False,
368
+ description='Revision',
369
+ nullable=True,
370
+ ),
371
+ ),
372
+ ),
373
+ response=Response(
374
+ kind='json',
375
+ model='metric_models:ModelVersionOut',
376
+ shape='object',
377
+ ),
378
+ examples=(
379
+ 'databay metric-models publish',
380
+ ),
381
+ )
382
+
383
+ METRIC_MODELS_PUSH = Operation(
384
+ operation_id='metric_models_push',
385
+ noun='metric-models',
386
+ verb='push',
387
+ method='put',
388
+ path='/api/semantic/projects/{project_id}/models/draft',
389
+ summary='Put Draft',
390
+ description="Validate a metric model and store it as the project's draft, replacing the draft there is.",
391
+ project='path:project_id',
392
+ destructive=False,
393
+ idempotent=False,
394
+ since='1.0',
395
+ params=(
396
+ Param(
397
+ name='project_id',
398
+ location='path',
399
+ kind='string',
400
+ required=True,
401
+ description='Project Id',
402
+ ),
403
+ ),
404
+ body=Body(
405
+ schema='ModelPush',
406
+ fields=(
407
+ Param(
408
+ name='revision',
409
+ location='body',
410
+ kind='integer',
411
+ required=False,
412
+ description='Revision',
413
+ nullable=True,
414
+ ),
415
+ Param(
416
+ name='yaml',
417
+ location='body',
418
+ kind='string',
419
+ required=True,
420
+ description='Yaml',
421
+ ),
422
+ ),
423
+ ),
424
+ response=Response(
425
+ kind='json',
426
+ model='metric_models:ModelVersionOut',
427
+ shape='object',
428
+ ),
429
+ examples=(
430
+ 'databay metric-models push --yaml "$(cat metrics.yml)"',
431
+ ),
432
+ )
433
+
434
+ METRIC_MODELS_SET_BREAKDOWNS = Operation(
435
+ operation_id='metric_models_set_breakdowns',
436
+ noun='metric-models',
437
+ verb='set-breakdowns',
438
+ method='put',
439
+ path='/api/semantic/projects/{project_id}/models/draft/tables/{table}/breakdowns',
440
+ summary='Put Breakdowns',
441
+ description="Set the columns one table's metrics break down by; the answer lists the metrics this affects.",
442
+ project='path:project_id',
443
+ destructive=False,
444
+ idempotent=False,
445
+ since='1.0',
446
+ params=(
447
+ Param(
448
+ name='project_id',
449
+ location='path',
450
+ kind='string',
451
+ required=True,
452
+ description='Project Id',
453
+ ),
454
+ Param(
455
+ name='table',
456
+ location='path',
457
+ kind='string',
458
+ required=True,
459
+ description='Table',
460
+ ),
461
+ ),
462
+ body=Body(
463
+ schema='BreakdownsWrite',
464
+ fields=(
465
+ Param(
466
+ name='breakdowns',
467
+ location='body',
468
+ kind='json',
469
+ required=True,
470
+ description='Breakdowns',
471
+ ),
472
+ Param(
473
+ name='revision',
474
+ location='body',
475
+ kind='integer',
476
+ required=True,
477
+ description='Revision',
478
+ ),
479
+ ),
480
+ ),
481
+ response=Response(
482
+ kind='json',
483
+ model='metric_models:MetricEditOut',
484
+ shape='object',
485
+ ),
486
+ examples=(
487
+ 'databay metric-models set-breakdowns <project_id> orders --file breakdowns.json',
488
+ ),
489
+ )
490
+
491
+ METRIC_MODELS_SHOW_DRAFT = Operation(
492
+ operation_id='metric_models_show_draft',
493
+ noun='metric-models',
494
+ verb='show-draft',
495
+ method='get',
496
+ path='/api/semantic/projects/{project_id}/models/draft',
497
+ summary='Get Draft',
498
+ description="Show the project's draft metric model.",
499
+ project='path:project_id',
500
+ destructive=False,
501
+ idempotent=False,
502
+ since='1.0',
503
+ params=(
504
+ Param(
505
+ name='project_id',
506
+ location='path',
507
+ kind='string',
508
+ required=True,
509
+ description='Project Id',
510
+ ),
511
+ ),
512
+ body=None,
513
+ response=Response(
514
+ kind='json',
515
+ model='metric_models:ModelVersionOut',
516
+ shape='object',
517
+ ),
518
+ examples=(
519
+ 'databay metric-models show-draft',
520
+ ),
521
+ )
522
+
523
+ METRIC_MODELS_SHOW_PUBLISHED = Operation(
524
+ operation_id='metric_models_show_published',
525
+ noun='metric-models',
526
+ verb='show-published',
527
+ method='get',
528
+ path='/api/semantic/projects/{project_id}/models/published',
529
+ summary='Get Published',
530
+ description="Show the project's published metric model.",
531
+ project='path:project_id',
532
+ destructive=False,
533
+ idempotent=False,
534
+ since='1.0',
535
+ params=(
536
+ Param(
537
+ name='project_id',
538
+ location='path',
539
+ kind='string',
540
+ required=True,
541
+ description='Project Id',
542
+ ),
543
+ ),
544
+ body=None,
545
+ response=Response(
546
+ kind='json',
547
+ model='metric_models:ModelVersionOut',
548
+ shape='object',
549
+ ),
550
+ examples=(
551
+ 'databay metric-models show-published',
552
+ ),
553
+ )
554
+
555
+ METRIC_MODELS_VALIDATE = Operation(
556
+ operation_id='metric_models_validate',
557
+ noun='metric-models',
558
+ verb='validate',
559
+ method='post',
560
+ path='/api/semantic/projects/{project_id}/models/validate',
561
+ summary='Post Validate',
562
+ description='Validate a metric model without storing it.',
563
+ project='path:project_id',
564
+ destructive=False,
565
+ idempotent=False,
566
+ since='1.0',
567
+ params=(
568
+ Param(
569
+ name='project_id',
570
+ location='path',
571
+ kind='string',
572
+ required=True,
573
+ description='Project Id',
574
+ ),
575
+ ),
576
+ body=Body(
577
+ schema='ModelUpload',
578
+ fields=(
579
+ Param(
580
+ name='yaml',
581
+ location='body',
582
+ kind='string',
583
+ required=True,
584
+ description='Yaml',
585
+ ),
586
+ ),
587
+ ),
588
+ response=Response(
589
+ kind='json',
590
+ model='metric_models:ModelValidationOut',
591
+ shape='object',
592
+ ),
593
+ examples=(
594
+ 'databay metric-models validate --yaml "$(cat metrics.yml)"',
595
+ ),
596
+ )
597
+
598
+ OPERATIONS = (
599
+ METRIC_MODELS_CHANGES,
600
+ METRIC_MODELS_IMPORT_DBT,
601
+ METRIC_MODELS_LIST,
602
+ METRIC_MODELS_METRIC_ADD,
603
+ METRIC_MODELS_METRIC_LIST,
604
+ METRIC_MODELS_METRIC_REMOVE,
605
+ METRIC_MODELS_METRIC_UPDATE,
606
+ METRIC_MODELS_PUBLISH,
607
+ METRIC_MODELS_PUSH,
608
+ METRIC_MODELS_SET_BREAKDOWNS,
609
+ METRIC_MODELS_SHOW_DRAFT,
610
+ METRIC_MODELS_SHOW_PUBLISHED,
611
+ METRIC_MODELS_VALIDATE,
612
+ )