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,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 ProjectParamsData, ProjectUpdateParamsData, ProjectUpdateParamsDataStatus
10
+ _dynamic_imports: typing.Dict[str, str] = {
11
+ "ProjectParamsData": ".types",
12
+ "ProjectUpdateParamsData": ".types",
13
+ "ProjectUpdateParamsDataStatus": ".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__ = ["ProjectParamsData", "ProjectUpdateParamsData", "ProjectUpdateParamsDataStatus"]
@@ -0,0 +1,604 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
7
+ from ..core.request_options import RequestOptions
8
+ from ..types.include_total_count import IncludeTotalCount
9
+ from ..types.project_response import ProjectResponse
10
+ from ..types.project_with_includes import ProjectWithIncludes
11
+ from ..types.project_with_includes_response import ProjectWithIncludesResponse
12
+ from ..types.projects_with_includes_response import ProjectsWithIncludesResponse
13
+ from ..types.request_after_opaque_cursor import RequestAfterOpaqueCursor
14
+ from ..types.request_page_size import RequestPageSize
15
+ from ..types.uuid_ import Uuid
16
+ from .raw_client import AsyncRawProjectsClient, RawProjectsClient
17
+ from .types.project_params_data import ProjectParamsData
18
+ from .types.project_update_params_data import ProjectUpdateParamsData
19
+
20
+ # this is used as the default value for optional parameters
21
+ OMIT = typing.cast(typing.Any, ...)
22
+
23
+
24
+ class ProjectsClient:
25
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
26
+ self._raw_client = RawProjectsClient(client_wrapper=client_wrapper)
27
+
28
+ @property
29
+ def with_raw_response(self) -> RawProjectsClient:
30
+ """
31
+ Retrieves a raw implementation of this client that returns raw responses.
32
+
33
+ Returns
34
+ -------
35
+ RawProjectsClient
36
+ """
37
+ return self._raw_client
38
+
39
+ def show(
40
+ self,
41
+ account_id: Uuid,
42
+ project_id: Uuid,
43
+ *,
44
+ include: typing.Optional[typing.Literal["owner"]] = None,
45
+ request_options: typing.Optional[RequestOptions] = None,
46
+ ) -> ProjectWithIncludesResponse:
47
+ """
48
+ Show project details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
49
+
50
+ Parameters
51
+ ----------
52
+ account_id : Uuid
53
+
54
+
55
+ project_id : Uuid
56
+
57
+
58
+ include : typing.Optional[typing.Literal["owner"]]
59
+
60
+
61
+ request_options : typing.Optional[RequestOptions]
62
+ Request-specific configuration.
63
+
64
+ Returns
65
+ -------
66
+ ProjectWithIncludesResponse
67
+ OK
68
+
69
+ Examples
70
+ --------
71
+ from frameio import Frameio
72
+
73
+ client = Frameio(
74
+ token="YOUR_TOKEN",
75
+ )
76
+ client.projects.show(
77
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
78
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
79
+ )
80
+ """
81
+ _response = self._raw_client.show(account_id, project_id, include=include, request_options=request_options)
82
+ return _response.data
83
+
84
+ def delete(
85
+ self, account_id: Uuid, project_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
86
+ ) -> None:
87
+ """
88
+ Delete a project. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
89
+
90
+ Parameters
91
+ ----------
92
+ account_id : Uuid
93
+
94
+
95
+ project_id : Uuid
96
+
97
+
98
+ request_options : typing.Optional[RequestOptions]
99
+ Request-specific configuration.
100
+
101
+ Returns
102
+ -------
103
+ None
104
+
105
+ Examples
106
+ --------
107
+ from frameio import Frameio
108
+
109
+ client = Frameio(
110
+ token="YOUR_TOKEN",
111
+ )
112
+ client.projects.delete(
113
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
114
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
115
+ )
116
+ """
117
+ _response = self._raw_client.delete(account_id, project_id, request_options=request_options)
118
+ return _response.data
119
+
120
+ def update(
121
+ self,
122
+ account_id: Uuid,
123
+ project_id: Uuid,
124
+ *,
125
+ data: ProjectUpdateParamsData,
126
+ request_options: typing.Optional[RequestOptions] = None,
127
+ ) -> ProjectResponse:
128
+ """
129
+ Update project details. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
130
+
131
+ Parameters
132
+ ----------
133
+ account_id : Uuid
134
+
135
+
136
+ project_id : Uuid
137
+
138
+
139
+ data : ProjectUpdateParamsData
140
+
141
+ request_options : typing.Optional[RequestOptions]
142
+ Request-specific configuration.
143
+
144
+ Returns
145
+ -------
146
+ ProjectResponse
147
+ OK
148
+
149
+ Examples
150
+ --------
151
+ from frameio import Frameio
152
+ from frameio.projects import ProjectUpdateParamsData
153
+
154
+ client = Frameio(
155
+ token="YOUR_TOKEN",
156
+ )
157
+ client.projects.update(
158
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
159
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
160
+ data=ProjectUpdateParamsData(
161
+ name="Project Name",
162
+ restricted=True,
163
+ status="active",
164
+ ),
165
+ )
166
+ """
167
+ _response = self._raw_client.update(account_id, project_id, data=data, request_options=request_options)
168
+ return _response.data
169
+
170
+ def index(
171
+ self,
172
+ account_id: Uuid,
173
+ workspace_id: Uuid,
174
+ *,
175
+ include: typing.Optional[typing.Literal["owner"]] = None,
176
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
177
+ page_size: typing.Optional[RequestPageSize] = None,
178
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
179
+ request_options: typing.Optional[RequestOptions] = None,
180
+ ) -> SyncPager[ProjectWithIncludes, ProjectsWithIncludesResponse]:
181
+ """
182
+ List projects in a given workspace. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
183
+
184
+ Parameters
185
+ ----------
186
+ account_id : Uuid
187
+
188
+
189
+ workspace_id : Uuid
190
+
191
+
192
+ include : typing.Optional[typing.Literal["owner"]]
193
+
194
+
195
+ after : typing.Optional[RequestAfterOpaqueCursor]
196
+ Opaque Cursor query param for requests returning paginated results.
197
+ <br/>
198
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
199
+
200
+ page_size : typing.Optional[RequestPageSize]
201
+
202
+
203
+ include_total_count : typing.Optional[IncludeTotalCount]
204
+
205
+
206
+ request_options : typing.Optional[RequestOptions]
207
+ Request-specific configuration.
208
+
209
+ Returns
210
+ -------
211
+ SyncPager[ProjectWithIncludes, ProjectsWithIncludesResponse]
212
+ OK
213
+
214
+ Examples
215
+ --------
216
+ from frameio import Frameio
217
+
218
+ client = Frameio(
219
+ token="YOUR_TOKEN",
220
+ )
221
+ response = client.projects.index(
222
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
223
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
224
+ after="<opaque_cursor>",
225
+ page_size=10,
226
+ include_total_count=False,
227
+ )
228
+ for item in response:
229
+ yield item
230
+ # alternatively, you can paginate page-by-page
231
+ for page in response.iter_pages():
232
+ yield page
233
+ """
234
+ return self._raw_client.index(
235
+ account_id,
236
+ workspace_id,
237
+ include=include,
238
+ after=after,
239
+ page_size=page_size,
240
+ include_total_count=include_total_count,
241
+ request_options=request_options,
242
+ )
243
+
244
+ def create(
245
+ self,
246
+ account_id: Uuid,
247
+ workspace_id: Uuid,
248
+ *,
249
+ data: ProjectParamsData,
250
+ request_options: typing.Optional[RequestOptions] = None,
251
+ ) -> ProjectResponse:
252
+ """
253
+ Create project in a given workspace. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
254
+
255
+ Parameters
256
+ ----------
257
+ account_id : Uuid
258
+
259
+
260
+ workspace_id : Uuid
261
+
262
+
263
+ data : ProjectParamsData
264
+
265
+ request_options : typing.Optional[RequestOptions]
266
+ Request-specific configuration.
267
+
268
+ Returns
269
+ -------
270
+ ProjectResponse
271
+ Created
272
+
273
+ Examples
274
+ --------
275
+ from frameio import Frameio
276
+ from frameio.projects import ProjectParamsData
277
+
278
+ client = Frameio(
279
+ token="YOUR_TOKEN",
280
+ )
281
+ client.projects.create(
282
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
283
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
284
+ data=ProjectParamsData(
285
+ name="Project Name",
286
+ restricted=True,
287
+ ),
288
+ )
289
+ """
290
+ _response = self._raw_client.create(account_id, workspace_id, data=data, request_options=request_options)
291
+ return _response.data
292
+
293
+
294
+ class AsyncProjectsClient:
295
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
296
+ self._raw_client = AsyncRawProjectsClient(client_wrapper=client_wrapper)
297
+
298
+ @property
299
+ def with_raw_response(self) -> AsyncRawProjectsClient:
300
+ """
301
+ Retrieves a raw implementation of this client that returns raw responses.
302
+
303
+ Returns
304
+ -------
305
+ AsyncRawProjectsClient
306
+ """
307
+ return self._raw_client
308
+
309
+ async def show(
310
+ self,
311
+ account_id: Uuid,
312
+ project_id: Uuid,
313
+ *,
314
+ include: typing.Optional[typing.Literal["owner"]] = None,
315
+ request_options: typing.Optional[RequestOptions] = None,
316
+ ) -> ProjectWithIncludesResponse:
317
+ """
318
+ Show project details. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
319
+
320
+ Parameters
321
+ ----------
322
+ account_id : Uuid
323
+
324
+
325
+ project_id : Uuid
326
+
327
+
328
+ include : typing.Optional[typing.Literal["owner"]]
329
+
330
+
331
+ request_options : typing.Optional[RequestOptions]
332
+ Request-specific configuration.
333
+
334
+ Returns
335
+ -------
336
+ ProjectWithIncludesResponse
337
+ OK
338
+
339
+ Examples
340
+ --------
341
+ import asyncio
342
+
343
+ from frameio import AsyncFrameio
344
+
345
+ client = AsyncFrameio(
346
+ token="YOUR_TOKEN",
347
+ )
348
+
349
+
350
+ async def main() -> None:
351
+ await client.projects.show(
352
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
353
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
354
+ )
355
+
356
+
357
+ asyncio.run(main())
358
+ """
359
+ _response = await self._raw_client.show(
360
+ account_id, project_id, include=include, request_options=request_options
361
+ )
362
+ return _response.data
363
+
364
+ async def delete(
365
+ self, account_id: Uuid, project_id: Uuid, *, request_options: typing.Optional[RequestOptions] = None
366
+ ) -> None:
367
+ """
368
+ Delete a project. <br>Rate Limits: 60 calls per 1.00 minute(s) per account_user
369
+
370
+ Parameters
371
+ ----------
372
+ account_id : Uuid
373
+
374
+
375
+ project_id : Uuid
376
+
377
+
378
+ request_options : typing.Optional[RequestOptions]
379
+ Request-specific configuration.
380
+
381
+ Returns
382
+ -------
383
+ None
384
+
385
+ Examples
386
+ --------
387
+ import asyncio
388
+
389
+ from frameio import AsyncFrameio
390
+
391
+ client = AsyncFrameio(
392
+ token="YOUR_TOKEN",
393
+ )
394
+
395
+
396
+ async def main() -> None:
397
+ await client.projects.delete(
398
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
399
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
400
+ )
401
+
402
+
403
+ asyncio.run(main())
404
+ """
405
+ _response = await self._raw_client.delete(account_id, project_id, request_options=request_options)
406
+ return _response.data
407
+
408
+ async def update(
409
+ self,
410
+ account_id: Uuid,
411
+ project_id: Uuid,
412
+ *,
413
+ data: ProjectUpdateParamsData,
414
+ request_options: typing.Optional[RequestOptions] = None,
415
+ ) -> ProjectResponse:
416
+ """
417
+ Update project details. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
418
+
419
+ Parameters
420
+ ----------
421
+ account_id : Uuid
422
+
423
+
424
+ project_id : Uuid
425
+
426
+
427
+ data : ProjectUpdateParamsData
428
+
429
+ request_options : typing.Optional[RequestOptions]
430
+ Request-specific configuration.
431
+
432
+ Returns
433
+ -------
434
+ ProjectResponse
435
+ OK
436
+
437
+ Examples
438
+ --------
439
+ import asyncio
440
+
441
+ from frameio import AsyncFrameio
442
+ from frameio.projects import ProjectUpdateParamsData
443
+
444
+ client = AsyncFrameio(
445
+ token="YOUR_TOKEN",
446
+ )
447
+
448
+
449
+ async def main() -> None:
450
+ await client.projects.update(
451
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
452
+ project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
453
+ data=ProjectUpdateParamsData(
454
+ name="Project Name",
455
+ restricted=True,
456
+ status="active",
457
+ ),
458
+ )
459
+
460
+
461
+ asyncio.run(main())
462
+ """
463
+ _response = await self._raw_client.update(account_id, project_id, data=data, request_options=request_options)
464
+ return _response.data
465
+
466
+ async def index(
467
+ self,
468
+ account_id: Uuid,
469
+ workspace_id: Uuid,
470
+ *,
471
+ include: typing.Optional[typing.Literal["owner"]] = None,
472
+ after: typing.Optional[RequestAfterOpaqueCursor] = None,
473
+ page_size: typing.Optional[RequestPageSize] = None,
474
+ include_total_count: typing.Optional[IncludeTotalCount] = None,
475
+ request_options: typing.Optional[RequestOptions] = None,
476
+ ) -> AsyncPager[ProjectWithIncludes, ProjectsWithIncludesResponse]:
477
+ """
478
+ List projects in a given workspace. <br>Rate Limits: 100 calls per 1.00 minute(s) per account_user
479
+
480
+ Parameters
481
+ ----------
482
+ account_id : Uuid
483
+
484
+
485
+ workspace_id : Uuid
486
+
487
+
488
+ include : typing.Optional[typing.Literal["owner"]]
489
+
490
+
491
+ after : typing.Optional[RequestAfterOpaqueCursor]
492
+ Opaque Cursor query param for requests returning paginated results.
493
+ <br/>
494
+ NOTE: this value is auto-generated and included as part of links from a previous response. It is not intended to be human readable.
495
+
496
+ page_size : typing.Optional[RequestPageSize]
497
+
498
+
499
+ include_total_count : typing.Optional[IncludeTotalCount]
500
+
501
+
502
+ request_options : typing.Optional[RequestOptions]
503
+ Request-specific configuration.
504
+
505
+ Returns
506
+ -------
507
+ AsyncPager[ProjectWithIncludes, ProjectsWithIncludesResponse]
508
+ OK
509
+
510
+ Examples
511
+ --------
512
+ import asyncio
513
+
514
+ from frameio import AsyncFrameio
515
+
516
+ client = AsyncFrameio(
517
+ token="YOUR_TOKEN",
518
+ )
519
+
520
+
521
+ async def main() -> None:
522
+ response = await client.projects.index(
523
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
524
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
525
+ after="<opaque_cursor>",
526
+ page_size=10,
527
+ include_total_count=False,
528
+ )
529
+ async for item in response:
530
+ yield item
531
+
532
+ # alternatively, you can paginate page-by-page
533
+ async for page in response.iter_pages():
534
+ yield page
535
+
536
+
537
+ asyncio.run(main())
538
+ """
539
+ return await self._raw_client.index(
540
+ account_id,
541
+ workspace_id,
542
+ include=include,
543
+ after=after,
544
+ page_size=page_size,
545
+ include_total_count=include_total_count,
546
+ request_options=request_options,
547
+ )
548
+
549
+ async def create(
550
+ self,
551
+ account_id: Uuid,
552
+ workspace_id: Uuid,
553
+ *,
554
+ data: ProjectParamsData,
555
+ request_options: typing.Optional[RequestOptions] = None,
556
+ ) -> ProjectResponse:
557
+ """
558
+ Create project in a given workspace. <br>Rate Limits: 10 calls per 1.00 minute(s) per account_user
559
+
560
+ Parameters
561
+ ----------
562
+ account_id : Uuid
563
+
564
+
565
+ workspace_id : Uuid
566
+
567
+
568
+ data : ProjectParamsData
569
+
570
+ request_options : typing.Optional[RequestOptions]
571
+ Request-specific configuration.
572
+
573
+ Returns
574
+ -------
575
+ ProjectResponse
576
+ Created
577
+
578
+ Examples
579
+ --------
580
+ import asyncio
581
+
582
+ from frameio import AsyncFrameio
583
+ from frameio.projects import ProjectParamsData
584
+
585
+ client = AsyncFrameio(
586
+ token="YOUR_TOKEN",
587
+ )
588
+
589
+
590
+ async def main() -> None:
591
+ await client.projects.create(
592
+ account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
593
+ workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
594
+ data=ProjectParamsData(
595
+ name="Project Name",
596
+ restricted=True,
597
+ ),
598
+ )
599
+
600
+
601
+ asyncio.run(main())
602
+ """
603
+ _response = await self._raw_client.create(account_id, workspace_id, data=data, request_options=request_options)
604
+ return _response.data