frameio 0.0.28__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 (385) hide show
  1. frameio/__init__.py +1158 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +193 -0
  4. frameio/account_permissions/raw_client.py +333 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +162 -0
  7. frameio/accounts/raw_client.py +309 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +38 -0
  10. frameio/comments/client.py +654 -0
  11. frameio/comments/raw_client.py +1316 -0
  12. frameio/comments/types/__init__.py +40 -0
  13. frameio/comments/types/comments_show_request_include.py +5 -0
  14. frameio/comments/types/create_comment_params_data.py +33 -0
  15. frameio/comments/types/update_comment_params_data.py +33 -0
  16. frameio/core/__init__.py +122 -0
  17. frameio/core/api_error.py +23 -0
  18. frameio/core/client_wrapper.py +95 -0
  19. frameio/core/custom_pagination.py +152 -0
  20. frameio/core/datetime_utils.py +28 -0
  21. frameio/core/file.py +67 -0
  22. frameio/core/force_multipart.py +18 -0
  23. frameio/core/http_client.py +663 -0
  24. frameio/core/http_response.py +55 -0
  25. frameio/core/http_sse/__init__.py +42 -0
  26. frameio/core/http_sse/_api.py +112 -0
  27. frameio/core/http_sse/_decoders.py +61 -0
  28. frameio/core/http_sse/_exceptions.py +7 -0
  29. frameio/core/http_sse/_models.py +17 -0
  30. frameio/core/jsonable_encoder.py +100 -0
  31. frameio/core/pagination.py +82 -0
  32. frameio/core/pydantic_utilities.py +361 -0
  33. frameio/core/query_encoder.py +58 -0
  34. frameio/core/remove_none_from_dict.py +11 -0
  35. frameio/core/request_options.py +35 -0
  36. frameio/core/serialization.py +276 -0
  37. frameio/core/unchecked_base_model.py +376 -0
  38. frameio/environment.py +7 -0
  39. frameio/errors/__init__.py +53 -0
  40. frameio/errors/bad_request_error.py +11 -0
  41. frameio/errors/forbidden_error.py +11 -0
  42. frameio/errors/not_found_error.py +11 -0
  43. frameio/errors/too_many_requests_error.py +11 -0
  44. frameio/errors/unauthorized_error.py +11 -0
  45. frameio/errors/unprocessable_entity_error.py +10 -0
  46. frameio/files/__init__.py +58 -0
  47. frameio/files/client.py +1171 -0
  48. frameio/files/raw_client.py +2517 -0
  49. frameio/files/types/__init__.py +56 -0
  50. frameio/files/types/file_copy_params_data.py +15 -0
  51. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  52. frameio/files/types/file_create_params_data.py +31 -0
  53. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  54. frameio/files/types/file_move_params_data.py +15 -0
  55. frameio/files/types/file_update_params_data.py +15 -0
  56. frameio/files/types/files_copy_request_copy_comments.py +5 -0
  57. frameio/folders/__init__.py +39 -0
  58. frameio/folders/client.py +1004 -0
  59. frameio/folders/raw_client.py +2074 -0
  60. frameio/folders/types/__init__.py +42 -0
  61. frameio/folders/types/folder_copy_params_data.py +15 -0
  62. frameio/folders/types/folder_create_params_data.py +15 -0
  63. frameio/folders/types/folder_move_params_data.py +15 -0
  64. frameio/folders/types/folder_update_params_data.py +15 -0
  65. frameio/metadata/__init__.py +37 -0
  66. frameio/metadata/client.py +293 -0
  67. frameio/metadata/raw_client.py +509 -0
  68. frameio/metadata/types/__init__.py +38 -0
  69. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  70. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  71. frameio/metadata_fields/__init__.py +103 -0
  72. frameio/metadata_fields/client.py +536 -0
  73. frameio/metadata_fields/raw_client.py +996 -0
  74. frameio/metadata_fields/types/__init__.py +105 -0
  75. frameio/metadata_fields/types/create_field_definition_params_data.py +112 -0
  76. frameio/metadata_fields/types/update_field_definition_params_data.py +118 -0
  77. frameio/project_permissions/__init__.py +4 -0
  78. frameio/project_permissions/client.py +426 -0
  79. frameio/project_permissions/raw_client.py +824 -0
  80. frameio/projects/__init__.py +38 -0
  81. frameio/projects/client.py +604 -0
  82. frameio/projects/raw_client.py +1286 -0
  83. frameio/projects/types/__init__.py +40 -0
  84. frameio/projects/types/project_params_data.py +20 -0
  85. frameio/projects/types/project_update_params_data.py +26 -0
  86. frameio/projects/types/project_update_params_data_status.py +5 -0
  87. frameio/py.typed +0 -0
  88. frameio/shares/__init__.py +64 -0
  89. frameio/shares/client.py +1217 -0
  90. frameio/shares/raw_client.py +2511 -0
  91. frameio/shares/types/__init__.py +61 -0
  92. frameio/shares/types/add_asset_params_data.py +15 -0
  93. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  94. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  95. frameio/shares/types/create_share_params_data.py +26 -0
  96. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  97. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  98. frameio/shares/types/update_share_params_data.py +34 -0
  99. frameio/shares/types/update_share_params_data_access.py +5 -0
  100. frameio/types/__init__.py +983 -0
  101. frameio/types/account.py +70 -0
  102. frameio/types/account_roles_item.py +5 -0
  103. frameio/types/account_user_role.py +23 -0
  104. frameio/types/account_user_role_role.py +5 -0
  105. frameio/types/account_user_roles_response.py +27 -0
  106. frameio/types/accounts_response.py +23 -0
  107. frameio/types/add_asset_response.py +13 -0
  108. frameio/types/add_asset_response_data.py +15 -0
  109. frameio/types/asset_common.py +48 -0
  110. frameio/types/asset_common_type.py +5 -0
  111. frameio/types/asset_common_with_includes.py +58 -0
  112. frameio/types/asset_common_with_includes_type.py +5 -0
  113. frameio/types/asset_include.py +5 -0
  114. frameio/types/asset_share_params.py +39 -0
  115. frameio/types/asset_share_params_access.py +5 -0
  116. frameio/types/asset_with_includes.py +76 -0
  117. frameio/types/assets_with_includes_response.py +23 -0
  118. frameio/types/bad_request.py +13 -0
  119. frameio/types/bad_request_errors_item.py +15 -0
  120. frameio/types/bad_request_errors_item_source.py +12 -0
  121. frameio/types/boolean_value.py +12 -0
  122. frameio/types/children_type.py +3 -0
  123. frameio/types/comment.py +59 -0
  124. frameio/types/comment_include.py +5 -0
  125. frameio/types/comment_response.py +13 -0
  126. frameio/types/comment_with_includes.py +17 -0
  127. frameio/types/comment_with_includes_response.py +13 -0
  128. frameio/types/comments_with_includes_response.py +23 -0
  129. frameio/types/date_definition.py +49 -0
  130. frameio/types/date_definition_field_configuration.py +21 -0
  131. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  132. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  133. frameio/types/date_definition_field_type.py +10 -0
  134. frameio/types/date_definition_params.py +17 -0
  135. frameio/types/date_definition_params_field_configuration.py +23 -0
  136. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  137. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  138. frameio/types/date_definition_with_includes.py +13 -0
  139. frameio/types/date_value.py +12 -0
  140. frameio/types/email.py +3 -0
  141. frameio/types/empty_json.py +5 -0
  142. frameio/types/field_definition.py +167 -0
  143. frameio/types/field_definition_include.py +5 -0
  144. frameio/types/field_definition_response.py +13 -0
  145. frameio/types/field_definition_with_includes.py +178 -0
  146. frameio/types/field_definitions_with_includes_response.py +27 -0
  147. frameio/types/field_value_common.py +29 -0
  148. frameio/types/file.py +60 -0
  149. frameio/types/file_copy_response.py +13 -0
  150. frameio/types/file_remote_upload_response.py +17 -0
  151. frameio/types/file_response.py +13 -0
  152. frameio/types/file_status.py +5 -0
  153. frameio/types/file_upload_status.py +41 -0
  154. frameio/types/file_upload_status_response.py +13 -0
  155. frameio/types/file_with_includes.py +25 -0
  156. frameio/types/file_with_includes_response.py +13 -0
  157. frameio/types/file_with_includes_status.py +5 -0
  158. frameio/types/file_with_media_links_include.py +19 -0
  159. frameio/types/file_with_upload_urls.py +16 -0
  160. frameio/types/file_with_upload_urls_response.py +13 -0
  161. frameio/types/folder.py +15 -0
  162. frameio/types/folder_copy_response.py +13 -0
  163. frameio/types/folder_response.py +13 -0
  164. frameio/types/folder_with_includes.py +63 -0
  165. frameio/types/folder_with_includes_response.py +13 -0
  166. frameio/types/folders_with_includes_response.py +23 -0
  167. frameio/types/forbidden.py +13 -0
  168. frameio/types/forbidden_errors_item.py +15 -0
  169. frameio/types/forbidden_errors_item_source.py +12 -0
  170. frameio/types/include.py +5 -0
  171. frameio/types/include_total_count.py +3 -0
  172. frameio/types/integer_value.py +12 -0
  173. frameio/types/json_error_response.py +13 -0
  174. frameio/types/json_error_response_errors_item.py +15 -0
  175. frameio/types/json_error_response_errors_item_source.py +12 -0
  176. frameio/types/links.py +22 -0
  177. frameio/types/long_text_definition.py +49 -0
  178. frameio/types/long_text_definition_field_configuration.py +10 -0
  179. frameio/types/long_text_definition_field_type.py +10 -0
  180. frameio/types/long_text_definition_params.py +15 -0
  181. frameio/types/long_text_definition_with_includes.py +13 -0
  182. frameio/types/media_link_common.py +17 -0
  183. frameio/types/media_links_collection.py +24 -0
  184. frameio/types/metadata_field.py +149 -0
  185. frameio/types/metadata_response.py +13 -0
  186. frameio/types/metadata_with_definition.py +21 -0
  187. frameio/types/multi_select_value.py +14 -0
  188. frameio/types/multi_user_value.py +20 -0
  189. frameio/types/multi_user_value_member_options_type.py +5 -0
  190. frameio/types/no_content.py +3 -0
  191. frameio/types/not_found.py +13 -0
  192. frameio/types/not_found_errors_item.py +15 -0
  193. frameio/types/not_found_errors_item_source.py +12 -0
  194. frameio/types/number_definition.py +43 -0
  195. frameio/types/number_definition_field_configuration.py +21 -0
  196. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  197. frameio/types/number_definition_params.py +17 -0
  198. frameio/types/number_definition_params_field_configuration.py +23 -0
  199. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  200. frameio/types/number_definition_with_includes.py +13 -0
  201. frameio/types/number_value.py +12 -0
  202. frameio/types/original_media_link.py +16 -0
  203. frameio/types/profile.py +34 -0
  204. frameio/types/profile_response.py +17 -0
  205. frameio/types/project.py +66 -0
  206. frameio/types/project_include.py +5 -0
  207. frameio/types/project_response.py +17 -0
  208. frameio/types/project_status.py +5 -0
  209. frameio/types/project_with_includes.py +18 -0
  210. frameio/types/project_with_includes_response.py +17 -0
  211. frameio/types/projects_with_includes_response.py +27 -0
  212. frameio/types/rating_definition.py +43 -0
  213. frameio/types/rating_definition_field_configuration.py +22 -0
  214. frameio/types/rating_definition_field_configuration_style.py +5 -0
  215. frameio/types/rating_definition_params.py +17 -0
  216. frameio/types/rating_definition_params_field_configuration.py +22 -0
  217. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  218. frameio/types/rating_definition_with_includes.py +13 -0
  219. frameio/types/remove_asset_response.py +13 -0
  220. frameio/types/remove_asset_response_data.py +15 -0
  221. frameio/types/rendition_media_link.py +19 -0
  222. frameio/types/request_after_opaque_cursor.py +5 -0
  223. frameio/types/request_page_size.py +3 -0
  224. frameio/types/select_definition.py +43 -0
  225. frameio/types/select_definition_field_configuration.py +18 -0
  226. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  227. frameio/types/select_definition_params.py +17 -0
  228. frameio/types/select_definition_params_field_configuration.py +20 -0
  229. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  230. frameio/types/select_definition_with_includes.py +13 -0
  231. frameio/types/select_multi_definition.py +49 -0
  232. frameio/types/select_multi_definition_field_configuration.py +18 -0
  233. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  234. frameio/types/select_multi_definition_field_type.py +10 -0
  235. frameio/types/select_multi_definition_params.py +17 -0
  236. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  237. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  238. frameio/types/select_multi_definition_with_includes.py +13 -0
  239. frameio/types/select_option.py +20 -0
  240. frameio/types/select_value.py +14 -0
  241. frameio/types/share.py +66 -0
  242. frameio/types/share_access.py +5 -0
  243. frameio/types/share_response.py +13 -0
  244. frameio/types/share_reviewers_response.py +27 -0
  245. frameio/types/shares_response.py +27 -0
  246. frameio/types/single_user_value.py +20 -0
  247. frameio/types/single_user_value_member_options_type.py +5 -0
  248. frameio/types/text_definition.py +49 -0
  249. frameio/types/text_definition_field_configuration.py +10 -0
  250. frameio/types/text_definition_field_type.py +10 -0
  251. frameio/types/text_definition_params.py +15 -0
  252. frameio/types/text_definition_with_includes.py +13 -0
  253. frameio/types/text_value.py +12 -0
  254. frameio/types/time_stamp.py +5 -0
  255. frameio/types/toggle_definition.py +43 -0
  256. frameio/types/toggle_definition_field_configuration.py +15 -0
  257. frameio/types/toggle_definition_params.py +17 -0
  258. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  259. frameio/types/toggle_definition_with_includes.py +13 -0
  260. frameio/types/too_many_requests.py +13 -0
  261. frameio/types/too_many_requests_errors_item.py +15 -0
  262. frameio/types/too_many_requests_errors_item_source.py +12 -0
  263. frameio/types/unauthorized.py +13 -0
  264. frameio/types/unauthorized_errors_item.py +15 -0
  265. frameio/types/unauthorized_errors_item_source.py +12 -0
  266. frameio/types/unprocessable_entity.py +13 -0
  267. frameio/types/unprocessable_entity_errors_item.py +15 -0
  268. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  269. frameio/types/update_date_definition_params.py +17 -0
  270. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  271. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  272. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  273. frameio/types/update_long_text_definition_params.py +15 -0
  274. frameio/types/update_number_definition_params.py +17 -0
  275. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  276. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  277. frameio/types/update_rating_definition_params.py +17 -0
  278. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  279. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  280. frameio/types/update_select_definition_params.py +17 -0
  281. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  282. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  283. frameio/types/update_select_multi_definition_params.py +19 -0
  284. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  285. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  286. frameio/types/update_text_definition_params.py +15 -0
  287. frameio/types/update_toggle_definition_params.py +17 -0
  288. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  289. frameio/types/update_user_multi_definition_params.py +17 -0
  290. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  291. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  292. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  293. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  294. frameio/types/update_user_roles_params.py +17 -0
  295. frameio/types/update_user_roles_params_data.py +13 -0
  296. frameio/types/update_user_roles_params_data_role.py +7 -0
  297. frameio/types/update_user_roles_response.py +13 -0
  298. frameio/types/update_user_roles_response_data.py +13 -0
  299. frameio/types/update_user_roles_response_data_role.py +7 -0
  300. frameio/types/update_user_single_definition_params.py +17 -0
  301. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  302. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  303. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  304. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  305. frameio/types/upload_url.py +20 -0
  306. frameio/types/user.py +44 -0
  307. frameio/types/user_multi_definition.py +49 -0
  308. frameio/types/user_multi_definition_field_configuration.py +23 -0
  309. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_multi_definition_field_type.py +10 -0
  313. frameio/types/user_multi_definition_params.py +17 -0
  314. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  315. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  316. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  317. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  318. frameio/types/user_multi_definition_with_includes.py +13 -0
  319. frameio/types/user_role.py +19 -0
  320. frameio/types/user_role_role.py +7 -0
  321. frameio/types/user_roles_response.py +27 -0
  322. frameio/types/user_single_definition.py +49 -0
  323. frameio/types/user_single_definition_field_configuration.py +23 -0
  324. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  325. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  326. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  327. frameio/types/user_single_definition_field_type.py +10 -0
  328. frameio/types/user_single_definition_params.py +17 -0
  329. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  330. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  331. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  332. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  333. frameio/types/user_single_definition_with_includes.py +13 -0
  334. frameio/types/user_value.py +18 -0
  335. frameio/types/user_value_type.py +5 -0
  336. frameio/types/uuid_.py +3 -0
  337. frameio/types/version_stack.py +50 -0
  338. frameio/types/version_stack_copy_response.py +13 -0
  339. frameio/types/version_stack_response.py +13 -0
  340. frameio/types/version_stack_with_includes.py +60 -0
  341. frameio/types/version_stack_with_includes_response.py +13 -0
  342. frameio/types/version_stacks_with_includes_response.py +19 -0
  343. frameio/types/webhook.py +36 -0
  344. frameio/types/webhook_create_response.py +17 -0
  345. frameio/types/webhook_create_response_data.py +15 -0
  346. frameio/types/webhook_events.py +5 -0
  347. frameio/types/webhook_response.py +13 -0
  348. frameio/types/webhook_with_includes.py +13 -0
  349. frameio/types/webhook_with_includes_response.py +13 -0
  350. frameio/types/webhooks_with_includes_response.py +23 -0
  351. frameio/types/workspace.py +40 -0
  352. frameio/types/workspace_include.py +5 -0
  353. frameio/types/workspace_params.py +17 -0
  354. frameio/types/workspace_params_data.py +15 -0
  355. frameio/types/workspace_response.py +17 -0
  356. frameio/types/workspace_with_includes.py +13 -0
  357. frameio/types/workspace_with_includes_response.py +17 -0
  358. frameio/types/workspaces_with_includes_response.py +27 -0
  359. frameio/users/__init__.py +4 -0
  360. frameio/users/client.py +100 -0
  361. frameio/users/raw_client.py +234 -0
  362. frameio/version.py +3 -0
  363. frameio/version_stacks/__init__.py +49 -0
  364. frameio/version_stacks/client.py +818 -0
  365. frameio/version_stacks/raw_client.py +1614 -0
  366. frameio/version_stacks/types/__init__.py +47 -0
  367. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  368. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  369. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  370. frameio/version_stacks/types/version_stacks_show_request_include.py +19 -0
  371. frameio/webhooks/__init__.py +34 -0
  372. frameio/webhooks/client.py +793 -0
  373. frameio/webhooks/raw_client.py +1347 -0
  374. frameio/webhooks/types/__init__.py +38 -0
  375. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  376. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  377. frameio/workspace_permissions/__init__.py +4 -0
  378. frameio/workspace_permissions/client.py +430 -0
  379. frameio/workspace_permissions/raw_client.py +824 -0
  380. frameio/workspaces/__init__.py +4 -0
  381. frameio/workspaces/client.py +563 -0
  382. frameio/workspaces/raw_client.py +1259 -0
  383. frameio-0.0.28.dist-info/METADATA +259 -0
  384. frameio-0.0.28.dist-info/RECORD +385 -0
  385. frameio-0.0.28.dist-info/WHEEL +4 -0
@@ -0,0 +1,654 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
7
+ from ..core.request_options import RequestOptions
8
+ from ..types.comment_include import CommentInclude
9
+ from ..types.comment_response import CommentResponse
10
+ from ..types.comment_with_includes import CommentWithIncludes
11
+ from ..types.comment_with_includes_response import CommentWithIncludesResponse
12
+ from ..types.comments_with_includes_response import CommentsWithIncludesResponse
13
+ from ..types.include_total_count import IncludeTotalCount
14
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
15
+ from ..types.request_page_size import RequestPageSize
16
+ from ..types.uuid_ import Uuid
17
+ from .raw_client import AsyncRawCommentsClient, RawCommentsClient
18
+ from .types.comments_show_request_include import CommentsShowRequestInclude
19
+ from .types.create_comment_params_data import CreateCommentParamsData
20
+ from .types.update_comment_params_data import UpdateCommentParamsData
21
+
22
+ # this is used as the default value for optional parameters
23
+ OMIT = typing.cast(typing.Any, ...)
24
+
25
+
26
+ class CommentsClient:
27
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
28
+ self._raw_client = RawCommentsClient(client_wrapper=client_wrapper)
29
+
30
+ @property
31
+ def with_raw_response(self) -> RawCommentsClient:
32
+ """
33
+ Retrieves a raw implementation of this client that returns raw responses.
34
+
35
+ Returns
36
+ -------
37
+ RawCommentsClient
38
+ """
39
+ return self._raw_client
40
+
41
+ def show(
42
+ self,
43
+ account_id: Uuid,
44
+ comment_id: Uuid,
45
+ *,
46
+ include: typing.Optional[CommentsShowRequestInclude] = None,
47
+ request_options: typing.Optional[RequestOptions] = None,
48
+ ) -> CommentWithIncludesResponse:
49
+ """
50
+ Show a single comment on a file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
51
+
52
+ Parameters
53
+ ----------
54
+ account_id : Uuid
55
+
56
+
57
+ comment_id : Uuid
58
+
59
+
60
+ include : typing.Optional[CommentsShowRequestInclude]
61
+
62
+
63
+ request_options : typing.Optional[RequestOptions]
64
+ Request-specific configuration.
65
+
66
+ Returns
67
+ -------
68
+ CommentWithIncludesResponse
69
+ OK
70
+
71
+ Examples
72
+ --------
73
+ from frameio import Frameio
74
+
75
+ client = Frameio(
76
+ token="YOUR_TOKEN",
77
+ )
78
+ client.comments.show(
79
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
80
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
81
+ include="owner",
82
+ )
83
+ """
84
+ _response = self._raw_client.show(account_id, comment_id, include=include, request_options=request_options)
85
+ return _response.data
86
+
87
+ def delete(
88
+ self, account_id: Uuid, comment_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
89
+ ) -> None:
90
+ """
91
+ Delete comment from an asset. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
92
+
93
+ Parameters
94
+ ----------
95
+ account_id : Uuid
96
+
97
+
98
+ comment_id : Uuid
99
+
100
+
101
+ request_options : typing.Optional[RequestOptions]
102
+ Request-specific configuration.
103
+
104
+ Returns
105
+ -------
106
+ None
107
+
108
+ Examples
109
+ --------
110
+ from frameio import Frameio
111
+
112
+ client = Frameio(
113
+ token="YOUR_TOKEN",
114
+ )
115
+ client.comments.delete(
116
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
117
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
118
+ )
119
+ """
120
+ _response = self._raw_client.delete(account_id, comment_id, request_options=request_options)
121
+ return _response.data
122
+
123
+ def update(
124
+ self,
125
+ account_id: Uuid,
126
+ comment_id: Uuid,
127
+ *,
128
+ data: UpdateCommentParamsData,
129
+ timestamp_as_timecode: typing.Optional[bool] = None,
130
+ request_options: typing.Optional[RequestOptions] = None,
131
+ ) -> CommentResponse:
132
+ """
133
+ Update comment on given asset. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
134
+
135
+ Parameters
136
+ ----------
137
+ account_id : Uuid
138
+
139
+
140
+ comment_id : Uuid
141
+
142
+
143
+ data : UpdateCommentParamsData
144
+
145
+ timestamp_as_timecode : typing.Optional[bool]
146
+
147
+
148
+ request_options : typing.Optional[RequestOptions]
149
+ Request-specific configuration.
150
+
151
+ Returns
152
+ -------
153
+ CommentResponse
154
+ OK
155
+
156
+ Examples
157
+ --------
158
+ from frameio import Frameio
159
+ from frameio.comments import UpdateCommentParamsData
160
+
161
+ client = Frameio(
162
+ token="YOUR_TOKEN",
163
+ )
164
+ client.comments.update(
165
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
166
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
167
+ timestamp_as_timecode=True,
168
+ data=UpdateCommentParamsData(
169
+ annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
170
+ completed=False,
171
+ page=4,
172
+ text="This is great!",
173
+ ),
174
+ )
175
+ """
176
+ _response = self._raw_client.update(
177
+ account_id,
178
+ comment_id,
179
+ data=data,
180
+ timestamp_as_timecode=timestamp_as_timecode,
181
+ request_options=request_options,
182
+ )
183
+ return _response.data
184
+
185
+ def index(
186
+ self,
187
+ account_id: Uuid,
188
+ file_id: Uuid,
189
+ *,
190
+ include: typing.Optional[CommentInclude] = None,
191
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
192
+ page_size: typing.Optional[RequestPageSize] = None,
193
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
194
+ request_options: typing.Optional[RequestOptions] = None,
195
+ ) -> SyncPager[CommentWithIncludes, CommentsWithIncludesResponse]:
196
+ """
197
+ List comments on a given asset. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
198
+
199
+ Parameters
200
+ ----------
201
+ account_id : Uuid
202
+
203
+
204
+ file_id : Uuid
205
+
206
+
207
+ include : typing.Optional[CommentInclude]
208
+
209
+
210
+ after : typing.Optional[RequestAfterOpaqueCursor]
211
+ Opaque Cursor query param for requests returning paginated results.
212
+ <br/>
213
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
214
+
215
+ page_size : typing.Optional[RequestPageSize]
216
+
217
+
218
+ include_total_count : typing.Optional[IncludeTotalCount]
219
+
220
+
221
+ request_options : typing.Optional[RequestOptions]
222
+ Request-specific configuration.
223
+
224
+ Returns
225
+ -------
226
+ SyncPager[CommentWithIncludes, CommentsWithIncludesResponse]
227
+ OK
228
+
229
+ Examples
230
+ --------
231
+ from frameio import Frameio
232
+
233
+ client = Frameio(
234
+ token="YOUR_TOKEN",
235
+ )
236
+ response = client.comments.index(
237
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
238
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
239
+ include="owner",
240
+ after="<opaque_cursor>",
241
+ page_size=10,
242
+ include_total_count=False,
243
+ )
244
+ for item in response:
245
+ yield item
246
+ # alternatively, you can paginate page-by-page
247
+ for page in response.iter_pages():
248
+ yield page
249
+ """
250
+ return self._raw_client.index(
251
+ account_id,
252
+ file_id,
253
+ include=include,
254
+ after=after,
255
+ page_size=page_size,
256
+ include_total_count=include_total_count,
257
+ request_options=request_options,
258
+ )
259
+
260
+ def create(
261
+ self,
262
+ account_id: Uuid,
263
+ file_id: Uuid,
264
+ *,
265
+ data: CreateCommentParamsData,
266
+ timestamp_as_timecode: typing.Optional[bool] = None,
267
+ request_options: typing.Optional[RequestOptions] = None,
268
+ ) -> CommentResponse:
269
+ """
270
+ Create a comment on a file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
271
+
272
+ Parameters
273
+ ----------
274
+ account_id : Uuid
275
+
276
+
277
+ file_id : Uuid
278
+
279
+
280
+ data : CreateCommentParamsData
281
+
282
+ timestamp_as_timecode : typing.Optional[bool]
283
+
284
+
285
+ request_options : typing.Optional[RequestOptions]
286
+ Request-specific configuration.
287
+
288
+ Returns
289
+ -------
290
+ CommentResponse
291
+ Created
292
+
293
+ Examples
294
+ --------
295
+ from frameio import Frameio
296
+ from frameio.comments import CreateCommentParamsData
297
+
298
+ client = Frameio(
299
+ token="YOUR_TOKEN",
300
+ )
301
+ client.comments.create(
302
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
303
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
304
+ timestamp_as_timecode=True,
305
+ data=CreateCommentParamsData(
306
+ annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
307
+ completed=False,
308
+ page=4,
309
+ text="This is great!",
310
+ timestamp="00:00:02:12",
311
+ ),
312
+ )
313
+ """
314
+ _response = self._raw_client.create(
315
+ account_id, file_id, data=data, timestamp_as_timecode=timestamp_as_timecode, request_options=request_options
316
+ )
317
+ return _response.data
318
+
319
+
320
+ class AsyncCommentsClient:
321
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
322
+ self._raw_client = AsyncRawCommentsClient(client_wrapper=client_wrapper)
323
+
324
+ @property
325
+ def with_raw_response(self) -> AsyncRawCommentsClient:
326
+ """
327
+ Retrieves a raw implementation of this client that returns raw responses.
328
+
329
+ Returns
330
+ -------
331
+ AsyncRawCommentsClient
332
+ """
333
+ return self._raw_client
334
+
335
+ async def show(
336
+ self,
337
+ account_id: Uuid,
338
+ comment_id: Uuid,
339
+ *,
340
+ include: typing.Optional[CommentsShowRequestInclude] = None,
341
+ request_options: typing.Optional[RequestOptions] = None,
342
+ ) -> CommentWithIncludesResponse:
343
+ """
344
+ Show a single comment on a file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
345
+
346
+ Parameters
347
+ ----------
348
+ account_id : Uuid
349
+
350
+
351
+ comment_id : Uuid
352
+
353
+
354
+ include : typing.Optional[CommentsShowRequestInclude]
355
+
356
+
357
+ request_options : typing.Optional[RequestOptions]
358
+ Request-specific configuration.
359
+
360
+ Returns
361
+ -------
362
+ CommentWithIncludesResponse
363
+ OK
364
+
365
+ Examples
366
+ --------
367
+ import asyncio
368
+
369
+ from frameio import AsyncFrameio
370
+
371
+ client = AsyncFrameio(
372
+ token="YOUR_TOKEN",
373
+ )
374
+
375
+
376
+ async def main() -> None:
377
+ await client.comments.show(
378
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
379
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
380
+ include="owner",
381
+ )
382
+
383
+
384
+ asyncio.run(main())
385
+ """
386
+ _response = await self._raw_client.show(
387
+ account_id, comment_id, include=include, request_options=request_options
388
+ )
389
+ return _response.data
390
+
391
+ async def delete(
392
+ self, account_id: Uuid, comment_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
393
+ ) -> None:
394
+ """
395
+ Delete comment from an asset. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
396
+
397
+ Parameters
398
+ ----------
399
+ account_id : Uuid
400
+
401
+
402
+ comment_id : Uuid
403
+
404
+
405
+ request_options : typing.Optional[RequestOptions]
406
+ Request-specific configuration.
407
+
408
+ Returns
409
+ -------
410
+ None
411
+
412
+ Examples
413
+ --------
414
+ import asyncio
415
+
416
+ from frameio import AsyncFrameio
417
+
418
+ client = AsyncFrameio(
419
+ token="YOUR_TOKEN",
420
+ )
421
+
422
+
423
+ async def main() -> None:
424
+ await client.comments.delete(
425
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
426
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
427
+ )
428
+
429
+
430
+ asyncio.run(main())
431
+ """
432
+ _response = await self._raw_client.delete(account_id, comment_id, request_options=request_options)
433
+ return _response.data
434
+
435
+ async def update(
436
+ self,
437
+ account_id: Uuid,
438
+ comment_id: Uuid,
439
+ *,
440
+ data: UpdateCommentParamsData,
441
+ timestamp_as_timecode: typing.Optional[bool] = None,
442
+ request_options: typing.Optional[RequestOptions] = None,
443
+ ) -> CommentResponse:
444
+ """
445
+ Update comment on given asset. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
446
+
447
+ Parameters
448
+ ----------
449
+ account_id : Uuid
450
+
451
+
452
+ comment_id : Uuid
453
+
454
+
455
+ data : UpdateCommentParamsData
456
+
457
+ timestamp_as_timecode : typing.Optional[bool]
458
+
459
+
460
+ request_options : typing.Optional[RequestOptions]
461
+ Request-specific configuration.
462
+
463
+ Returns
464
+ -------
465
+ CommentResponse
466
+ OK
467
+
468
+ Examples
469
+ --------
470
+ import asyncio
471
+
472
+ from frameio import AsyncFrameio
473
+ from frameio.comments import UpdateCommentParamsData
474
+
475
+ client = AsyncFrameio(
476
+ token="YOUR_TOKEN",
477
+ )
478
+
479
+
480
+ async def main() -> None:
481
+ await client.comments.update(
482
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
483
+ comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
484
+ timestamp_as_timecode=True,
485
+ data=UpdateCommentParamsData(
486
+ annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
487
+ completed=False,
488
+ page=4,
489
+ text="This is great!",
490
+ ),
491
+ )
492
+
493
+
494
+ asyncio.run(main())
495
+ """
496
+ _response = await self._raw_client.update(
497
+ account_id,
498
+ comment_id,
499
+ data=data,
500
+ timestamp_as_timecode=timestamp_as_timecode,
501
+ request_options=request_options,
502
+ )
503
+ return _response.data
504
+
505
+ async def index(
506
+ self,
507
+ account_id: Uuid,
508
+ file_id: Uuid,
509
+ *,
510
+ include: typing.Optional[CommentInclude] = None,
511
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
512
+ page_size: typing.Optional[RequestPageSize] = None,
513
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
514
+ request_options: typing.Optional[RequestOptions] = None,
515
+ ) -> AsyncPager[CommentWithIncludes, CommentsWithIncludesResponse]:
516
+ """
517
+ List comments on a given asset. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
518
+
519
+ Parameters
520
+ ----------
521
+ account_id : Uuid
522
+
523
+
524
+ file_id : Uuid
525
+
526
+
527
+ include : typing.Optional[CommentInclude]
528
+
529
+
530
+ after : typing.Optional[RequestAfterOpaqueCursor]
531
+ Opaque Cursor query param for requests returning paginated results.
532
+ <br/>
533
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
534
+
535
+ page_size : typing.Optional[RequestPageSize]
536
+
537
+
538
+ include_total_count : typing.Optional[IncludeTotalCount]
539
+
540
+
541
+ request_options : typing.Optional[RequestOptions]
542
+ Request-specific configuration.
543
+
544
+ Returns
545
+ -------
546
+ AsyncPager[CommentWithIncludes, CommentsWithIncludesResponse]
547
+ OK
548
+
549
+ Examples
550
+ --------
551
+ import asyncio
552
+
553
+ from frameio import AsyncFrameio
554
+
555
+ client = AsyncFrameio(
556
+ token="YOUR_TOKEN",
557
+ )
558
+
559
+
560
+ async def main() -> None:
561
+ response = await client.comments.index(
562
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
563
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
564
+ include="owner",
565
+ after="<opaque_cursor>",
566
+ page_size=10,
567
+ include_total_count=False,
568
+ )
569
+ async for item in response:
570
+ yield item
571
+
572
+ # alternatively, you can paginate page-by-page
573
+ async for page in response.iter_pages():
574
+ yield page
575
+
576
+
577
+ asyncio.run(main())
578
+ """
579
+ return await self._raw_client.index(
580
+ account_id,
581
+ file_id,
582
+ include=include,
583
+ after=after,
584
+ page_size=page_size,
585
+ include_total_count=include_total_count,
586
+ request_options=request_options,
587
+ )
588
+
589
+ async def create(
590
+ self,
591
+ account_id: Uuid,
592
+ file_id: Uuid,
593
+ *,
594
+ data: CreateCommentParamsData,
595
+ timestamp_as_timecode: typing.Optional[bool] = None,
596
+ request_options: typing.Optional[RequestOptions] = None,
597
+ ) -> CommentResponse:
598
+ """
599
+ Create a comment on a file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
600
+
601
+ Parameters
602
+ ----------
603
+ account_id : Uuid
604
+
605
+
606
+ file_id : Uuid
607
+
608
+
609
+ data : CreateCommentParamsData
610
+
611
+ timestamp_as_timecode : typing.Optional[bool]
612
+
613
+
614
+ request_options : typing.Optional[RequestOptions]
615
+ Request-specific configuration.
616
+
617
+ Returns
618
+ -------
619
+ CommentResponse
620
+ Created
621
+
622
+ Examples
623
+ --------
624
+ import asyncio
625
+
626
+ from frameio import AsyncFrameio
627
+ from frameio.comments import CreateCommentParamsData
628
+
629
+ client = AsyncFrameio(
630
+ token="YOUR_TOKEN",
631
+ )
632
+
633
+
634
+ async def main() -> None:
635
+ await client.comments.create(
636
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
637
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
638
+ timestamp_as_timecode=True,
639
+ data=CreateCommentParamsData(
640
+ annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
641
+ completed=False,
642
+ page=4,
643
+ text="This is great!",
644
+ timestamp="00:00:02:12",
645
+ ),
646
+ )
647
+
648
+
649
+ asyncio.run(main())
650
+ """
651
+ _response = await self._raw_client.create(
652
+ account_id, file_id, data=data, timestamp_as_timecode=timestamp_as_timecode, request_options=request_options
653
+ )
654
+ return _response.data