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,1171 @@
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.request_options import RequestOptions
7
+ from ..types.assets_with_includes_response import AssetsWithIncludesResponse
8
+ from ..types.file_copy_response import FileCopyResponse
9
+ from ..types.file_remote_upload_response import FileRemoteUploadResponse
10
+ from ..types.file_response import FileResponse
11
+ from ..types.file_upload_status_response import FileUploadStatusResponse
12
+ from ..types.file_with_includes_response import FileWithIncludesResponse
13
+ from ..types.file_with_media_links_include import FileWithMediaLinksInclude
14
+ from ..types.file_with_upload_urls_response import FileWithUploadUrlsResponse
15
+ from ..types.include_total_count import IncludeTotalCount
16
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
17
+ from ..types.request_page_size import RequestPageSize
18
+ from ..types.uuid_ import Uuid
19
+ from .raw_client import AsyncRawFilesClient, RawFilesClient
20
+ from .types.file_copy_params_data import FileCopyParamsData
21
+ from .types.file_create_local_upload_params_data import FileCreateLocalUploadParamsData
22
+ from .types.file_create_params_data import FileCreateParamsData
23
+ from .types.file_create_remote_upload_params_data import FileCreateRemoteUploadParamsData
24
+ from .types.file_move_params_data import FileMoveParamsData
25
+ from .types.file_update_params_data import FileUpdateParamsData
26
+ from .types.files_copy_request_copy_comments import FilesCopyRequestCopyComments
27
+
28
+ # this is used as the default value for optional parameters
29
+ OMIT = typing.cast(typing.Any, ...)
30
+
31
+
32
+ class FilesClient:
33
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
34
+ self._raw_client = RawFilesClient(client_wrapper=client_wrapper)
35
+
36
+ @property
37
+ def with_raw_response(self) -> RawFilesClient:
38
+ """
39
+ Retrieves a raw implementation of this client that returns raw responses.
40
+
41
+ Returns
42
+ -------
43
+ RawFilesClient
44
+ """
45
+ return self._raw_client
46
+
47
+ def list(
48
+ self,
49
+ account_id: Uuid,
50
+ folder_id: Uuid,
51
+ *,
52
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
53
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
54
+ page_size: typing.Optional[RequestPageSize] = None,
55
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
56
+ request_options: typing.Optional[RequestOptions] = None,
57
+ ) -> AssetsWithIncludesResponse:
58
+ """
59
+ List files in a given folder. <br>Rate Limits: 5 calls per 1 second(s) per account_user
60
+
61
+ Parameters
62
+ ----------
63
+ account_id : Uuid
64
+
65
+
66
+ folder_id : Uuid
67
+
68
+
69
+ include : typing.Optional[FileWithMediaLinksInclude]
70
+
71
+
72
+ after : typing.Optional[RequestAfterOpaqueCursor]
73
+ Opaque Cursor query param for requests returning paginated results.
74
+ <br/>
75
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
76
+
77
+ page_size : typing.Optional[RequestPageSize]
78
+
79
+
80
+ include_total_count : typing.Optional[IncludeTotalCount]
81
+
82
+
83
+ request_options : typing.Optional[RequestOptions]
84
+ Request-specific configuration.
85
+
86
+ Returns
87
+ -------
88
+ AssetsWithIncludesResponse
89
+ OK
90
+
91
+ Examples
92
+ --------
93
+ from frameio import Frameio
94
+
95
+ client = Frameio(
96
+ token="YOUR_TOKEN",
97
+ )
98
+ client.files.list(
99
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
100
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
101
+ include="media_links",
102
+ after="<opaque_cursor>",
103
+ page_size=10,
104
+ include_total_count=False,
105
+ )
106
+ """
107
+ _response = self._raw_client.list(
108
+ account_id,
109
+ folder_id,
110
+ include=include,
111
+ after=after,
112
+ page_size=page_size,
113
+ include_total_count=include_total_count,
114
+ request_options=request_options,
115
+ )
116
+ return _response.data
117
+
118
+ def create(
119
+ self,
120
+ account_id: Uuid,
121
+ folder_id: Uuid,
122
+ *,
123
+ data: FileCreateParamsData,
124
+ request_options: typing.Optional[RequestOptions] = None,
125
+ ) -> FileWithUploadUrlsResponse:
126
+ """
127
+ Create new file under parent folder. `Create file (local upload)` and `Create file (remote upload)` have replaced this endpoint. <br>Rate Limits: 5 calls per 1 second(s) per account_user
128
+
129
+ Parameters
130
+ ----------
131
+ account_id : Uuid
132
+
133
+
134
+ folder_id : Uuid
135
+
136
+
137
+ data : FileCreateParamsData
138
+
139
+ request_options : typing.Optional[RequestOptions]
140
+ Request-specific configuration.
141
+
142
+ Returns
143
+ -------
144
+ FileWithUploadUrlsResponse
145
+ Created
146
+
147
+ Examples
148
+ --------
149
+ from frameio import Frameio
150
+ from frameio.files import FileCreateParamsData
151
+
152
+ client = Frameio(
153
+ token="YOUR_TOKEN",
154
+ )
155
+ client.files.create(
156
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
157
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
158
+ data=FileCreateParamsData(
159
+ file_size=1137444,
160
+ media_type="image/png",
161
+ name="asset.png",
162
+ ),
163
+ )
164
+ """
165
+ _response = self._raw_client.create(account_id, folder_id, data=data, request_options=request_options)
166
+ return _response.data
167
+
168
+ def show(
169
+ self,
170
+ account_id: Uuid,
171
+ file_id: Uuid,
172
+ *,
173
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
174
+ request_options: typing.Optional[RequestOptions] = None,
175
+ ) -> FileWithIncludesResponse:
176
+ """
177
+ Show file details.
178
+ <br>
179
+ Use the `include` query parameter to selectively include additional properties in the response.
180
+ <br>
181
+ Note: if you include `media_links.original` and the user does not have permission to download the file
182
+ then this endpoint will respond with a `403 Forbidden` error. If the content is inaccessible because
183
+ watermarking is required for this user and isn't supported by the requested media_links, then the request will
184
+ succeed but the unsupported media links will be set to null.
185
+ Similarly, if a requested transcode link does not exist for a particular file (e.g. including
186
+ `media_links.video_h264_180` on a static image file) or transoding process hasn't completed
187
+ (i.e. the file's `status` is "uploaded" rather than "transcoded"), then the link will also be set to null in
188
+ the response payload. In short, the client must handle null media links gracefully.
189
+ <br>Rate Limits: 5 calls per 1 second(s) per account_user
190
+
191
+ Parameters
192
+ ----------
193
+ account_id : Uuid
194
+
195
+
196
+ file_id : Uuid
197
+
198
+
199
+ include : typing.Optional[FileWithMediaLinksInclude]
200
+
201
+
202
+ request_options : typing.Optional[RequestOptions]
203
+ Request-specific configuration.
204
+
205
+ Returns
206
+ -------
207
+ FileWithIncludesResponse
208
+ OK
209
+
210
+ Examples
211
+ --------
212
+ from frameio import Frameio
213
+
214
+ client = Frameio(
215
+ token="YOUR_TOKEN",
216
+ )
217
+ client.files.show(
218
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
219
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
220
+ include="media_links",
221
+ )
222
+ """
223
+ _response = self._raw_client.show(account_id, file_id, include=include, request_options=request_options)
224
+ return _response.data
225
+
226
+ def delete(
227
+ self, account_id: Uuid, file_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
228
+ ) -> None:
229
+ """
230
+ Delete file by ID. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
231
+
232
+ Parameters
233
+ ----------
234
+ account_id : Uuid
235
+
236
+
237
+ file_id : Uuid
238
+
239
+
240
+ request_options : typing.Optional[RequestOptions]
241
+ Request-specific configuration.
242
+
243
+ Returns
244
+ -------
245
+ None
246
+
247
+ Examples
248
+ --------
249
+ from frameio import Frameio
250
+
251
+ client = Frameio(
252
+ token="YOUR_TOKEN",
253
+ )
254
+ client.files.delete(
255
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
256
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
257
+ )
258
+ """
259
+ _response = self._raw_client.delete(account_id, file_id, request_options=request_options)
260
+ return _response.data
261
+
262
+ def update(
263
+ self,
264
+ account_id: Uuid,
265
+ file_id: Uuid,
266
+ *,
267
+ data: FileUpdateParamsData,
268
+ request_options: typing.Optional[RequestOptions] = None,
269
+ ) -> FileResponse:
270
+ """
271
+ Update file details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
272
+
273
+ Parameters
274
+ ----------
275
+ account_id : Uuid
276
+
277
+
278
+ file_id : Uuid
279
+
280
+
281
+ data : FileUpdateParamsData
282
+
283
+ request_options : typing.Optional[RequestOptions]
284
+ Request-specific configuration.
285
+
286
+ Returns
287
+ -------
288
+ FileResponse
289
+ OK
290
+
291
+ Examples
292
+ --------
293
+ from frameio import Frameio
294
+ from frameio.files import FileUpdateParamsData
295
+
296
+ client = Frameio(
297
+ token="YOUR_TOKEN",
298
+ )
299
+ client.files.update(
300
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
301
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
302
+ data=FileUpdateParamsData(
303
+ name="asset.png",
304
+ ),
305
+ )
306
+ """
307
+ _response = self._raw_client.update(account_id, file_id, data=data, request_options=request_options)
308
+ return _response.data
309
+
310
+ def copy(
311
+ self,
312
+ account_id: Uuid,
313
+ file_id: Uuid,
314
+ *,
315
+ copy_metadata: typing.Optional[bool] = None,
316
+ copy_comments: typing.Optional[FilesCopyRequestCopyComments] = None,
317
+ data: typing.Optional[FileCopyParamsData] = OMIT,
318
+ request_options: typing.Optional[RequestOptions] = None,
319
+ ) -> FileCopyResponse:
320
+ """
321
+ Copy file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
322
+
323
+ Parameters
324
+ ----------
325
+ account_id : Uuid
326
+
327
+
328
+ file_id : Uuid
329
+
330
+
331
+ copy_metadata : typing.Optional[bool]
332
+ Whether to copy metadata values along with the file
333
+
334
+ copy_comments : typing.Optional[FilesCopyRequestCopyComments]
335
+ Which comments to copy along with the file
336
+
337
+ data : typing.Optional[FileCopyParamsData]
338
+
339
+ request_options : typing.Optional[RequestOptions]
340
+ Request-specific configuration.
341
+
342
+ Returns
343
+ -------
344
+ FileCopyResponse
345
+ OK
346
+
347
+ Examples
348
+ --------
349
+ from frameio import Frameio
350
+ from frameio.files import FileCopyParamsData
351
+
352
+ client = Frameio(
353
+ token="YOUR_TOKEN",
354
+ )
355
+ client.files.copy(
356
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
357
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
358
+ copy_metadata=True,
359
+ copy_comments="none",
360
+ data=FileCopyParamsData(
361
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
362
+ ),
363
+ )
364
+ """
365
+ _response = self._raw_client.copy(
366
+ account_id,
367
+ file_id,
368
+ copy_metadata=copy_metadata,
369
+ copy_comments=copy_comments,
370
+ data=data,
371
+ request_options=request_options,
372
+ )
373
+ return _response.data
374
+
375
+ def create_remote_upload(
376
+ self,
377
+ account_id: Uuid,
378
+ folder_id: Uuid,
379
+ *,
380
+ data: FileCreateRemoteUploadParamsData,
381
+ request_options: typing.Optional[RequestOptions] = None,
382
+ ) -> FileRemoteUploadResponse:
383
+ """
384
+ Create new file under parent folder through remote upload. <br>Rate Limits: 5 calls per 1 second(s) per account_user
385
+
386
+ Parameters
387
+ ----------
388
+ account_id : Uuid
389
+
390
+
391
+ folder_id : Uuid
392
+
393
+
394
+ data : FileCreateRemoteUploadParamsData
395
+
396
+ request_options : typing.Optional[RequestOptions]
397
+ Request-specific configuration.
398
+
399
+ Returns
400
+ -------
401
+ FileRemoteUploadResponse
402
+ Accepted
403
+
404
+ Examples
405
+ --------
406
+ from frameio import Frameio
407
+ from frameio.files import FileCreateRemoteUploadParamsData
408
+
409
+ client = Frameio(
410
+ token="YOUR_TOKEN",
411
+ )
412
+ client.files.create_remote_upload(
413
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
414
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
415
+ data=FileCreateRemoteUploadParamsData(
416
+ name="asset.png",
417
+ source_url="https://upload.wikimedia.org/wikipedia/commons/e/e1/White_Pixel_1x1.png",
418
+ ),
419
+ )
420
+ """
421
+ _response = self._raw_client.create_remote_upload(
422
+ account_id, folder_id, data=data, request_options=request_options
423
+ )
424
+ return _response.data
425
+
426
+ def move(
427
+ self,
428
+ account_id: Uuid,
429
+ file_id: Uuid,
430
+ *,
431
+ data: FileMoveParamsData,
432
+ request_options: typing.Optional[RequestOptions] = None,
433
+ ) -> FileResponse:
434
+ """
435
+ Move file to a folder or version_stack. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
436
+
437
+ Parameters
438
+ ----------
439
+ account_id : Uuid
440
+
441
+
442
+ file_id : Uuid
443
+
444
+
445
+ data : FileMoveParamsData
446
+
447
+ request_options : typing.Optional[RequestOptions]
448
+ Request-specific configuration.
449
+
450
+ Returns
451
+ -------
452
+ FileResponse
453
+ OK
454
+
455
+ Examples
456
+ --------
457
+ from frameio import Frameio
458
+ from frameio.files import FileMoveParamsData
459
+
460
+ client = Frameio(
461
+ token="YOUR_TOKEN",
462
+ )
463
+ client.files.move(
464
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
465
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
466
+ data=FileMoveParamsData(
467
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
468
+ ),
469
+ )
470
+ """
471
+ _response = self._raw_client.move(account_id, file_id, data=data, request_options=request_options)
472
+ return _response.data
473
+
474
+ def create_local_upload(
475
+ self,
476
+ account_id: Uuid,
477
+ folder_id: Uuid,
478
+ *,
479
+ data: FileCreateLocalUploadParamsData,
480
+ request_options: typing.Optional[RequestOptions] = None,
481
+ ) -> FileWithUploadUrlsResponse:
482
+ """
483
+ Create new file under parent folder through local upload. <br>Rate Limits: 5 calls per 1 second(s) per account_user
484
+
485
+ Parameters
486
+ ----------
487
+ account_id : Uuid
488
+
489
+
490
+ folder_id : Uuid
491
+
492
+
493
+ data : FileCreateLocalUploadParamsData
494
+
495
+ request_options : typing.Optional[RequestOptions]
496
+ Request-specific configuration.
497
+
498
+ Returns
499
+ -------
500
+ FileWithUploadUrlsResponse
501
+ Created
502
+
503
+ Examples
504
+ --------
505
+ from frameio import Frameio
506
+ from frameio.files import FileCreateLocalUploadParamsData
507
+
508
+ client = Frameio(
509
+ token="YOUR_TOKEN",
510
+ )
511
+ client.files.create_local_upload(
512
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
513
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
514
+ data=FileCreateLocalUploadParamsData(
515
+ file_size=1137444,
516
+ name="asset.png",
517
+ ),
518
+ )
519
+ """
520
+ _response = self._raw_client.create_local_upload(
521
+ account_id, folder_id, data=data, request_options=request_options
522
+ )
523
+ return _response.data
524
+
525
+ def show_file_upload_status(
526
+ self, account_id: Uuid, file_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
527
+ ) -> FileUploadStatusResponse:
528
+ """
529
+ Show file upload status details. <br>Rate Limits: 5 calls per 1 second(s) per account_user
530
+
531
+ Parameters
532
+ ----------
533
+ account_id : Uuid
534
+
535
+
536
+ file_id : Uuid
537
+
538
+
539
+ request_options : typing.Optional[RequestOptions]
540
+ Request-specific configuration.
541
+
542
+ Returns
543
+ -------
544
+ FileUploadStatusResponse
545
+ OK
546
+
547
+ Examples
548
+ --------
549
+ from frameio import Frameio
550
+
551
+ client = Frameio(
552
+ token="YOUR_TOKEN",
553
+ )
554
+ client.files.show_file_upload_status(
555
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
556
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
557
+ )
558
+ """
559
+ _response = self._raw_client.show_file_upload_status(account_id, file_id, request_options=request_options)
560
+ return _response.data
561
+
562
+
563
+ class AsyncFilesClient:
564
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
565
+ self._raw_client = AsyncRawFilesClient(client_wrapper=client_wrapper)
566
+
567
+ @property
568
+ def with_raw_response(self) -> AsyncRawFilesClient:
569
+ """
570
+ Retrieves a raw implementation of this client that returns raw responses.
571
+
572
+ Returns
573
+ -------
574
+ AsyncRawFilesClient
575
+ """
576
+ return self._raw_client
577
+
578
+ async def list(
579
+ self,
580
+ account_id: Uuid,
581
+ folder_id: Uuid,
582
+ *,
583
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
584
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
585
+ page_size: typing.Optional[RequestPageSize] = None,
586
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
587
+ request_options: typing.Optional[RequestOptions] = None,
588
+ ) -> AssetsWithIncludesResponse:
589
+ """
590
+ List files in a given folder. <br>Rate Limits: 5 calls per 1 second(s) per account_user
591
+
592
+ Parameters
593
+ ----------
594
+ account_id : Uuid
595
+
596
+
597
+ folder_id : Uuid
598
+
599
+
600
+ include : typing.Optional[FileWithMediaLinksInclude]
601
+
602
+
603
+ after : typing.Optional[RequestAfterOpaqueCursor]
604
+ Opaque Cursor query param for requests returning paginated results.
605
+ <br/>
606
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
607
+
608
+ page_size : typing.Optional[RequestPageSize]
609
+
610
+
611
+ include_total_count : typing.Optional[IncludeTotalCount]
612
+
613
+
614
+ request_options : typing.Optional[RequestOptions]
615
+ Request-specific configuration.
616
+
617
+ Returns
618
+ -------
619
+ AssetsWithIncludesResponse
620
+ OK
621
+
622
+ Examples
623
+ --------
624
+ import asyncio
625
+
626
+ from frameio import AsyncFrameio
627
+
628
+ client = AsyncFrameio(
629
+ token="YOUR_TOKEN",
630
+ )
631
+
632
+
633
+ async def main() -> None:
634
+ await client.files.list(
635
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
636
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
637
+ include="media_links",
638
+ after="<opaque_cursor>",
639
+ page_size=10,
640
+ include_total_count=False,
641
+ )
642
+
643
+
644
+ asyncio.run(main())
645
+ """
646
+ _response = await self._raw_client.list(
647
+ account_id,
648
+ folder_id,
649
+ include=include,
650
+ after=after,
651
+ page_size=page_size,
652
+ include_total_count=include_total_count,
653
+ request_options=request_options,
654
+ )
655
+ return _response.data
656
+
657
+ async def create(
658
+ self,
659
+ account_id: Uuid,
660
+ folder_id: Uuid,
661
+ *,
662
+ data: FileCreateParamsData,
663
+ request_options: typing.Optional[RequestOptions] = None,
664
+ ) -> FileWithUploadUrlsResponse:
665
+ """
666
+ Create new file under parent folder. `Create file (local upload)` and `Create file (remote upload)` have replaced this endpoint. <br>Rate Limits: 5 calls per 1 second(s) per account_user
667
+
668
+ Parameters
669
+ ----------
670
+ account_id : Uuid
671
+
672
+
673
+ folder_id : Uuid
674
+
675
+
676
+ data : FileCreateParamsData
677
+
678
+ request_options : typing.Optional[RequestOptions]
679
+ Request-specific configuration.
680
+
681
+ Returns
682
+ -------
683
+ FileWithUploadUrlsResponse
684
+ Created
685
+
686
+ Examples
687
+ --------
688
+ import asyncio
689
+
690
+ from frameio import AsyncFrameio
691
+ from frameio.files import FileCreateParamsData
692
+
693
+ client = AsyncFrameio(
694
+ token="YOUR_TOKEN",
695
+ )
696
+
697
+
698
+ async def main() -> None:
699
+ await client.files.create(
700
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
701
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
702
+ data=FileCreateParamsData(
703
+ file_size=1137444,
704
+ media_type="image/png",
705
+ name="asset.png",
706
+ ),
707
+ )
708
+
709
+
710
+ asyncio.run(main())
711
+ """
712
+ _response = await self._raw_client.create(account_id, folder_id, data=data, request_options=request_options)
713
+ return _response.data
714
+
715
+ async def show(
716
+ self,
717
+ account_id: Uuid,
718
+ file_id: Uuid,
719
+ *,
720
+ include: typing.Optional[FileWithMediaLinksInclude] = None,
721
+ request_options: typing.Optional[RequestOptions] = None,
722
+ ) -> FileWithIncludesResponse:
723
+ """
724
+ Show file details.
725
+ <br>
726
+ Use the `include` query parameter to selectively include additional properties in the response.
727
+ <br>
728
+ Note: if you include `media_links.original` and the user does not have permission to download the file
729
+ then this endpoint will respond with a `403 Forbidden` error. If the content is inaccessible because
730
+ watermarking is required for this user and isn't supported by the requested media_links, then the request will
731
+ succeed but the unsupported media links will be set to null.
732
+ Similarly, if a requested transcode link does not exist for a particular file (e.g. including
733
+ `media_links.video_h264_180` on a static image file) or transoding process hasn't completed
734
+ (i.e. the file's `status` is "uploaded" rather than "transcoded"), then the link will also be set to null in
735
+ the response payload. In short, the client must handle null media links gracefully.
736
+ <br>Rate Limits: 5 calls per 1 second(s) per account_user
737
+
738
+ Parameters
739
+ ----------
740
+ account_id : Uuid
741
+
742
+
743
+ file_id : Uuid
744
+
745
+
746
+ include : typing.Optional[FileWithMediaLinksInclude]
747
+
748
+
749
+ request_options : typing.Optional[RequestOptions]
750
+ Request-specific configuration.
751
+
752
+ Returns
753
+ -------
754
+ FileWithIncludesResponse
755
+ OK
756
+
757
+ Examples
758
+ --------
759
+ import asyncio
760
+
761
+ from frameio import AsyncFrameio
762
+
763
+ client = AsyncFrameio(
764
+ token="YOUR_TOKEN",
765
+ )
766
+
767
+
768
+ async def main() -> None:
769
+ await client.files.show(
770
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
771
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
772
+ include="media_links",
773
+ )
774
+
775
+
776
+ asyncio.run(main())
777
+ """
778
+ _response = await self._raw_client.show(account_id, file_id, include=include, request_options=request_options)
779
+ return _response.data
780
+
781
+ async def delete(
782
+ self, account_id: Uuid, file_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
783
+ ) -> None:
784
+ """
785
+ Delete file by ID. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
786
+
787
+ Parameters
788
+ ----------
789
+ account_id : Uuid
790
+
791
+
792
+ file_id : Uuid
793
+
794
+
795
+ request_options : typing.Optional[RequestOptions]
796
+ Request-specific configuration.
797
+
798
+ Returns
799
+ -------
800
+ None
801
+
802
+ Examples
803
+ --------
804
+ import asyncio
805
+
806
+ from frameio import AsyncFrameio
807
+
808
+ client = AsyncFrameio(
809
+ token="YOUR_TOKEN",
810
+ )
811
+
812
+
813
+ async def main() -> None:
814
+ await client.files.delete(
815
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
816
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
817
+ )
818
+
819
+
820
+ asyncio.run(main())
821
+ """
822
+ _response = await self._raw_client.delete(account_id, file_id, request_options=request_options)
823
+ return _response.data
824
+
825
+ async def update(
826
+ self,
827
+ account_id: Uuid,
828
+ file_id: Uuid,
829
+ *,
830
+ data: FileUpdateParamsData,
831
+ request_options: typing.Optional[RequestOptions] = None,
832
+ ) -> FileResponse:
833
+ """
834
+ Update file details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
835
+
836
+ Parameters
837
+ ----------
838
+ account_id : Uuid
839
+
840
+
841
+ file_id : Uuid
842
+
843
+
844
+ data : FileUpdateParamsData
845
+
846
+ request_options : typing.Optional[RequestOptions]
847
+ Request-specific configuration.
848
+
849
+ Returns
850
+ -------
851
+ FileResponse
852
+ OK
853
+
854
+ Examples
855
+ --------
856
+ import asyncio
857
+
858
+ from frameio import AsyncFrameio
859
+ from frameio.files import FileUpdateParamsData
860
+
861
+ client = AsyncFrameio(
862
+ token="YOUR_TOKEN",
863
+ )
864
+
865
+
866
+ async def main() -> None:
867
+ await client.files.update(
868
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
869
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
870
+ data=FileUpdateParamsData(
871
+ name="asset.png",
872
+ ),
873
+ )
874
+
875
+
876
+ asyncio.run(main())
877
+ """
878
+ _response = await self._raw_client.update(account_id, file_id, data=data, request_options=request_options)
879
+ return _response.data
880
+
881
+ async def copy(
882
+ self,
883
+ account_id: Uuid,
884
+ file_id: Uuid,
885
+ *,
886
+ copy_metadata: typing.Optional[bool] = None,
887
+ copy_comments: typing.Optional[FilesCopyRequestCopyComments] = None,
888
+ data: typing.Optional[FileCopyParamsData] = OMIT,
889
+ request_options: typing.Optional[RequestOptions] = None,
890
+ ) -> FileCopyResponse:
891
+ """
892
+ Copy file. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
893
+
894
+ Parameters
895
+ ----------
896
+ account_id : Uuid
897
+
898
+
899
+ file_id : Uuid
900
+
901
+
902
+ copy_metadata : typing.Optional[bool]
903
+ Whether to copy metadata values along with the file
904
+
905
+ copy_comments : typing.Optional[FilesCopyRequestCopyComments]
906
+ Which comments to copy along with the file
907
+
908
+ data : typing.Optional[FileCopyParamsData]
909
+
910
+ request_options : typing.Optional[RequestOptions]
911
+ Request-specific configuration.
912
+
913
+ Returns
914
+ -------
915
+ FileCopyResponse
916
+ OK
917
+
918
+ Examples
919
+ --------
920
+ import asyncio
921
+
922
+ from frameio import AsyncFrameio
923
+ from frameio.files import FileCopyParamsData
924
+
925
+ client = AsyncFrameio(
926
+ token="YOUR_TOKEN",
927
+ )
928
+
929
+
930
+ async def main() -> None:
931
+ await client.files.copy(
932
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
933
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
934
+ copy_metadata=True,
935
+ copy_comments="none",
936
+ data=FileCopyParamsData(
937
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
938
+ ),
939
+ )
940
+
941
+
942
+ asyncio.run(main())
943
+ """
944
+ _response = await self._raw_client.copy(
945
+ account_id,
946
+ file_id,
947
+ copy_metadata=copy_metadata,
948
+ copy_comments=copy_comments,
949
+ data=data,
950
+ request_options=request_options,
951
+ )
952
+ return _response.data
953
+
954
+ async def create_remote_upload(
955
+ self,
956
+ account_id: Uuid,
957
+ folder_id: Uuid,
958
+ *,
959
+ data: FileCreateRemoteUploadParamsData,
960
+ request_options: typing.Optional[RequestOptions] = None,
961
+ ) -> FileRemoteUploadResponse:
962
+ """
963
+ Create new file under parent folder through remote upload. <br>Rate Limits: 5 calls per 1 second(s) per account_user
964
+
965
+ Parameters
966
+ ----------
967
+ account_id : Uuid
968
+
969
+
970
+ folder_id : Uuid
971
+
972
+
973
+ data : FileCreateRemoteUploadParamsData
974
+
975
+ request_options : typing.Optional[RequestOptions]
976
+ Request-specific configuration.
977
+
978
+ Returns
979
+ -------
980
+ FileRemoteUploadResponse
981
+ Accepted
982
+
983
+ Examples
984
+ --------
985
+ import asyncio
986
+
987
+ from frameio import AsyncFrameio
988
+ from frameio.files import FileCreateRemoteUploadParamsData
989
+
990
+ client = AsyncFrameio(
991
+ token="YOUR_TOKEN",
992
+ )
993
+
994
+
995
+ async def main() -> None:
996
+ await client.files.create_remote_upload(
997
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
998
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
999
+ data=FileCreateRemoteUploadParamsData(
1000
+ name="asset.png",
1001
+ source_url="https://upload.wikimedia.org/wikipedia/commons/e/e1/White_Pixel_1x1.png",
1002
+ ),
1003
+ )
1004
+
1005
+
1006
+ asyncio.run(main())
1007
+ """
1008
+ _response = await self._raw_client.create_remote_upload(
1009
+ account_id, folder_id, data=data, request_options=request_options
1010
+ )
1011
+ return _response.data
1012
+
1013
+ async def move(
1014
+ self,
1015
+ account_id: Uuid,
1016
+ file_id: Uuid,
1017
+ *,
1018
+ data: FileMoveParamsData,
1019
+ request_options: typing.Optional[RequestOptions] = None,
1020
+ ) -> FileResponse:
1021
+ """
1022
+ Move file to a folder or version_stack. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
1023
+
1024
+ Parameters
1025
+ ----------
1026
+ account_id : Uuid
1027
+
1028
+
1029
+ file_id : Uuid
1030
+
1031
+
1032
+ data : FileMoveParamsData
1033
+
1034
+ request_options : typing.Optional[RequestOptions]
1035
+ Request-specific configuration.
1036
+
1037
+ Returns
1038
+ -------
1039
+ FileResponse
1040
+ OK
1041
+
1042
+ Examples
1043
+ --------
1044
+ import asyncio
1045
+
1046
+ from frameio import AsyncFrameio
1047
+ from frameio.files import FileMoveParamsData
1048
+
1049
+ client = AsyncFrameio(
1050
+ token="YOUR_TOKEN",
1051
+ )
1052
+
1053
+
1054
+ async def main() -> None:
1055
+ await client.files.move(
1056
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1057
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1058
+ data=FileMoveParamsData(
1059
+ parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
1060
+ ),
1061
+ )
1062
+
1063
+
1064
+ asyncio.run(main())
1065
+ """
1066
+ _response = await self._raw_client.move(account_id, file_id, data=data, request_options=request_options)
1067
+ return _response.data
1068
+
1069
+ async def create_local_upload(
1070
+ self,
1071
+ account_id: Uuid,
1072
+ folder_id: Uuid,
1073
+ *,
1074
+ data: FileCreateLocalUploadParamsData,
1075
+ request_options: typing.Optional[RequestOptions] = None,
1076
+ ) -> FileWithUploadUrlsResponse:
1077
+ """
1078
+ Create new file under parent folder through local upload. <br>Rate Limits: 5 calls per 1 second(s) per account_user
1079
+
1080
+ Parameters
1081
+ ----------
1082
+ account_id : Uuid
1083
+
1084
+
1085
+ folder_id : Uuid
1086
+
1087
+
1088
+ data : FileCreateLocalUploadParamsData
1089
+
1090
+ request_options : typing.Optional[RequestOptions]
1091
+ Request-specific configuration.
1092
+
1093
+ Returns
1094
+ -------
1095
+ FileWithUploadUrlsResponse
1096
+ Created
1097
+
1098
+ Examples
1099
+ --------
1100
+ import asyncio
1101
+
1102
+ from frameio import AsyncFrameio
1103
+ from frameio.files import FileCreateLocalUploadParamsData
1104
+
1105
+ client = AsyncFrameio(
1106
+ token="YOUR_TOKEN",
1107
+ )
1108
+
1109
+
1110
+ async def main() -> None:
1111
+ await client.files.create_local_upload(
1112
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1113
+ folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1114
+ data=FileCreateLocalUploadParamsData(
1115
+ file_size=1137444,
1116
+ name="asset.png",
1117
+ ),
1118
+ )
1119
+
1120
+
1121
+ asyncio.run(main())
1122
+ """
1123
+ _response = await self._raw_client.create_local_upload(
1124
+ account_id, folder_id, data=data, request_options=request_options
1125
+ )
1126
+ return _response.data
1127
+
1128
+ async def show_file_upload_status(
1129
+ self, account_id: Uuid, file_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
1130
+ ) -> FileUploadStatusResponse:
1131
+ """
1132
+ Show file upload status details. <br>Rate Limits: 5 calls per 1 second(s) per account_user
1133
+
1134
+ Parameters
1135
+ ----------
1136
+ account_id : Uuid
1137
+
1138
+
1139
+ file_id : Uuid
1140
+
1141
+
1142
+ request_options : typing.Optional[RequestOptions]
1143
+ Request-specific configuration.
1144
+
1145
+ Returns
1146
+ -------
1147
+ FileUploadStatusResponse
1148
+ OK
1149
+
1150
+ Examples
1151
+ --------
1152
+ import asyncio
1153
+
1154
+ from frameio import AsyncFrameio
1155
+
1156
+ client = AsyncFrameio(
1157
+ token="YOUR_TOKEN",
1158
+ )
1159
+
1160
+
1161
+ async def main() -> None:
1162
+ await client.files.show_file_upload_status(
1163
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1164
+ file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
1165
+ )
1166
+
1167
+
1168
+ asyncio.run(main())
1169
+ """
1170
+ _response = await self._raw_client.show_file_upload_status(account_id, file_id, request_options=request_options)
1171
+ return _response.data