files-com 1.6.49__tar.gz → 1.6.149__tar.gz

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 (237) hide show
  1. {files_com-1.6.49/files_com.egg-info → files_com-1.6.149}/PKG-INFO +82 -18
  2. {files_com-1.6.49 → files_com-1.6.149}/README.md +81 -17
  3. files_com-1.6.149/_VERSION +1 -0
  4. {files_com-1.6.49 → files_com-1.6.149/files_com.egg-info}/PKG-INFO +82 -18
  5. {files_com-1.6.49 → files_com-1.6.149}/files_com.egg-info/SOURCES.txt +8 -0
  6. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/__init__.py +11 -1
  7. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/error.py +120 -15
  8. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/__init__.py +6 -0
  9. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/api_key.py +10 -0
  10. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/as2_incoming_message.py +1 -8
  11. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/as2_outgoing_message.py +1 -8
  12. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/as2_partner.py +6 -0
  13. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/automation.py +4 -4
  14. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/automation_log.py +1 -1
  15. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/behavior.py +2 -2
  16. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_registration.py +1 -1
  17. files_com-1.6.149/files_sdk/models/child_site_management_policy.py +278 -0
  18. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/email_log.py +0 -7
  19. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file.py +10 -2
  20. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_migration_log.py +0 -7
  21. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/folder.py +3 -3
  22. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/ftp_action_log.py +1 -1
  23. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/gpg_key.py +21 -3
  24. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/history_export.py +4 -4
  25. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/history_export_result.py +2 -2
  26. files_com-1.6.149/files_sdk/models/inbound_s3_log.py +95 -0
  27. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/inbox_registration.py +1 -1
  28. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/invoice_line_item.py +5 -0
  29. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/outbound_connection_log.py +1 -1
  30. files_com-1.6.149/files_sdk/models/partner.py +296 -0
  31. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/permission.py +10 -2
  32. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/public_key.py +6 -2
  33. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/remote_mount_backend.py +1 -0
  34. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/remote_server.py +65 -91
  35. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/remote_server_configuration_file.py +1 -1
  36. files_com-1.6.149/files_sdk/models/scim_log.py +88 -0
  37. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sftp_action_log.py +1 -1
  38. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/siem_http_destination.py +98 -19
  39. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/site.py +21 -12
  40. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sso_strategy.py +2 -1
  41. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sync.py +37 -7
  42. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sync_log.py +0 -7
  43. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sync_run.py +31 -18
  44. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/user.py +78 -1
  45. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/user_lifecycle_rule.py +74 -23
  46. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/web_dav_action_log.py +1 -1
  47. {files_com-1.6.49 → files_com-1.6.149}/pyproject.toml +1 -1
  48. files_com-1.6.149/tests/test_child_site_management_policy.py +68 -0
  49. files_com-1.6.149/tests/test_inbound_s3_log.py +18 -0
  50. files_com-1.6.149/tests/test_partner.py +68 -0
  51. files_com-1.6.149/tests/test_scim_log.py +26 -0
  52. {files_com-1.6.49 → files_com-1.6.149}/tests/test_siem_http_destination.py +0 -1
  53. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sync.py +16 -0
  54. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sync_run.py +1 -4
  55. files_com-1.6.49/_VERSION +0 -1
  56. {files_com-1.6.49 → files_com-1.6.149}/LICENSE +0 -0
  57. {files_com-1.6.49 → files_com-1.6.149}/files_com.egg-info/dependency_links.txt +0 -0
  58. {files_com-1.6.49 → files_com-1.6.149}/files_com.egg-info/requires.txt +0 -0
  59. {files_com-1.6.49 → files_com-1.6.149}/files_com.egg-info/top_level.txt +0 -0
  60. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/api.py +0 -0
  61. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/api_client.py +0 -0
  62. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/list_obj.py +0 -0
  63. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/account_line_item.py +0 -0
  64. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/action.py +0 -0
  65. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/action_notification_export.py +0 -0
  66. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/action_notification_export_result.py +0 -0
  67. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/api_request_log.py +0 -0
  68. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/app.py +0 -0
  69. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/as2_station.py +0 -0
  70. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/auto.py +0 -0
  71. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/automation_run.py +0 -0
  72. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bandwidth_snapshot.py +0 -0
  73. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle.py +0 -0
  74. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_action.py +0 -0
  75. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_download.py +0 -0
  76. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_notification.py +0 -0
  77. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_path.py +0 -0
  78. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/bundle_recipient.py +0 -0
  79. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/clickwrap.py +0 -0
  80. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/dns_record.py +0 -0
  81. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/email_incoming_message.py +0 -0
  82. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/errors.py +0 -0
  83. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/exavault_api_request_log.py +0 -0
  84. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/external_event.py +0 -0
  85. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_action.py +0 -0
  86. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_comment.py +0 -0
  87. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_comment_reaction.py +0 -0
  88. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_migration.py +0 -0
  89. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/file_upload_part.py +0 -0
  90. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/form_field.py +0 -0
  91. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/form_field_set.py +0 -0
  92. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/group.py +0 -0
  93. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/group_user.py +0 -0
  94. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/history.py +0 -0
  95. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/holiday_region.py +0 -0
  96. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/image.py +0 -0
  97. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/inbox_recipient.py +0 -0
  98. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/inbox_upload.py +0 -0
  99. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/invoice.py +0 -0
  100. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/ip_address.py +0 -0
  101. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/lock.py +0 -0
  102. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/message.py +0 -0
  103. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/message_comment.py +0 -0
  104. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/message_comment_reaction.py +0 -0
  105. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/message_reaction.py +0 -0
  106. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/notification.py +0 -0
  107. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/payment.py +0 -0
  108. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/payment_line_item.py +0 -0
  109. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/preview.py +0 -0
  110. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/priority.py +0 -0
  111. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/project.py +0 -0
  112. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/public_hosting_request_log.py +0 -0
  113. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/public_ip_address.py +0 -0
  114. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  115. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/request.py +0 -0
  116. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/restore.py +0 -0
  117. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/session.py +0 -0
  118. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/settings_change.py +0 -0
  119. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/sftp_host_key.py +0 -0
  120. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/share_group.py +0 -0
  121. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/share_group_member.py +0 -0
  122. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/snapshot.py +0 -0
  123. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/status.py +0 -0
  124. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/style.py +0 -0
  125. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  126. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/usage_daily_snapshot.py +0 -0
  127. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/usage_snapshot.py +0 -0
  128. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/user_cipher_use.py +0 -0
  129. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/user_request.py +0 -0
  130. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/user_sftp_client_use.py +0 -0
  131. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/models/webhook_test.py +0 -0
  132. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/path_util.py +0 -0
  133. {files_com-1.6.49 → files_com-1.6.149}/files_sdk/util.py +0 -0
  134. {files_com-1.6.49 → files_com-1.6.149}/setup.cfg +0 -0
  135. {files_com-1.6.49 → files_com-1.6.149}/tests/test_account_line_item.py +0 -0
  136. {files_com-1.6.49 → files_com-1.6.149}/tests/test_action.py +0 -0
  137. {files_com-1.6.49 → files_com-1.6.149}/tests/test_action_notification_export.py +0 -0
  138. {files_com-1.6.49 → files_com-1.6.149}/tests/test_action_notification_export_result.py +0 -0
  139. {files_com-1.6.49 → files_com-1.6.149}/tests/test_api_errors.py +0 -0
  140. {files_com-1.6.49 → files_com-1.6.149}/tests/test_api_key.py +0 -0
  141. {files_com-1.6.49 → files_com-1.6.149}/tests/test_api_request_log.py +0 -0
  142. {files_com-1.6.49 → files_com-1.6.149}/tests/test_app.py +0 -0
  143. {files_com-1.6.49 → files_com-1.6.149}/tests/test_as2_incoming_message.py +0 -0
  144. {files_com-1.6.49 → files_com-1.6.149}/tests/test_as2_outgoing_message.py +0 -0
  145. {files_com-1.6.49 → files_com-1.6.149}/tests/test_as2_partner.py +0 -0
  146. {files_com-1.6.49 → files_com-1.6.149}/tests/test_as2_station.py +0 -0
  147. {files_com-1.6.49 → files_com-1.6.149}/tests/test_auto.py +0 -0
  148. {files_com-1.6.49 → files_com-1.6.149}/tests/test_automation.py +0 -0
  149. {files_com-1.6.49 → files_com-1.6.149}/tests/test_automation_log.py +0 -0
  150. {files_com-1.6.49 → files_com-1.6.149}/tests/test_automation_run.py +0 -0
  151. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bandwidth_snapshot.py +0 -0
  152. {files_com-1.6.49 → files_com-1.6.149}/tests/test_behavior.py +0 -0
  153. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle.py +0 -0
  154. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_action.py +0 -0
  155. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_download.py +0 -0
  156. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_notification.py +0 -0
  157. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_path.py +0 -0
  158. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_recipient.py +0 -0
  159. {files_com-1.6.49 → files_com-1.6.149}/tests/test_bundle_registration.py +0 -0
  160. {files_com-1.6.49 → files_com-1.6.149}/tests/test_clickwrap.py +0 -0
  161. {files_com-1.6.49 → files_com-1.6.149}/tests/test_connection_adapter.py +0 -0
  162. {files_com-1.6.49 → files_com-1.6.149}/tests/test_dns_record.py +0 -0
  163. {files_com-1.6.49 → files_com-1.6.149}/tests/test_email_incoming_message.py +0 -0
  164. {files_com-1.6.49 → files_com-1.6.149}/tests/test_email_log.py +0 -0
  165. {files_com-1.6.49 → files_com-1.6.149}/tests/test_errors.py +0 -0
  166. {files_com-1.6.49 → files_com-1.6.149}/tests/test_exavault_api_request_log.py +0 -0
  167. {files_com-1.6.49 → files_com-1.6.149}/tests/test_external_event.py +0 -0
  168. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file.py +0 -0
  169. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_action.py +0 -0
  170. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_comment.py +0 -0
  171. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_comment_reaction.py +0 -0
  172. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_migration.py +0 -0
  173. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_migration_log.py +0 -0
  174. {files_com-1.6.49 → files_com-1.6.149}/tests/test_file_upload_part.py +0 -0
  175. {files_com-1.6.49 → files_com-1.6.149}/tests/test_folder.py +0 -0
  176. {files_com-1.6.49 → files_com-1.6.149}/tests/test_form_field.py +0 -0
  177. {files_com-1.6.49 → files_com-1.6.149}/tests/test_form_field_set.py +0 -0
  178. {files_com-1.6.49 → files_com-1.6.149}/tests/test_ftp_action_log.py +0 -0
  179. {files_com-1.6.49 → files_com-1.6.149}/tests/test_gpg_key.py +0 -0
  180. {files_com-1.6.49 → files_com-1.6.149}/tests/test_group.py +0 -0
  181. {files_com-1.6.49 → files_com-1.6.149}/tests/test_group_user.py +0 -0
  182. {files_com-1.6.49 → files_com-1.6.149}/tests/test_history.py +0 -0
  183. {files_com-1.6.49 → files_com-1.6.149}/tests/test_history_export.py +0 -0
  184. {files_com-1.6.49 → files_com-1.6.149}/tests/test_history_export_result.py +0 -0
  185. {files_com-1.6.49 → files_com-1.6.149}/tests/test_holiday_region.py +0 -0
  186. {files_com-1.6.49 → files_com-1.6.149}/tests/test_image.py +0 -0
  187. {files_com-1.6.49 → files_com-1.6.149}/tests/test_inbox_recipient.py +0 -0
  188. {files_com-1.6.49 → files_com-1.6.149}/tests/test_inbox_registration.py +0 -0
  189. {files_com-1.6.49 → files_com-1.6.149}/tests/test_inbox_upload.py +0 -0
  190. {files_com-1.6.49 → files_com-1.6.149}/tests/test_invoice.py +0 -0
  191. {files_com-1.6.49 → files_com-1.6.149}/tests/test_invoice_line_item.py +0 -0
  192. {files_com-1.6.49 → files_com-1.6.149}/tests/test_ip_address.py +0 -0
  193. {files_com-1.6.49 → files_com-1.6.149}/tests/test_lock.py +0 -0
  194. {files_com-1.6.49 → files_com-1.6.149}/tests/test_message.py +0 -0
  195. {files_com-1.6.49 → files_com-1.6.149}/tests/test_message_comment.py +0 -0
  196. {files_com-1.6.49 → files_com-1.6.149}/tests/test_message_comment_reaction.py +0 -0
  197. {files_com-1.6.49 → files_com-1.6.149}/tests/test_message_reaction.py +0 -0
  198. {files_com-1.6.49 → files_com-1.6.149}/tests/test_notification.py +0 -0
  199. {files_com-1.6.49 → files_com-1.6.149}/tests/test_outbound_connection_log.py +0 -0
  200. {files_com-1.6.49 → files_com-1.6.149}/tests/test_path_util.py +0 -0
  201. {files_com-1.6.49 → files_com-1.6.149}/tests/test_payment.py +0 -0
  202. {files_com-1.6.49 → files_com-1.6.149}/tests/test_payment_line_item.py +0 -0
  203. {files_com-1.6.49 → files_com-1.6.149}/tests/test_permission.py +0 -0
  204. {files_com-1.6.49 → files_com-1.6.149}/tests/test_preview.py +0 -0
  205. {files_com-1.6.49 → files_com-1.6.149}/tests/test_priority.py +0 -0
  206. {files_com-1.6.49 → files_com-1.6.149}/tests/test_project.py +0 -0
  207. {files_com-1.6.49 → files_com-1.6.149}/tests/test_public_hosting_request_log.py +0 -0
  208. {files_com-1.6.49 → files_com-1.6.149}/tests/test_public_ip_address.py +0 -0
  209. {files_com-1.6.49 → files_com-1.6.149}/tests/test_public_key.py +0 -0
  210. {files_com-1.6.49 → files_com-1.6.149}/tests/test_remote_bandwidth_snapshot.py +0 -0
  211. {files_com-1.6.49 → files_com-1.6.149}/tests/test_remote_mount_backend.py +0 -0
  212. {files_com-1.6.49 → files_com-1.6.149}/tests/test_remote_server.py +0 -0
  213. {files_com-1.6.49 → files_com-1.6.149}/tests/test_remote_server_configuration_file.py +0 -0
  214. {files_com-1.6.49 → files_com-1.6.149}/tests/test_request.py +0 -0
  215. {files_com-1.6.49 → files_com-1.6.149}/tests/test_restore.py +0 -0
  216. {files_com-1.6.49 → files_com-1.6.149}/tests/test_session.py +0 -0
  217. {files_com-1.6.49 → files_com-1.6.149}/tests/test_settings_change.py +0 -0
  218. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sftp_action_log.py +0 -0
  219. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sftp_host_key.py +0 -0
  220. {files_com-1.6.49 → files_com-1.6.149}/tests/test_share_group.py +0 -0
  221. {files_com-1.6.49 → files_com-1.6.149}/tests/test_share_group_member.py +0 -0
  222. {files_com-1.6.49 → files_com-1.6.149}/tests/test_site.py +0 -0
  223. {files_com-1.6.49 → files_com-1.6.149}/tests/test_snapshot.py +0 -0
  224. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sso_strategy.py +0 -0
  225. {files_com-1.6.49 → files_com-1.6.149}/tests/test_status.py +0 -0
  226. {files_com-1.6.49 → files_com-1.6.149}/tests/test_style.py +0 -0
  227. {files_com-1.6.49 → files_com-1.6.149}/tests/test_sync_log.py +0 -0
  228. {files_com-1.6.49 → files_com-1.6.149}/tests/test_usage_by_top_level_dir.py +0 -0
  229. {files_com-1.6.49 → files_com-1.6.149}/tests/test_usage_daily_snapshot.py +0 -0
  230. {files_com-1.6.49 → files_com-1.6.149}/tests/test_usage_snapshot.py +0 -0
  231. {files_com-1.6.49 → files_com-1.6.149}/tests/test_user.py +0 -0
  232. {files_com-1.6.49 → files_com-1.6.149}/tests/test_user_cipher_use.py +0 -0
  233. {files_com-1.6.49 → files_com-1.6.149}/tests/test_user_lifecycle_rule.py +0 -0
  234. {files_com-1.6.49 → files_com-1.6.149}/tests/test_user_request.py +0 -0
  235. {files_com-1.6.49 → files_com-1.6.149}/tests/test_user_sftp_client_use.py +0 -0
  236. {files_com-1.6.49 → files_com-1.6.149}/tests/test_web_dav_action_log.py +0 -0
  237. {files_com-1.6.49 → files_com-1.6.149}/tests/test_webhook_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.49
3
+ Version: 1.6.149
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -12,6 +12,12 @@ Dynamic: license-file
12
12
 
13
13
  # Files.com Python Client
14
14
 
15
+ The Files.com Python Client provides a direct, high performance integration to Files.com from applications written in Python.
16
+
17
+ Files.com is the cloud-native, next-gen MFT, SFTP, and secure file-sharing platform that replaces brittle legacy servers with one always-on, secure fabric. Automate mission-critical file flows—across any cloud, protocol, or partner—while supporting human collaboration and eliminating manual work.
18
+
19
+ With universal SFTP, AS2, HTTPS, and 50+ native connectors backed by military-grade encryption, Files.com unifies governance, visibility, and compliance in a single pane of glass.
20
+
15
21
  The content included here should be enough to get started, but please visit our
16
22
  [Developer Documentation Website](https://developers.files.com/python/) for the complete documentation.
17
23
 
@@ -374,6 +380,73 @@ except files_sdk.error.Error as err:
374
380
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
375
381
  ```
376
382
 
383
+ ## Paths
384
+
385
+ Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
386
+ <div></div>
387
+
388
+ ### Capitalization
389
+
390
+ Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
391
+
392
+ For example, all of the following resolve to the same internal path:
393
+
394
+ | Path Variant | Interpreted As |
395
+ |---------------------------------------|------------------------------|
396
+ | `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
397
+ | `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
398
+ | `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
399
+
400
+ This behavior applies across:
401
+ - API requests
402
+ - Folder and file lookup operations
403
+ - Automations and workflows
404
+
405
+ See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
406
+
407
+ The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
408
+ your native file system would be considered the same on Files.com. This is particularly important
409
+ when handling errors related to duplicate file names and when developing tools for folder
410
+ synchronization.
411
+
412
+ ```python title="Compare Case-Insensitive Files and Paths"
413
+ import files_sdk
414
+
415
+ if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
416
+ print("Paths are the same")
417
+ ```
418
+
419
+ ### Slashes
420
+
421
+ All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
422
+
423
+ #### Path Slash Examples
424
+ | Path | Valid? | Notes |
425
+ |-----------------------------------|--------|-------------------------------|
426
+ | `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
427
+ | `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
428
+ | `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
429
+ | `//folder//file.txt` | ❌ | Duplicate separators not allowed |
430
+
431
+ <div></div>
432
+
433
+ ### Unicode Normalization
434
+
435
+ Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
436
+
437
+ For example, the following two paths are treated as equivalent after NFC normalization:
438
+
439
+ | Input | Normalized Form |
440
+ |----------------------------------------|------------------------|
441
+ | `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
442
+ | `docs/Café/Report.txt` | `docs/Café/Report.txt` |
443
+
444
+ - All input must be UTF‑8 encoded.
445
+ - Precomposed and decomposed characters are unified.
446
+ - This affects search, deduplication, and comparisons across SDKs.
447
+
448
+ <div></div>
449
+
377
450
  ## Foreign Language Support
378
451
 
379
452
  The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
@@ -528,12 +601,16 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
528
601
  |`HistoryPermissionRequiredError`| `NotAuthorizedError` |
529
602
  |`InsufficientPermissionForParamsError`| `NotAuthorizedError` |
530
603
  |`InsufficientPermissionForSiteError`| `NotAuthorizedError` |
604
+ |`MoverAccessDeniedError`| `NotAuthorizedError` |
605
+ |`MoverPackageRequiredError`| `NotAuthorizedError` |
531
606
  |`MustAuthenticateWithApiKeyError`| `NotAuthorizedError` |
532
607
  |`NeedAdminPermissionForInboxError`| `NotAuthorizedError` |
533
608
  |`NonAdminsMustQueryByFolderOrPathError`| `NotAuthorizedError` |
534
609
  |`NotAllowedToCreateBundleError`| `NotAuthorizedError` |
610
+ |`NotEnqueuableSyncError`| `NotAuthorizedError` |
535
611
  |`PasswordChangeNotRequiredError`| `NotAuthorizedError` |
536
612
  |`PasswordChangeRequiredError`| `NotAuthorizedError` |
613
+ |`PaymentMethodErrorError`| `NotAuthorizedError` |
537
614
  |`ReadOnlySessionError`| `NotAuthorizedError` |
538
615
  |`ReadPermissionRequiredError`| `NotAuthorizedError` |
539
616
  |`ReauthenticationFailedError`| `NotAuthorizedError` |
@@ -559,9 +636,11 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
559
636
  |`PlanNotFoundError`| `NotFoundError` |
560
637
  |`SiteNotFoundError`| `NotFoundError` |
561
638
  |`UserNotFoundError`| `NotFoundError` |
639
+ |`AgentUnavailableError`| `ProcessingFailureError` |
562
640
  |`AlreadyCompletedError`| `ProcessingFailureError` |
563
641
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
564
642
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
643
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
565
644
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
566
645
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
567
646
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -592,6 +671,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
592
671
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
593
672
  |`InvalidRangeError`| `ProcessingFailureError` |
594
673
  |`InvalidSiteError`| `ProcessingFailureError` |
674
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
595
675
  |`ModelSaveErrorError`| `ProcessingFailureError` |
596
676
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
597
677
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -600,6 +680,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
600
680
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
601
681
  |`ResourceLockedError`| `ProcessingFailureError` |
602
682
  |`SubfolderLockedError`| `ProcessingFailureError` |
683
+ |`SyncInProgressError`| `ProcessingFailureError` |
603
684
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
604
685
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
605
686
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -613,7 +694,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
613
694
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
614
695
  |`TooManyRequestsError`| `RateLimitedError` |
615
696
  |`TooManySharesError`| `RateLimitedError` |
616
- |`AgentUnavailableError`| `ServiceUnavailableError` |
617
697
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
618
698
  |`MigrationInProgressError`| `ServiceUnavailableError` |
619
699
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -671,22 +751,6 @@ except files_sdk.error.Error as err:
671
751
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
672
752
  ```
673
753
 
674
- ## Case Sensitivity
675
-
676
- The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
677
-
678
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
679
- your native file system would be considered the same on Files.com. This is particularly important
680
- when handling errors related to duplicate file names and when developing tools for folder
681
- synchronization.
682
-
683
- ```python title="Compare Case-Insensitive Files and Paths"
684
- import files_sdk
685
-
686
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
687
- print("Paths are the same")
688
- ```
689
-
690
754
  ## Mock Server
691
755
 
692
756
  Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
@@ -1,5 +1,11 @@
1
1
  # Files.com Python Client
2
2
 
3
+ The Files.com Python Client provides a direct, high performance integration to Files.com from applications written in Python.
4
+
5
+ Files.com is the cloud-native, next-gen MFT, SFTP, and secure file-sharing platform that replaces brittle legacy servers with one always-on, secure fabric. Automate mission-critical file flows—across any cloud, protocol, or partner—while supporting human collaboration and eliminating manual work.
6
+
7
+ With universal SFTP, AS2, HTTPS, and 50+ native connectors backed by military-grade encryption, Files.com unifies governance, visibility, and compliance in a single pane of glass.
8
+
3
9
  The content included here should be enough to get started, but please visit our
4
10
  [Developer Documentation Website](https://developers.files.com/python/) for the complete documentation.
5
11
 
@@ -362,6 +368,73 @@ except files_sdk.error.Error as err:
362
368
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
363
369
  ```
364
370
 
371
+ ## Paths
372
+
373
+ Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
374
+ <div></div>
375
+
376
+ ### Capitalization
377
+
378
+ Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
379
+
380
+ For example, all of the following resolve to the same internal path:
381
+
382
+ | Path Variant | Interpreted As |
383
+ |---------------------------------------|------------------------------|
384
+ | `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
385
+ | `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
386
+ | `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
387
+
388
+ This behavior applies across:
389
+ - API requests
390
+ - Folder and file lookup operations
391
+ - Automations and workflows
392
+
393
+ See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
394
+
395
+ The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
396
+ your native file system would be considered the same on Files.com. This is particularly important
397
+ when handling errors related to duplicate file names and when developing tools for folder
398
+ synchronization.
399
+
400
+ ```python title="Compare Case-Insensitive Files and Paths"
401
+ import files_sdk
402
+
403
+ if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
404
+ print("Paths are the same")
405
+ ```
406
+
407
+ ### Slashes
408
+
409
+ All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
410
+
411
+ #### Path Slash Examples
412
+ | Path | Valid? | Notes |
413
+ |-----------------------------------|--------|-------------------------------|
414
+ | `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
415
+ | `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
416
+ | `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
417
+ | `//folder//file.txt` | ❌ | Duplicate separators not allowed |
418
+
419
+ <div></div>
420
+
421
+ ### Unicode Normalization
422
+
423
+ Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
424
+
425
+ For example, the following two paths are treated as equivalent after NFC normalization:
426
+
427
+ | Input | Normalized Form |
428
+ |----------------------------------------|------------------------|
429
+ | `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
430
+ | `docs/Café/Report.txt` | `docs/Café/Report.txt` |
431
+
432
+ - All input must be UTF‑8 encoded.
433
+ - Precomposed and decomposed characters are unified.
434
+ - This affects search, deduplication, and comparisons across SDKs.
435
+
436
+ <div></div>
437
+
365
438
  ## Foreign Language Support
366
439
 
367
440
  The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
@@ -516,12 +589,16 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
516
589
  |`HistoryPermissionRequiredError`| `NotAuthorizedError` |
517
590
  |`InsufficientPermissionForParamsError`| `NotAuthorizedError` |
518
591
  |`InsufficientPermissionForSiteError`| `NotAuthorizedError` |
592
+ |`MoverAccessDeniedError`| `NotAuthorizedError` |
593
+ |`MoverPackageRequiredError`| `NotAuthorizedError` |
519
594
  |`MustAuthenticateWithApiKeyError`| `NotAuthorizedError` |
520
595
  |`NeedAdminPermissionForInboxError`| `NotAuthorizedError` |
521
596
  |`NonAdminsMustQueryByFolderOrPathError`| `NotAuthorizedError` |
522
597
  |`NotAllowedToCreateBundleError`| `NotAuthorizedError` |
598
+ |`NotEnqueuableSyncError`| `NotAuthorizedError` |
523
599
  |`PasswordChangeNotRequiredError`| `NotAuthorizedError` |
524
600
  |`PasswordChangeRequiredError`| `NotAuthorizedError` |
601
+ |`PaymentMethodErrorError`| `NotAuthorizedError` |
525
602
  |`ReadOnlySessionError`| `NotAuthorizedError` |
526
603
  |`ReadPermissionRequiredError`| `NotAuthorizedError` |
527
604
  |`ReauthenticationFailedError`| `NotAuthorizedError` |
@@ -547,9 +624,11 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
547
624
  |`PlanNotFoundError`| `NotFoundError` |
548
625
  |`SiteNotFoundError`| `NotFoundError` |
549
626
  |`UserNotFoundError`| `NotFoundError` |
627
+ |`AgentUnavailableError`| `ProcessingFailureError` |
550
628
  |`AlreadyCompletedError`| `ProcessingFailureError` |
551
629
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
552
630
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
631
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
553
632
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
554
633
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
555
634
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -580,6 +659,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
580
659
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
581
660
  |`InvalidRangeError`| `ProcessingFailureError` |
582
661
  |`InvalidSiteError`| `ProcessingFailureError` |
662
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
583
663
  |`ModelSaveErrorError`| `ProcessingFailureError` |
584
664
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
585
665
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -588,6 +668,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
588
668
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
589
669
  |`ResourceLockedError`| `ProcessingFailureError` |
590
670
  |`SubfolderLockedError`| `ProcessingFailureError` |
671
+ |`SyncInProgressError`| `ProcessingFailureError` |
591
672
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
592
673
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
593
674
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -601,7 +682,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
601
682
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
602
683
  |`TooManyRequestsError`| `RateLimitedError` |
603
684
  |`TooManySharesError`| `RateLimitedError` |
604
- |`AgentUnavailableError`| `ServiceUnavailableError` |
605
685
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
606
686
  |`MigrationInProgressError`| `ServiceUnavailableError` |
607
687
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -659,22 +739,6 @@ except files_sdk.error.Error as err:
659
739
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
660
740
  ```
661
741
 
662
- ## Case Sensitivity
663
-
664
- The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
665
-
666
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
667
- your native file system would be considered the same on Files.com. This is particularly important
668
- when handling errors related to duplicate file names and when developing tools for folder
669
- synchronization.
670
-
671
- ```python title="Compare Case-Insensitive Files and Paths"
672
- import files_sdk
673
-
674
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
675
- print("Paths are the same")
676
- ```
677
-
678
742
  ## Mock Server
679
743
 
680
744
  Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
@@ -0,0 +1 @@
1
+ 1.6.149
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.49
3
+ Version: 1.6.149
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -12,6 +12,12 @@ Dynamic: license-file
12
12
 
13
13
  # Files.com Python Client
14
14
 
15
+ The Files.com Python Client provides a direct, high performance integration to Files.com from applications written in Python.
16
+
17
+ Files.com is the cloud-native, next-gen MFT, SFTP, and secure file-sharing platform that replaces brittle legacy servers with one always-on, secure fabric. Automate mission-critical file flows—across any cloud, protocol, or partner—while supporting human collaboration and eliminating manual work.
18
+
19
+ With universal SFTP, AS2, HTTPS, and 50+ native connectors backed by military-grade encryption, Files.com unifies governance, visibility, and compliance in a single pane of glass.
20
+
15
21
  The content included here should be enough to get started, but please visit our
16
22
  [Developer Documentation Website](https://developers.files.com/python/) for the complete documentation.
17
23
 
@@ -374,6 +380,73 @@ except files_sdk.error.Error as err:
374
380
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
375
381
  ```
376
382
 
383
+ ## Paths
384
+
385
+ Working with paths in Files.com involves several important considerations. Understanding how path comparisons are applied helps developers ensure consistency and accuracy across all interactions with the platform.
386
+ <div></div>
387
+
388
+ ### Capitalization
389
+
390
+ Files.com compares paths in a **case-insensitive** manner. This means path segments are treated as equivalent regardless of letter casing.
391
+
392
+ For example, all of the following resolve to the same internal path:
393
+
394
+ | Path Variant | Interpreted As |
395
+ |---------------------------------------|------------------------------|
396
+ | `Documents/Reports/Q1.pdf` | `documents/reports/q1.pdf` |
397
+ | `documents/reports/q1.PDF` | `documents/reports/q1.pdf` |
398
+ | `DOCUMENTS/REPORTS/Q1.PDF` | `documents/reports/q1.pdf` |
399
+
400
+ This behavior applies across:
401
+ - API requests
402
+ - Folder and file lookup operations
403
+ - Automations and workflows
404
+
405
+ See also: [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/case-sensitivity/)
406
+
407
+ The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
408
+ your native file system would be considered the same on Files.com. This is particularly important
409
+ when handling errors related to duplicate file names and when developing tools for folder
410
+ synchronization.
411
+
412
+ ```python title="Compare Case-Insensitive Files and Paths"
413
+ import files_sdk
414
+
415
+ if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
416
+ print("Paths are the same")
417
+ ```
418
+
419
+ ### Slashes
420
+
421
+ All path parameters in Files.com (API, SDKs, CLI, automations, integrations) must **omit leading and trailing slashes**. Paths are always treated as **absolute and slash-delimited**, so only internal `/` separators are used and never at the start or end of the string.
422
+
423
+ #### Path Slash Examples
424
+ | Path | Valid? | Notes |
425
+ |-----------------------------------|--------|-------------------------------|
426
+ | `folder/subfolder/file.txt` | ✅ | Correct, internal separators only |
427
+ | `/folder/subfolder/file.txt` | ❌ | Leading slash not allowed |
428
+ | `folder/subfolder/file.txt/` | ❌ | Trailing slash not allowed |
429
+ | `//folder//file.txt` | ❌ | Duplicate separators not allowed |
430
+
431
+ <div></div>
432
+
433
+ ### Unicode Normalization
434
+
435
+ Files.com normalizes all paths using [Unicode NFC (Normalization Form C)](https://www.unicode.org/reports/tr15/#Norm_Forms) before comparison. This ensures consistency across different representations of the same characters.
436
+
437
+ For example, the following two paths are treated as equivalent after NFC normalization:
438
+
439
+ | Input | Normalized Form |
440
+ |----------------------------------------|------------------------|
441
+ | `uploads/\u0065\u0301.txt` | `uploads/é.txt` |
442
+ | `docs/Café/Report.txt` | `docs/Café/Report.txt` |
443
+
444
+ - All input must be UTF‑8 encoded.
445
+ - Precomposed and decomposed characters are unified.
446
+ - This affects search, deduplication, and comparisons across SDKs.
447
+
448
+ <div></div>
449
+
377
450
  ## Foreign Language Support
378
451
 
379
452
  The Files.com Python SDK supports localized responses by using the `files_sdk.set_language` configuration method.
@@ -528,12 +601,16 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
528
601
  |`HistoryPermissionRequiredError`| `NotAuthorizedError` |
529
602
  |`InsufficientPermissionForParamsError`| `NotAuthorizedError` |
530
603
  |`InsufficientPermissionForSiteError`| `NotAuthorizedError` |
604
+ |`MoverAccessDeniedError`| `NotAuthorizedError` |
605
+ |`MoverPackageRequiredError`| `NotAuthorizedError` |
531
606
  |`MustAuthenticateWithApiKeyError`| `NotAuthorizedError` |
532
607
  |`NeedAdminPermissionForInboxError`| `NotAuthorizedError` |
533
608
  |`NonAdminsMustQueryByFolderOrPathError`| `NotAuthorizedError` |
534
609
  |`NotAllowedToCreateBundleError`| `NotAuthorizedError` |
610
+ |`NotEnqueuableSyncError`| `NotAuthorizedError` |
535
611
  |`PasswordChangeNotRequiredError`| `NotAuthorizedError` |
536
612
  |`PasswordChangeRequiredError`| `NotAuthorizedError` |
613
+ |`PaymentMethodErrorError`| `NotAuthorizedError` |
537
614
  |`ReadOnlySessionError`| `NotAuthorizedError` |
538
615
  |`ReadPermissionRequiredError`| `NotAuthorizedError` |
539
616
  |`ReauthenticationFailedError`| `NotAuthorizedError` |
@@ -559,9 +636,11 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
559
636
  |`PlanNotFoundError`| `NotFoundError` |
560
637
  |`SiteNotFoundError`| `NotFoundError` |
561
638
  |`UserNotFoundError`| `NotFoundError` |
639
+ |`AgentUnavailableError`| `ProcessingFailureError` |
562
640
  |`AlreadyCompletedError`| `ProcessingFailureError` |
563
641
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
564
642
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
643
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
565
644
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
566
645
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
567
646
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -592,6 +671,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
592
671
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
593
672
  |`InvalidRangeError`| `ProcessingFailureError` |
594
673
  |`InvalidSiteError`| `ProcessingFailureError` |
674
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
595
675
  |`ModelSaveErrorError`| `ProcessingFailureError` |
596
676
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
597
677
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -600,6 +680,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
600
680
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
601
681
  |`ResourceLockedError`| `ProcessingFailureError` |
602
682
  |`SubfolderLockedError`| `ProcessingFailureError` |
683
+ |`SyncInProgressError`| `ProcessingFailureError` |
603
684
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
604
685
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
605
686
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -613,7 +694,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
613
694
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
614
695
  |`TooManyRequestsError`| `RateLimitedError` |
615
696
  |`TooManySharesError`| `RateLimitedError` |
616
- |`AgentUnavailableError`| `ServiceUnavailableError` |
617
697
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
618
698
  |`MigrationInProgressError`| `ServiceUnavailableError` |
619
699
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -671,22 +751,6 @@ except files_sdk.error.Error as err:
671
751
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
672
752
  ```
673
753
 
674
- ## Case Sensitivity
675
-
676
- The Files.com API compares files and paths in a case-insensitive manner. For related documentation see [Case Sensitivity Documentation](https://www.files.com/docs/files-and-folders/file-system-semantics/case-sensitivity).
677
-
678
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
679
- your native file system would be considered the same on Files.com. This is particularly important
680
- when handling errors related to duplicate file names and when developing tools for folder
681
- synchronization.
682
-
683
- ```python title="Compare Case-Insensitive Files and Paths"
684
- import files_sdk
685
-
686
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
687
- print("Paths are the same")
688
- ```
689
-
690
754
  ## Mock Server
691
755
 
692
756
  Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
@@ -40,6 +40,7 @@ files_sdk/models/bundle_notification.py
40
40
  files_sdk/models/bundle_path.py
41
41
  files_sdk/models/bundle_recipient.py
42
42
  files_sdk/models/bundle_registration.py
43
+ files_sdk/models/child_site_management_policy.py
43
44
  files_sdk/models/clickwrap.py
44
45
  files_sdk/models/dns_record.py
45
46
  files_sdk/models/email_incoming_message.py
@@ -66,6 +67,7 @@ files_sdk/models/history_export.py
66
67
  files_sdk/models/history_export_result.py
67
68
  files_sdk/models/holiday_region.py
68
69
  files_sdk/models/image.py
70
+ files_sdk/models/inbound_s3_log.py
69
71
  files_sdk/models/inbox_recipient.py
70
72
  files_sdk/models/inbox_registration.py
71
73
  files_sdk/models/inbox_upload.py
@@ -79,6 +81,7 @@ files_sdk/models/message_comment_reaction.py
79
81
  files_sdk/models/message_reaction.py
80
82
  files_sdk/models/notification.py
81
83
  files_sdk/models/outbound_connection_log.py
84
+ files_sdk/models/partner.py
82
85
  files_sdk/models/payment.py
83
86
  files_sdk/models/payment_line_item.py
84
87
  files_sdk/models/permission.py
@@ -94,6 +97,7 @@ files_sdk/models/remote_server.py
94
97
  files_sdk/models/remote_server_configuration_file.py
95
98
  files_sdk/models/request.py
96
99
  files_sdk/models/restore.py
100
+ files_sdk/models/scim_log.py
97
101
  files_sdk/models/session.py
98
102
  files_sdk/models/settings_change.py
99
103
  files_sdk/models/sftp_action_log.py
@@ -144,6 +148,7 @@ tests/test_bundle_notification.py
144
148
  tests/test_bundle_path.py
145
149
  tests/test_bundle_recipient.py
146
150
  tests/test_bundle_registration.py
151
+ tests/test_child_site_management_policy.py
147
152
  tests/test_clickwrap.py
148
153
  tests/test_connection_adapter.py
149
154
  tests/test_dns_record.py
@@ -171,6 +176,7 @@ tests/test_history_export.py
171
176
  tests/test_history_export_result.py
172
177
  tests/test_holiday_region.py
173
178
  tests/test_image.py
179
+ tests/test_inbound_s3_log.py
174
180
  tests/test_inbox_recipient.py
175
181
  tests/test_inbox_registration.py
176
182
  tests/test_inbox_upload.py
@@ -184,6 +190,7 @@ tests/test_message_comment_reaction.py
184
190
  tests/test_message_reaction.py
185
191
  tests/test_notification.py
186
192
  tests/test_outbound_connection_log.py
193
+ tests/test_partner.py
187
194
  tests/test_path_util.py
188
195
  tests/test_payment.py
189
196
  tests/test_payment_line_item.py
@@ -200,6 +207,7 @@ tests/test_remote_server.py
200
207
  tests/test_remote_server_configuration_file.py
201
208
  tests/test_request.py
202
209
  tests/test_restore.py
210
+ tests/test_scim_log.py
203
211
  tests/test_session.py
204
212
  tests/test_settings_change.py
205
213
  tests/test_sftp_action_log.py
@@ -23,6 +23,7 @@ import files_sdk.models.bundle_notification as bundle_notification
23
23
  import files_sdk.models.bundle_path as bundle_path
24
24
  import files_sdk.models.bundle_recipient as bundle_recipient
25
25
  import files_sdk.models.bundle_registration as bundle_registration
26
+ import files_sdk.models.child_site_management_policy as child_site_management_policy
26
27
  import files_sdk.models.clickwrap as clickwrap
27
28
  import files_sdk.models.dns_record as dns_record
28
29
  import files_sdk.models.email_incoming_message as email_incoming_message
@@ -49,6 +50,7 @@ import files_sdk.models.history_export as history_export
49
50
  import files_sdk.models.history_export_result as history_export_result
50
51
  import files_sdk.models.holiday_region as holiday_region
51
52
  import files_sdk.models.image as image
53
+ import files_sdk.models.inbound_s3_log as inbound_s3_log
52
54
  import files_sdk.models.inbox_recipient as inbox_recipient
53
55
  import files_sdk.models.inbox_registration as inbox_registration
54
56
  import files_sdk.models.inbox_upload as inbox_upload
@@ -62,6 +64,7 @@ import files_sdk.models.message_comment_reaction as message_comment_reaction
62
64
  import files_sdk.models.message_reaction as message_reaction
63
65
  import files_sdk.models.notification as notification
64
66
  import files_sdk.models.outbound_connection_log as outbound_connection_log
67
+ import files_sdk.models.partner as partner
65
68
  import files_sdk.models.payment as payment
66
69
  import files_sdk.models.payment_line_item as payment_line_item
67
70
  import files_sdk.models.permission as permission
@@ -77,6 +80,7 @@ import files_sdk.models.remote_server as remote_server
77
80
  import files_sdk.models.remote_server_configuration_file as remote_server_configuration_file
78
81
  import files_sdk.models.request as request
79
82
  import files_sdk.models.restore as restore
83
+ import files_sdk.models.scim_log as scim_log
80
84
  import files_sdk.models.session as session
81
85
  import files_sdk.models.settings_change as settings_change
82
86
  import files_sdk.models.sftp_action_log as sftp_action_log
@@ -131,6 +135,9 @@ from files_sdk.models.bundle_notification import BundleNotification
131
135
  from files_sdk.models.bundle_path import BundlePath
132
136
  from files_sdk.models.bundle_recipient import BundleRecipient
133
137
  from files_sdk.models.bundle_registration import BundleRegistration
138
+ from files_sdk.models.child_site_management_policy import (
139
+ ChildSiteManagementPolicy,
140
+ )
134
141
  from files_sdk.models.clickwrap import Clickwrap
135
142
  from files_sdk.models.dns_record import DnsRecord
136
143
  from files_sdk.models.email_incoming_message import EmailIncomingMessage
@@ -157,6 +164,7 @@ from files_sdk.models.history_export import HistoryExport
157
164
  from files_sdk.models.history_export_result import HistoryExportResult
158
165
  from files_sdk.models.holiday_region import HolidayRegion
159
166
  from files_sdk.models.image import Image
167
+ from files_sdk.models.inbound_s3_log import InboundS3Log
160
168
  from files_sdk.models.inbox_recipient import InboxRecipient
161
169
  from files_sdk.models.inbox_registration import InboxRegistration
162
170
  from files_sdk.models.inbox_upload import InboxUpload
@@ -170,6 +178,7 @@ from files_sdk.models.message_comment_reaction import MessageCommentReaction
170
178
  from files_sdk.models.message_reaction import MessageReaction
171
179
  from files_sdk.models.notification import Notification
172
180
  from files_sdk.models.outbound_connection_log import OutboundConnectionLog
181
+ from files_sdk.models.partner import Partner
173
182
  from files_sdk.models.payment import Payment
174
183
  from files_sdk.models.payment_line_item import PaymentLineItem
175
184
  from files_sdk.models.permission import Permission
@@ -187,6 +196,7 @@ from files_sdk.models.remote_server_configuration_file import (
187
196
  )
188
197
  from files_sdk.models.request import Request
189
198
  from files_sdk.models.restore import Restore
199
+ from files_sdk.models.scim_log import ScimLog
190
200
  from files_sdk.models.session import Session
191
201
  from files_sdk.models.settings_change import SettingsChange
192
202
  from files_sdk.models.sftp_action_log import SftpActionLog
@@ -223,7 +233,7 @@ session_id = None
223
233
  source_ip = None
224
234
  base_url = "https://app.files.com"
225
235
  base_path = "api/rest/v1"
226
- version = "1.6.49"
236
+ version = "1.6.149"
227
237
 
228
238
  __version__ = version
229
239