frameio 0.0.23__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.

Potentially problematic release.


This version of frameio might be problematic. Click here for more details.

Files changed (363) hide show
  1. frameio/__init__.py +1115 -0
  2. frameio/account_permissions/__init__.py +4 -0
  3. frameio/account_permissions/client.py +182 -0
  4. frameio/account_permissions/raw_client.py +301 -0
  5. frameio/accounts/__init__.py +4 -0
  6. frameio/accounts/client.py +151 -0
  7. frameio/accounts/raw_client.py +281 -0
  8. frameio/client.py +439 -0
  9. frameio/comments/__init__.py +34 -0
  10. frameio/comments/client.py +596 -0
  11. frameio/comments/raw_client.py +1252 -0
  12. frameio/comments/types/__init__.py +38 -0
  13. frameio/comments/types/create_comment_params_data.py +25 -0
  14. frameio/comments/types/update_comment_params_data.py +25 -0
  15. frameio/core/__init__.py +110 -0
  16. frameio/core/api_error.py +23 -0
  17. frameio/core/client_wrapper.py +87 -0
  18. frameio/core/datetime_utils.py +28 -0
  19. frameio/core/file.py +67 -0
  20. frameio/core/force_multipart.py +18 -0
  21. frameio/core/http_client.py +543 -0
  22. frameio/core/http_response.py +55 -0
  23. frameio/core/jsonable_encoder.py +100 -0
  24. frameio/core/pagination.py +82 -0
  25. frameio/core/pydantic_utilities.py +258 -0
  26. frameio/core/query_encoder.py +58 -0
  27. frameio/core/remove_none_from_dict.py +11 -0
  28. frameio/core/request_options.py +35 -0
  29. frameio/core/serialization.py +276 -0
  30. frameio/environment.py +7 -0
  31. frameio/errors/__init__.py +53 -0
  32. frameio/errors/bad_request_error.py +11 -0
  33. frameio/errors/forbidden_error.py +11 -0
  34. frameio/errors/not_found_error.py +11 -0
  35. frameio/errors/too_many_requests_error.py +11 -0
  36. frameio/errors/unauthorized_error.py +11 -0
  37. frameio/errors/unprocessable_entity_error.py +10 -0
  38. frameio/files/__init__.py +55 -0
  39. frameio/files/client.py +1136 -0
  40. frameio/files/raw_client.py +2492 -0
  41. frameio/files/types/__init__.py +53 -0
  42. frameio/files/types/file_copy_params_data.py +15 -0
  43. frameio/files/types/file_create_local_upload_params_data.py +20 -0
  44. frameio/files/types/file_create_params_data.py +31 -0
  45. frameio/files/types/file_create_remote_upload_params_data.py +20 -0
  46. frameio/files/types/file_move_params_data.py +15 -0
  47. frameio/files/types/file_update_params_data.py +15 -0
  48. frameio/folders/__init__.py +39 -0
  49. frameio/folders/client.py +988 -0
  50. frameio/folders/raw_client.py +2058 -0
  51. frameio/folders/types/__init__.py +42 -0
  52. frameio/folders/types/folder_copy_params_data.py +15 -0
  53. frameio/folders/types/folder_create_params_data.py +15 -0
  54. frameio/folders/types/folder_move_params_data.py +15 -0
  55. frameio/folders/types/folder_update_params_data.py +15 -0
  56. frameio/metadata/__init__.py +37 -0
  57. frameio/metadata/client.py +291 -0
  58. frameio/metadata/raw_client.py +509 -0
  59. frameio/metadata/types/__init__.py +38 -0
  60. frameio/metadata/types/bulk_update_metadata_params_data.py +23 -0
  61. frameio/metadata/types/bulk_update_metadata_params_data_values_item.py +13 -0
  62. frameio/metadata_fields/__init__.py +103 -0
  63. frameio/metadata_fields/client.py +536 -0
  64. frameio/metadata_fields/raw_client.py +996 -0
  65. frameio/metadata_fields/types/__init__.py +105 -0
  66. frameio/metadata_fields/types/create_field_definition_params_data.py +108 -0
  67. frameio/metadata_fields/types/update_field_definition_params_data.py +114 -0
  68. frameio/project_permissions/__init__.py +4 -0
  69. frameio/project_permissions/client.py +415 -0
  70. frameio/project_permissions/raw_client.py +789 -0
  71. frameio/projects/__init__.py +4 -0
  72. frameio/projects/client.py +582 -0
  73. frameio/projects/raw_client.py +1250 -0
  74. frameio/py.typed +0 -0
  75. frameio/shares/__init__.py +64 -0
  76. frameio/shares/client.py +1192 -0
  77. frameio/shares/raw_client.py +2446 -0
  78. frameio/shares/types/__init__.py +61 -0
  79. frameio/shares/types/add_asset_params_data.py +15 -0
  80. frameio/shares/types/add_reviewers_to_share_params_data.py +18 -0
  81. frameio/shares/types/add_reviewers_to_share_params_data_reviewers.py +27 -0
  82. frameio/shares/types/create_share_params_data.py +25 -0
  83. frameio/shares/types/remove_reviewer_params_data.py +13 -0
  84. frameio/shares/types/remove_reviewer_params_data_reviewers.py +27 -0
  85. frameio/shares/types/update_share_params_data.py +33 -0
  86. frameio/shares/types/update_share_params_data_access.py +5 -0
  87. frameio/types/__init__.py +959 -0
  88. frameio/types/account.py +65 -0
  89. frameio/types/account_roles_item.py +5 -0
  90. frameio/types/account_user_role.py +23 -0
  91. frameio/types/account_user_role_role.py +5 -0
  92. frameio/types/account_user_roles_response.py +27 -0
  93. frameio/types/accounts_response.py +23 -0
  94. frameio/types/add_asset_response.py +13 -0
  95. frameio/types/add_asset_response_data.py +15 -0
  96. frameio/types/asset_common.py +48 -0
  97. frameio/types/asset_common_type.py +5 -0
  98. frameio/types/asset_common_with_includes.py +56 -0
  99. frameio/types/asset_include.py +5 -0
  100. frameio/types/asset_share_params.py +38 -0
  101. frameio/types/asset_share_params_access.py +5 -0
  102. frameio/types/asset_with_includes.py +72 -0
  103. frameio/types/assets_with_includes_response.py +23 -0
  104. frameio/types/bad_request.py +13 -0
  105. frameio/types/bad_request_errors_item.py +15 -0
  106. frameio/types/bad_request_errors_item_source.py +12 -0
  107. frameio/types/boolean_value.py +12 -0
  108. frameio/types/children_type.py +3 -0
  109. frameio/types/comment.py +52 -0
  110. frameio/types/comment_include.py +5 -0
  111. frameio/types/comment_response.py +13 -0
  112. frameio/types/comment_with_includes.py +17 -0
  113. frameio/types/comment_with_includes_response.py +13 -0
  114. frameio/types/comments_with_includes_response.py +23 -0
  115. frameio/types/date_definition.py +43 -0
  116. frameio/types/date_definition_field_configuration.py +21 -0
  117. frameio/types/date_definition_field_configuration_display_format.py +7 -0
  118. frameio/types/date_definition_field_configuration_time_format.py +5 -0
  119. frameio/types/date_definition_params.py +17 -0
  120. frameio/types/date_definition_params_field_configuration.py +23 -0
  121. frameio/types/date_definition_params_field_configuration_display_format.py +7 -0
  122. frameio/types/date_definition_params_field_configuration_time_format.py +7 -0
  123. frameio/types/date_definition_with_includes.py +13 -0
  124. frameio/types/date_value.py +12 -0
  125. frameio/types/email.py +3 -0
  126. frameio/types/field_definition.py +163 -0
  127. frameio/types/field_definition_include.py +5 -0
  128. frameio/types/field_definition_response.py +13 -0
  129. frameio/types/field_definition_with_includes.py +174 -0
  130. frameio/types/field_definitions_with_includes_response.py +27 -0
  131. frameio/types/field_value_common.py +29 -0
  132. frameio/types/file.py +60 -0
  133. frameio/types/file_copy_response.py +13 -0
  134. frameio/types/file_remote_upload_response.py +17 -0
  135. frameio/types/file_response.py +13 -0
  136. frameio/types/file_status.py +5 -0
  137. frameio/types/file_upload_status.py +41 -0
  138. frameio/types/file_upload_status_response.py +13 -0
  139. frameio/types/file_with_includes.py +25 -0
  140. frameio/types/file_with_includes_response.py +13 -0
  141. frameio/types/file_with_includes_status.py +5 -0
  142. frameio/types/file_with_media_links_include.py +19 -0
  143. frameio/types/file_with_upload_urls.py +16 -0
  144. frameio/types/file_with_upload_urls_response.py +13 -0
  145. frameio/types/folder.py +15 -0
  146. frameio/types/folder_copy_response.py +13 -0
  147. frameio/types/folder_response.py +13 -0
  148. frameio/types/folder_with_includes.py +61 -0
  149. frameio/types/folder_with_includes_response.py +13 -0
  150. frameio/types/folders_with_includes_response.py +23 -0
  151. frameio/types/forbidden.py +13 -0
  152. frameio/types/forbidden_errors_item.py +15 -0
  153. frameio/types/forbidden_errors_item_source.py +12 -0
  154. frameio/types/include.py +5 -0
  155. frameio/types/include_total_count.py +3 -0
  156. frameio/types/integer_value.py +12 -0
  157. frameio/types/json_error_response.py +13 -0
  158. frameio/types/json_error_response_errors_item.py +15 -0
  159. frameio/types/json_error_response_errors_item_source.py +12 -0
  160. frameio/types/links.py +22 -0
  161. frameio/types/long_text_definition.py +43 -0
  162. frameio/types/long_text_definition_field_configuration.py +10 -0
  163. frameio/types/long_text_definition_params.py +15 -0
  164. frameio/types/long_text_definition_with_includes.py +13 -0
  165. frameio/types/media_link_common.py +17 -0
  166. frameio/types/media_links_collection.py +23 -0
  167. frameio/types/metadata_field.py +145 -0
  168. frameio/types/metadata_response.py +13 -0
  169. frameio/types/metadata_with_definition.py +21 -0
  170. frameio/types/multi_select_value.py +14 -0
  171. frameio/types/multi_user_value.py +20 -0
  172. frameio/types/multi_user_value_member_options_type.py +5 -0
  173. frameio/types/no_content.py +3 -0
  174. frameio/types/not_found.py +13 -0
  175. frameio/types/not_found_errors_item.py +15 -0
  176. frameio/types/not_found_errors_item_source.py +12 -0
  177. frameio/types/number_definition.py +43 -0
  178. frameio/types/number_definition_field_configuration.py +21 -0
  179. frameio/types/number_definition_field_configuration_number_format.py +7 -0
  180. frameio/types/number_definition_params.py +17 -0
  181. frameio/types/number_definition_params_field_configuration.py +23 -0
  182. frameio/types/number_definition_params_field_configuration_number_format.py +7 -0
  183. frameio/types/number_definition_with_includes.py +13 -0
  184. frameio/types/number_value.py +12 -0
  185. frameio/types/original_media_link.py +16 -0
  186. frameio/types/profile.py +34 -0
  187. frameio/types/profile_response.py +17 -0
  188. frameio/types/project.py +55 -0
  189. frameio/types/project_include.py +5 -0
  190. frameio/types/project_params.py +17 -0
  191. frameio/types/project_params_data.py +15 -0
  192. frameio/types/project_response.py +17 -0
  193. frameio/types/project_with_includes.py +18 -0
  194. frameio/types/project_with_includes_response.py +17 -0
  195. frameio/types/projects_with_includes_response.py +27 -0
  196. frameio/types/rating_definition.py +43 -0
  197. frameio/types/rating_definition_field_configuration.py +22 -0
  198. frameio/types/rating_definition_field_configuration_style.py +5 -0
  199. frameio/types/rating_definition_params.py +17 -0
  200. frameio/types/rating_definition_params_field_configuration.py +22 -0
  201. frameio/types/rating_definition_params_field_configuration_style.py +5 -0
  202. frameio/types/rating_definition_with_includes.py +13 -0
  203. frameio/types/remove_asset_response.py +13 -0
  204. frameio/types/remove_asset_response_data.py +15 -0
  205. frameio/types/rendition_media_link.py +19 -0
  206. frameio/types/request_after_opaque_cursor.py +5 -0
  207. frameio/types/request_page_size.py +3 -0
  208. frameio/types/select_definition.py +43 -0
  209. frameio/types/select_definition_field_configuration.py +18 -0
  210. frameio/types/select_definition_field_configuration_options_item.py +22 -0
  211. frameio/types/select_definition_params.py +17 -0
  212. frameio/types/select_definition_params_field_configuration.py +20 -0
  213. frameio/types/select_definition_params_field_configuration_options_item.py +20 -0
  214. frameio/types/select_definition_with_includes.py +13 -0
  215. frameio/types/select_multi_definition.py +43 -0
  216. frameio/types/select_multi_definition_field_configuration.py +18 -0
  217. frameio/types/select_multi_definition_field_configuration_options_item.py +22 -0
  218. frameio/types/select_multi_definition_params.py +17 -0
  219. frameio/types/select_multi_definition_params_field_configuration.py +20 -0
  220. frameio/types/select_multi_definition_params_field_configuration_options_item.py +20 -0
  221. frameio/types/select_multi_definition_with_includes.py +13 -0
  222. frameio/types/select_option.py +20 -0
  223. frameio/types/select_value.py +14 -0
  224. frameio/types/share.py +66 -0
  225. frameio/types/share_access.py +5 -0
  226. frameio/types/share_response.py +13 -0
  227. frameio/types/share_reviewers_response.py +27 -0
  228. frameio/types/shares_response.py +27 -0
  229. frameio/types/single_user_value.py +20 -0
  230. frameio/types/single_user_value_member_options_type.py +5 -0
  231. frameio/types/text_definition.py +43 -0
  232. frameio/types/text_definition_field_configuration.py +10 -0
  233. frameio/types/text_definition_params.py +15 -0
  234. frameio/types/text_definition_with_includes.py +13 -0
  235. frameio/types/text_value.py +12 -0
  236. frameio/types/toggle_definition.py +43 -0
  237. frameio/types/toggle_definition_field_configuration.py +15 -0
  238. frameio/types/toggle_definition_params.py +17 -0
  239. frameio/types/toggle_definition_params_field_configuration.py +15 -0
  240. frameio/types/toggle_definition_with_includes.py +13 -0
  241. frameio/types/too_many_requests.py +13 -0
  242. frameio/types/too_many_requests_errors_item.py +15 -0
  243. frameio/types/too_many_requests_errors_item_source.py +12 -0
  244. frameio/types/unauthorized.py +13 -0
  245. frameio/types/unauthorized_errors_item.py +15 -0
  246. frameio/types/unauthorized_errors_item_source.py +12 -0
  247. frameio/types/unprocessable_entity.py +13 -0
  248. frameio/types/unprocessable_entity_errors_item.py +15 -0
  249. frameio/types/unprocessable_entity_errors_item_source.py +12 -0
  250. frameio/types/update_date_definition_params.py +17 -0
  251. frameio/types/update_date_definition_params_field_configuration.py +25 -0
  252. frameio/types/update_date_definition_params_field_configuration_display_format.py +7 -0
  253. frameio/types/update_date_definition_params_field_configuration_time_format.py +7 -0
  254. frameio/types/update_long_text_definition_params.py +15 -0
  255. frameio/types/update_number_definition_params.py +17 -0
  256. frameio/types/update_number_definition_params_field_configuration.py +25 -0
  257. frameio/types/update_number_definition_params_field_configuration_number_format.py +7 -0
  258. frameio/types/update_rating_definition_params.py +17 -0
  259. frameio/types/update_rating_definition_params_field_configuration.py +24 -0
  260. frameio/types/update_rating_definition_params_field_configuration_style.py +7 -0
  261. frameio/types/update_select_definition_params.py +17 -0
  262. frameio/types/update_select_definition_params_field_configuration.py +20 -0
  263. frameio/types/update_select_definition_params_field_configuration_options_item.py +20 -0
  264. frameio/types/update_select_multi_definition_params.py +19 -0
  265. frameio/types/update_select_multi_definition_params_field_configuration.py +20 -0
  266. frameio/types/update_select_multi_definition_params_field_configuration_options_item.py +20 -0
  267. frameio/types/update_text_definition_params.py +15 -0
  268. frameio/types/update_toggle_definition_params.py +17 -0
  269. frameio/types/update_toggle_definition_params_field_configuration.py +15 -0
  270. frameio/types/update_user_multi_definition_params.py +17 -0
  271. frameio/types/update_user_multi_definition_params_field_configuration.py +25 -0
  272. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  273. frameio/types/update_user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  274. frameio/types/update_user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  275. frameio/types/update_user_roles_params.py +17 -0
  276. frameio/types/update_user_roles_params_data.py +13 -0
  277. frameio/types/update_user_roles_params_data_role.py +7 -0
  278. frameio/types/update_user_roles_response.py +13 -0
  279. frameio/types/update_user_roles_response_data.py +13 -0
  280. frameio/types/update_user_roles_response_data_role.py +7 -0
  281. frameio/types/update_user_single_definition_params.py +17 -0
  282. frameio/types/update_user_single_definition_params_field_configuration.py +25 -0
  283. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  284. frameio/types/update_user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  285. frameio/types/update_user_single_definition_params_field_configuration_member_options_type.py +7 -0
  286. frameio/types/upload_url.py +20 -0
  287. frameio/types/user.py +44 -0
  288. frameio/types/user_multi_definition.py +43 -0
  289. frameio/types/user_multi_definition_field_configuration.py +23 -0
  290. frameio/types/user_multi_definition_field_configuration_custom_members_item.py +20 -0
  291. frameio/types/user_multi_definition_field_configuration_custom_members_item_type.py +7 -0
  292. frameio/types/user_multi_definition_field_configuration_member_options_type.py +7 -0
  293. frameio/types/user_multi_definition_params.py +17 -0
  294. frameio/types/user_multi_definition_params_field_configuration.py +23 -0
  295. frameio/types/user_multi_definition_params_field_configuration_custom_members_item.py +20 -0
  296. frameio/types/user_multi_definition_params_field_configuration_custom_members_item_type.py +7 -0
  297. frameio/types/user_multi_definition_params_field_configuration_member_options_type.py +7 -0
  298. frameio/types/user_multi_definition_with_includes.py +13 -0
  299. frameio/types/user_role.py +19 -0
  300. frameio/types/user_role_role.py +7 -0
  301. frameio/types/user_roles_response.py +27 -0
  302. frameio/types/user_single_definition.py +43 -0
  303. frameio/types/user_single_definition_field_configuration.py +23 -0
  304. frameio/types/user_single_definition_field_configuration_custom_members_item.py +20 -0
  305. frameio/types/user_single_definition_field_configuration_custom_members_item_type.py +7 -0
  306. frameio/types/user_single_definition_field_configuration_member_options_type.py +7 -0
  307. frameio/types/user_single_definition_params.py +17 -0
  308. frameio/types/user_single_definition_params_field_configuration.py +23 -0
  309. frameio/types/user_single_definition_params_field_configuration_custom_members_item.py +20 -0
  310. frameio/types/user_single_definition_params_field_configuration_custom_members_item_type.py +7 -0
  311. frameio/types/user_single_definition_params_field_configuration_member_options_type.py +7 -0
  312. frameio/types/user_single_definition_with_includes.py +13 -0
  313. frameio/types/user_value.py +18 -0
  314. frameio/types/user_value_type.py +5 -0
  315. frameio/types/uuid_.py +3 -0
  316. frameio/types/version_stack.py +50 -0
  317. frameio/types/version_stack_copy_response.py +13 -0
  318. frameio/types/version_stack_response.py +13 -0
  319. frameio/types/version_stack_with_includes.py +58 -0
  320. frameio/types/version_stack_with_includes_response.py +13 -0
  321. frameio/types/version_stacks_with_includes_response.py +19 -0
  322. frameio/types/webhook.py +36 -0
  323. frameio/types/webhook_create_response.py +17 -0
  324. frameio/types/webhook_create_response_data.py +15 -0
  325. frameio/types/webhook_events.py +5 -0
  326. frameio/types/webhook_response.py +13 -0
  327. frameio/types/webhook_with_includes.py +13 -0
  328. frameio/types/webhook_with_includes_response.py +13 -0
  329. frameio/types/webhooks_with_includes_response.py +23 -0
  330. frameio/types/workspace.py +40 -0
  331. frameio/types/workspace_include.py +5 -0
  332. frameio/types/workspace_params.py +17 -0
  333. frameio/types/workspace_params_data.py +15 -0
  334. frameio/types/workspace_response.py +17 -0
  335. frameio/types/workspace_with_includes.py +13 -0
  336. frameio/types/workspace_with_includes_response.py +17 -0
  337. frameio/types/workspaces_with_includes_response.py +27 -0
  338. frameio/users/__init__.py +4 -0
  339. frameio/users/client.py +100 -0
  340. frameio/users/raw_client.py +234 -0
  341. frameio/version.py +3 -0
  342. frameio/version_stacks/__init__.py +38 -0
  343. frameio/version_stacks/client.py +699 -0
  344. frameio/version_stacks/raw_client.py +1359 -0
  345. frameio/version_stacks/types/__init__.py +40 -0
  346. frameio/version_stacks/types/version_stack_copy_params_data.py +15 -0
  347. frameio/version_stacks/types/version_stack_create_params_data.py +19 -0
  348. frameio/version_stacks/types/version_stack_move_params_data.py +15 -0
  349. frameio/webhooks/__init__.py +34 -0
  350. frameio/webhooks/client.py +782 -0
  351. frameio/webhooks/raw_client.py +1312 -0
  352. frameio/webhooks/types/__init__.py +38 -0
  353. frameio/webhooks/types/webhook_create_params_data.py +18 -0
  354. frameio/webhooks/types/webhook_update_params_data.py +23 -0
  355. frameio/workspace_permissions/__init__.py +4 -0
  356. frameio/workspace_permissions/client.py +419 -0
  357. frameio/workspace_permissions/raw_client.py +789 -0
  358. frameio/workspaces/__init__.py +4 -0
  359. frameio/workspaces/client.py +552 -0
  360. frameio/workspaces/raw_client.py +1226 -0
  361. frameio-0.0.23.dist-info/METADATA +255 -0
  362. frameio-0.0.23.dist-info/RECORD +363 -0
  363. frameio-0.0.23.dist-info/WHEEL +4 -0
@@ -0,0 +1,40 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import datetime as dt
4
+ import typing
5
+
6
+ import pydantic
7
+ from ..core.pydantic_utilities import UniversalBaseModel
8
+
9
+
10
+ class Workspace(UniversalBaseModel):
11
+ """
12
+ Frame.io workspace
13
+ """
14
+
15
+ account_id: str = pydantic.Field()
16
+ """
17
+ Account ID
18
+ """
19
+
20
+ created_at: dt.datetime = pydantic.Field()
21
+ """
22
+ Created Timestamp
23
+ """
24
+
25
+ id: str = pydantic.Field()
26
+ """
27
+ Workspace ID
28
+ """
29
+
30
+ name: str = pydantic.Field()
31
+ """
32
+ Workspace Name
33
+ """
34
+
35
+ updated_at: dt.datetime = pydantic.Field()
36
+ """
37
+ Updated Timestamp
38
+ """
39
+
40
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ WorkspaceInclude = typing.Literal["creator"]
@@ -0,0 +1,17 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .workspace_params_data import WorkspaceParamsData
8
+
9
+
10
+ class WorkspaceParams(UniversalBaseModel):
11
+ """
12
+ Workspace params
13
+ """
14
+
15
+ data: WorkspaceParamsData
16
+
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,15 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+
8
+
9
+ class WorkspaceParamsData(UniversalBaseModel):
10
+ name: typing.Optional[str] = pydantic.Field(default=None)
11
+ """
12
+ Workspace Name
13
+ """
14
+
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,17 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .workspace import Workspace
8
+
9
+
10
+ class WorkspaceResponse(UniversalBaseModel):
11
+ """
12
+ Frame.io workspace details
13
+ """
14
+
15
+ data: Workspace
16
+
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,13 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from .user import User
7
+ from .workspace import Workspace
8
+
9
+
10
+ class WorkspaceWithIncludes(Workspace):
11
+ creator: typing.Optional[User] = None
12
+
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,17 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .workspace_with_includes import WorkspaceWithIncludes
8
+
9
+
10
+ class WorkspaceWithIncludesResponse(UniversalBaseModel):
11
+ """
12
+ Frame.io workspace details with includes
13
+ """
14
+
15
+ data: WorkspaceWithIncludes
16
+
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import UniversalBaseModel
7
+ from .links import Links
8
+ from .workspace_with_includes import WorkspaceWithIncludes
9
+
10
+
11
+ class WorkspacesWithIncludesResponse(UniversalBaseModel):
12
+ """
13
+ Frame.io workspace details
14
+ """
15
+
16
+ data: typing.List[WorkspaceWithIncludes] = pydantic.Field()
17
+ """
18
+ Workspaces
19
+ """
20
+
21
+ links: Links
22
+ total_count: typing.Optional[int] = pydantic.Field(default=None)
23
+ """
24
+ Total count
25
+ """
26
+
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,4 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
@@ -0,0 +1,100 @@
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.profile_response import ProfileResponse
8
+ from .raw_client import AsyncRawUsersClient, RawUsersClient
9
+
10
+
11
+ class UsersClient:
12
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
13
+ self._raw_client = RawUsersClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def with_raw_response(self) -> RawUsersClient:
17
+ """
18
+ Retrieves a raw implementation of this client that returns raw responses.
19
+
20
+ Returns
21
+ -------
22
+ RawUsersClient
23
+ """
24
+ return self._raw_client
25
+
26
+ def show(self, *, request_options: typing.Optional[RequestOptions] = None) -> ProfileResponse:
27
+ """
28
+ Inspect details of the user associated with the bearer token. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
29
+
30
+ Parameters
31
+ ----------
32
+ request_options : typing.Optional[RequestOptions]
33
+ Request-specific configuration.
34
+
35
+ Returns
36
+ -------
37
+ ProfileResponse
38
+ OK
39
+
40
+ Examples
41
+ --------
42
+ from frameio import Frameio
43
+
44
+ client = Frameio(
45
+ token="YOUR_TOKEN",
46
+ )
47
+ client.users.show()
48
+ """
49
+ _response = self._raw_client.show(request_options=request_options)
50
+ return _response.data
51
+
52
+
53
+ class AsyncUsersClient:
54
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
55
+ self._raw_client = AsyncRawUsersClient(client_wrapper=client_wrapper)
56
+
57
+ @property
58
+ def with_raw_response(self) -> AsyncRawUsersClient:
59
+ """
60
+ Retrieves a raw implementation of this client that returns raw responses.
61
+
62
+ Returns
63
+ -------
64
+ AsyncRawUsersClient
65
+ """
66
+ return self._raw_client
67
+
68
+ async def show(self, *, request_options: typing.Optional[RequestOptions] = None) -> ProfileResponse:
69
+ """
70
+ Inspect details of the user associated with the bearer token. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
71
+
72
+ Parameters
73
+ ----------
74
+ request_options : typing.Optional[RequestOptions]
75
+ Request-specific configuration.
76
+
77
+ Returns
78
+ -------
79
+ ProfileResponse
80
+ OK
81
+
82
+ Examples
83
+ --------
84
+ import asyncio
85
+
86
+ from frameio import AsyncFrameio
87
+
88
+ client = AsyncFrameio(
89
+ token="YOUR_TOKEN",
90
+ )
91
+
92
+
93
+ async def main() -> None:
94
+ await client.users.show()
95
+
96
+
97
+ asyncio.run(main())
98
+ """
99
+ _response = await self._raw_client.show(request_options=request_options)
100
+ return _response.data
@@ -0,0 +1,234 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.pydantic_utilities import parse_obj_as
10
+ from ..core.request_options import RequestOptions
11
+ from ..errors.bad_request_error import BadRequestError
12
+ from ..errors.forbidden_error import ForbiddenError
13
+ from ..errors.not_found_error import NotFoundError
14
+ from ..errors.too_many_requests_error import TooManyRequestsError
15
+ from ..errors.unauthorized_error import UnauthorizedError
16
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
17
+ from ..types.bad_request import BadRequest
18
+ from ..types.forbidden import Forbidden
19
+ from ..types.not_found import NotFound
20
+ from ..types.profile_response import ProfileResponse
21
+ from ..types.too_many_requests import TooManyRequests
22
+ from ..types.unauthorized import Unauthorized
23
+
24
+
25
+ class RawUsersClient:
26
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
27
+ self._client_wrapper = client_wrapper
28
+
29
+ def show(self, *, request_options: typing.Optional[RequestOptions] = None) -> HttpResponse[ProfileResponse]:
30
+ """
31
+ Inspect details of the user associated with the bearer token. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
32
+
33
+ Parameters
34
+ ----------
35
+ request_options : typing.Optional[RequestOptions]
36
+ Request-specific configuration.
37
+
38
+ Returns
39
+ -------
40
+ HttpResponse[ProfileResponse]
41
+ OK
42
+ """
43
+ _response = self._client_wrapper.httpx_client.request(
44
+ "v4/me",
45
+ method="GET",
46
+ request_options=request_options,
47
+ )
48
+ try:
49
+ if 200 <= _response.status_code < 300:
50
+ _data = typing.cast(
51
+ ProfileResponse,
52
+ parse_obj_as(
53
+ type_=ProfileResponse, # type: ignore
54
+ object_=_response.json(),
55
+ ),
56
+ )
57
+ return HttpResponse(response=_response, data=_data)
58
+ if _response.status_code == 400:
59
+ raise BadRequestError(
60
+ headers=dict(_response.headers),
61
+ body=typing.cast(
62
+ BadRequest,
63
+ parse_obj_as(
64
+ type_=BadRequest, # type: ignore
65
+ object_=_response.json(),
66
+ ),
67
+ ),
68
+ )
69
+ if _response.status_code == 401:
70
+ raise UnauthorizedError(
71
+ headers=dict(_response.headers),
72
+ body=typing.cast(
73
+ Unauthorized,
74
+ parse_obj_as(
75
+ type_=Unauthorized, # type: ignore
76
+ object_=_response.json(),
77
+ ),
78
+ ),
79
+ )
80
+ if _response.status_code == 403:
81
+ raise ForbiddenError(
82
+ headers=dict(_response.headers),
83
+ body=typing.cast(
84
+ Forbidden,
85
+ parse_obj_as(
86
+ type_=Forbidden, # type: ignore
87
+ object_=_response.json(),
88
+ ),
89
+ ),
90
+ )
91
+ if _response.status_code == 404:
92
+ raise NotFoundError(
93
+ headers=dict(_response.headers),
94
+ body=typing.cast(
95
+ NotFound,
96
+ parse_obj_as(
97
+ type_=NotFound, # type: ignore
98
+ object_=_response.json(),
99
+ ),
100
+ ),
101
+ )
102
+ if _response.status_code == 422:
103
+ raise UnprocessableEntityError(
104
+ headers=dict(_response.headers),
105
+ body=typing.cast(
106
+ typing.Optional[typing.Any],
107
+ parse_obj_as(
108
+ type_=typing.Optional[typing.Any], # type: ignore
109
+ object_=_response.json(),
110
+ ),
111
+ ),
112
+ )
113
+ if _response.status_code == 429:
114
+ raise TooManyRequestsError(
115
+ headers=dict(_response.headers),
116
+ body=typing.cast(
117
+ TooManyRequests,
118
+ parse_obj_as(
119
+ type_=TooManyRequests, # type: ignore
120
+ object_=_response.json(),
121
+ ),
122
+ ),
123
+ )
124
+ _response_json = _response.json()
125
+ except JSONDecodeError:
126
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
127
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
128
+
129
+
130
+ class AsyncRawUsersClient:
131
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
132
+ self._client_wrapper = client_wrapper
133
+
134
+ async def show(
135
+ self, *, request_options: typing.Optional[RequestOptions] = None
136
+ ) -> AsyncHttpResponse[ProfileResponse]:
137
+ """
138
+ Inspect details of the user associated with the bearer token. <br><br>Rate Limits: 100 calls per 1.00 minute(s) per account
139
+
140
+ Parameters
141
+ ----------
142
+ request_options : typing.Optional[RequestOptions]
143
+ Request-specific configuration.
144
+
145
+ Returns
146
+ -------
147
+ AsyncHttpResponse[ProfileResponse]
148
+ OK
149
+ """
150
+ _response = await self._client_wrapper.httpx_client.request(
151
+ "v4/me",
152
+ method="GET",
153
+ request_options=request_options,
154
+ )
155
+ try:
156
+ if 200 <= _response.status_code < 300:
157
+ _data = typing.cast(
158
+ ProfileResponse,
159
+ parse_obj_as(
160
+ type_=ProfileResponse, # type: ignore
161
+ object_=_response.json(),
162
+ ),
163
+ )
164
+ return AsyncHttpResponse(response=_response, data=_data)
165
+ if _response.status_code == 400:
166
+ raise BadRequestError(
167
+ headers=dict(_response.headers),
168
+ body=typing.cast(
169
+ BadRequest,
170
+ parse_obj_as(
171
+ type_=BadRequest, # type: ignore
172
+ object_=_response.json(),
173
+ ),
174
+ ),
175
+ )
176
+ if _response.status_code == 401:
177
+ raise UnauthorizedError(
178
+ headers=dict(_response.headers),
179
+ body=typing.cast(
180
+ Unauthorized,
181
+ parse_obj_as(
182
+ type_=Unauthorized, # type: ignore
183
+ object_=_response.json(),
184
+ ),
185
+ ),
186
+ )
187
+ if _response.status_code == 403:
188
+ raise ForbiddenError(
189
+ headers=dict(_response.headers),
190
+ body=typing.cast(
191
+ Forbidden,
192
+ parse_obj_as(
193
+ type_=Forbidden, # type: ignore
194
+ object_=_response.json(),
195
+ ),
196
+ ),
197
+ )
198
+ if _response.status_code == 404:
199
+ raise NotFoundError(
200
+ headers=dict(_response.headers),
201
+ body=typing.cast(
202
+ NotFound,
203
+ parse_obj_as(
204
+ type_=NotFound, # type: ignore
205
+ object_=_response.json(),
206
+ ),
207
+ ),
208
+ )
209
+ if _response.status_code == 422:
210
+ raise UnprocessableEntityError(
211
+ headers=dict(_response.headers),
212
+ body=typing.cast(
213
+ typing.Optional[typing.Any],
214
+ parse_obj_as(
215
+ type_=typing.Optional[typing.Any], # type: ignore
216
+ object_=_response.json(),
217
+ ),
218
+ ),
219
+ )
220
+ if _response.status_code == 429:
221
+ raise TooManyRequestsError(
222
+ headers=dict(_response.headers),
223
+ body=typing.cast(
224
+ TooManyRequests,
225
+ parse_obj_as(
226
+ type_=TooManyRequests, # type: ignore
227
+ object_=_response.json(),
228
+ ),
229
+ ),
230
+ )
231
+ _response_json = _response.json()
232
+ except JSONDecodeError:
233
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
234
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
frameio/version.py ADDED
@@ -0,0 +1,3 @@
1
+ from importlib import metadata
2
+
3
+ __version__ = metadata.version("frameio")
@@ -0,0 +1,38 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import VersionStackCopyParamsData, VersionStackCreateParamsData, VersionStackMoveParamsData
10
+ _dynamic_imports: typing.Dict[str, str] = {
11
+ "VersionStackCopyParamsData": ".types",
12
+ "VersionStackCreateParamsData": ".types",
13
+ "VersionStackMoveParamsData": ".types",
14
+ }
15
+
16
+
17
+ def __getattr__(attr_name: str) -> typing.Any:
18
+ module_name = _dynamic_imports.get(attr_name)
19
+ if module_name is None:
20
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
21
+ try:
22
+ module = import_module(module_name, __package__)
23
+ if module_name == f".{attr_name}":
24
+ return module
25
+ else:
26
+ return getattr(module, attr_name)
27
+ except ImportError as e:
28
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
29
+ except AttributeError as e:
30
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
31
+
32
+
33
+ def __dir__():
34
+ lazy_attrs = list(_dynamic_imports.keys())
35
+ return sorted(lazy_attrs)
36
+
37
+
38
+ __all__ = ["VersionStackCopyParamsData", "VersionStackCreateParamsData", "VersionStackMoveParamsData"]