files-com 1.6.31__tar.gz → 1.6.173__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.

Potentially problematic release.


This version of files-com might be problematic. Click here for more details.

Files changed (257) hide show
  1. {files_com-1.6.31/files_com.egg-info → files_com-1.6.173}/PKG-INFO +82 -19
  2. {files_com-1.6.31 → files_com-1.6.173}/README.md +81 -18
  3. files_com-1.6.173/_VERSION +1 -0
  4. {files_com-1.6.31 → files_com-1.6.173/files_com.egg-info}/PKG-INFO +82 -19
  5. {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/SOURCES.txt +17 -1
  6. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/__init__.py +19 -1
  7. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/error.py +113 -23
  8. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/__init__.py +10 -0
  9. files_com-1.6.173/files_sdk/models/agent_push_update.py +44 -0
  10. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/api_key.py +10 -0
  11. files_com-1.6.173/files_sdk/models/api_request_log.py +105 -0
  12. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_incoming_message.py +1 -8
  13. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_outgoing_message.py +1 -8
  14. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_partner.py +6 -0
  15. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/automation.py +72 -7
  16. files_com-1.6.173/files_sdk/models/automation_log.py +94 -0
  17. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/automation_run.py +2 -1
  18. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/behavior.py +13 -15
  19. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle.py +8 -0
  20. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_action.py +5 -1
  21. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_registration.py +1 -1
  22. files_com-1.6.173/files_sdk/models/child_site_management_policy.py +278 -0
  23. files_com-1.6.173/files_sdk/models/email_log.py +84 -0
  24. files_com-1.6.173/files_sdk/models/exavault_api_request_log.py +102 -0
  25. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file.py +10 -2
  26. files_com-1.6.173/files_sdk/models/file_migration_log.py +88 -0
  27. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/folder.py +13 -3
  28. files_com-1.6.173/files_sdk/models/ftp_action_log.py +104 -0
  29. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/gpg_key.py +81 -20
  30. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/group.py +24 -2
  31. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history_export.py +4 -4
  32. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history_export_result.py +2 -2
  33. files_com-1.6.173/files_sdk/models/inbound_s3_log.py +95 -0
  34. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_registration.py +1 -1
  35. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/invoice_line_item.py +5 -0
  36. files_com-1.6.173/files_sdk/models/key_lifecycle_rule.py +243 -0
  37. files_com-1.6.173/files_sdk/models/outbound_connection_log.py +105 -0
  38. files_com-1.6.173/files_sdk/models/partner.py +296 -0
  39. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/permission.py +10 -2
  40. files_com-1.6.173/files_sdk/models/public_hosting_request_log.py +101 -0
  41. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/public_key.py +7 -3
  42. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_mount_backend.py +50 -79
  43. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_server.py +130 -90
  44. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_server_configuration_file.py +1 -0
  45. files_com-1.6.173/files_sdk/models/remote_server_credential.py +869 -0
  46. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/restore.py +20 -0
  47. files_com-1.6.173/files_sdk/models/scim_log.py +88 -0
  48. files_com-1.6.173/files_sdk/models/sftp_action_log.py +108 -0
  49. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/siem_http_destination.py +98 -19
  50. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/site.py +41 -24
  51. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sso_strategy.py +2 -1
  52. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sync.py +102 -10
  53. files_com-1.6.173/files_sdk/models/sync_log.py +86 -0
  54. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sync_run.py +32 -17
  55. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user.py +79 -2
  56. files_com-1.6.173/files_sdk/models/user_cipher_use.py +91 -0
  57. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_lifecycle_rule.py +81 -40
  58. files_com-1.6.173/files_sdk/models/web_dav_action_log.py +104 -0
  59. files_com-1.6.173/files_sdk/models/workspace.py +202 -0
  60. {files_com-1.6.31 → files_com-1.6.173}/pyproject.toml +1 -1
  61. files_com-1.6.173/tests/test_agent_push_update.py +14 -0
  62. {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_errors.py +6 -6
  63. files_com-1.6.173/tests/test_child_site_management_policy.py +68 -0
  64. files_com-1.6.173/tests/test_inbound_s3_log.py +18 -0
  65. files_com-1.6.173/tests/test_key_lifecycle_rule.py +65 -0
  66. files_com-1.6.173/tests/test_partner.py +68 -0
  67. {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_mount_backend.py +0 -6
  68. {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_server.py +16 -0
  69. files_com-1.6.173/tests/test_remote_server_credential.py +65 -0
  70. files_com-1.6.173/tests/test_scim_log.py +26 -0
  71. {files_com-1.6.31 → files_com-1.6.173}/tests/test_siem_http_destination.py +0 -1
  72. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync.py +15 -3
  73. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync_run.py +1 -4
  74. {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_lifecycle_rule.py +1 -12
  75. files_com-1.6.173/tests/test_workspace.py +65 -0
  76. files_com-1.6.31/_VERSION +0 -1
  77. files_com-1.6.31/files_sdk/models/api_request_log.py +0 -105
  78. files_com-1.6.31/files_sdk/models/automation_log.py +0 -94
  79. files_com-1.6.31/files_sdk/models/email_log.py +0 -91
  80. files_com-1.6.31/files_sdk/models/exavault_api_request_log.py +0 -102
  81. files_com-1.6.31/files_sdk/models/file_migration_log.py +0 -95
  82. files_com-1.6.31/files_sdk/models/ftp_action_log.py +0 -104
  83. files_com-1.6.31/files_sdk/models/outbound_connection_log.py +0 -105
  84. files_com-1.6.31/files_sdk/models/public_hosting_request_log.py +0 -101
  85. files_com-1.6.31/files_sdk/models/sftp_action_log.py +0 -108
  86. files_com-1.6.31/files_sdk/models/sync_log.py +0 -92
  87. files_com-1.6.31/files_sdk/models/user_cipher_use.py +0 -68
  88. files_com-1.6.31/files_sdk/models/web_dav_action_log.py +0 -104
  89. {files_com-1.6.31 → files_com-1.6.173}/LICENSE +0 -0
  90. {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/dependency_links.txt +0 -0
  91. {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/requires.txt +0 -0
  92. {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/top_level.txt +0 -0
  93. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/api.py +0 -0
  94. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/api_client.py +0 -0
  95. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/list_obj.py +0 -0
  96. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/account_line_item.py +0 -0
  97. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action.py +0 -0
  98. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action_notification_export.py +0 -0
  99. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action_notification_export_result.py +0 -0
  100. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/app.py +0 -0
  101. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_station.py +0 -0
  102. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/auto.py +0 -0
  103. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bandwidth_snapshot.py +0 -0
  104. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_download.py +0 -0
  105. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_notification.py +0 -0
  106. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_path.py +0 -0
  107. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_recipient.py +0 -0
  108. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/clickwrap.py +0 -0
  109. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/dns_record.py +0 -0
  110. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/email_incoming_message.py +0 -0
  111. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/errors.py +0 -0
  112. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/external_event.py +0 -0
  113. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_action.py +0 -0
  114. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_comment.py +0 -0
  115. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_comment_reaction.py +0 -0
  116. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_migration.py +0 -0
  117. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_upload_part.py +0 -0
  118. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/form_field.py +0 -0
  119. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/form_field_set.py +0 -0
  120. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/group_user.py +0 -0
  121. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history.py +0 -0
  122. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/holiday_region.py +0 -0
  123. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/image.py +0 -0
  124. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_recipient.py +0 -0
  125. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_upload.py +0 -0
  126. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/invoice.py +0 -0
  127. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/ip_address.py +0 -0
  128. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/lock.py +0 -0
  129. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message.py +0 -0
  130. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_comment.py +0 -0
  131. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_comment_reaction.py +0 -0
  132. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_reaction.py +0 -0
  133. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/notification.py +0 -0
  134. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/payment.py +0 -0
  135. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/payment_line_item.py +0 -0
  136. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/preview.py +0 -0
  137. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/priority.py +0 -0
  138. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/project.py +0 -0
  139. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/public_ip_address.py +0 -0
  140. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  141. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/request.py +0 -0
  142. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/session.py +0 -0
  143. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/settings_change.py +0 -0
  144. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sftp_host_key.py +0 -0
  145. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/share_group.py +0 -0
  146. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/share_group_member.py +0 -0
  147. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/snapshot.py +0 -0
  148. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/status.py +0 -0
  149. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/style.py +0 -0
  150. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  151. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_daily_snapshot.py +0 -0
  152. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_snapshot.py +0 -0
  153. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_request.py +0 -0
  154. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_sftp_client_use.py +0 -0
  155. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/webhook_test.py +0 -0
  156. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/path_util.py +0 -0
  157. {files_com-1.6.31 → files_com-1.6.173}/files_sdk/util.py +0 -0
  158. {files_com-1.6.31 → files_com-1.6.173}/setup.cfg +0 -0
  159. {files_com-1.6.31 → files_com-1.6.173}/tests/test_account_line_item.py +0 -0
  160. {files_com-1.6.31 → files_com-1.6.173}/tests/test_action.py +0 -0
  161. {files_com-1.6.31 → files_com-1.6.173}/tests/test_action_notification_export.py +0 -0
  162. {files_com-1.6.31 → files_com-1.6.173}/tests/test_action_notification_export_result.py +0 -0
  163. {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_key.py +0 -0
  164. {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_request_log.py +0 -0
  165. {files_com-1.6.31 → files_com-1.6.173}/tests/test_app.py +0 -0
  166. {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_incoming_message.py +0 -0
  167. {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_outgoing_message.py +0 -0
  168. {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_partner.py +0 -0
  169. {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_station.py +0 -0
  170. {files_com-1.6.31 → files_com-1.6.173}/tests/test_auto.py +0 -0
  171. {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation.py +0 -0
  172. {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation_log.py +0 -0
  173. {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation_run.py +0 -0
  174. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bandwidth_snapshot.py +0 -0
  175. {files_com-1.6.31 → files_com-1.6.173}/tests/test_behavior.py +0 -0
  176. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle.py +0 -0
  177. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_action.py +0 -0
  178. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_download.py +0 -0
  179. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_notification.py +0 -0
  180. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_path.py +0 -0
  181. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_recipient.py +0 -0
  182. {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_registration.py +0 -0
  183. {files_com-1.6.31 → files_com-1.6.173}/tests/test_clickwrap.py +0 -0
  184. {files_com-1.6.31 → files_com-1.6.173}/tests/test_connection_adapter.py +0 -0
  185. {files_com-1.6.31 → files_com-1.6.173}/tests/test_dns_record.py +0 -0
  186. {files_com-1.6.31 → files_com-1.6.173}/tests/test_email_incoming_message.py +0 -0
  187. {files_com-1.6.31 → files_com-1.6.173}/tests/test_email_log.py +0 -0
  188. {files_com-1.6.31 → files_com-1.6.173}/tests/test_errors.py +0 -0
  189. {files_com-1.6.31 → files_com-1.6.173}/tests/test_exavault_api_request_log.py +0 -0
  190. {files_com-1.6.31 → files_com-1.6.173}/tests/test_external_event.py +0 -0
  191. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file.py +0 -0
  192. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_action.py +0 -0
  193. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_comment.py +0 -0
  194. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_comment_reaction.py +0 -0
  195. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_migration.py +0 -0
  196. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_migration_log.py +0 -0
  197. {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_upload_part.py +0 -0
  198. {files_com-1.6.31 → files_com-1.6.173}/tests/test_folder.py +0 -0
  199. {files_com-1.6.31 → files_com-1.6.173}/tests/test_form_field.py +0 -0
  200. {files_com-1.6.31 → files_com-1.6.173}/tests/test_form_field_set.py +0 -0
  201. {files_com-1.6.31 → files_com-1.6.173}/tests/test_ftp_action_log.py +0 -0
  202. {files_com-1.6.31 → files_com-1.6.173}/tests/test_gpg_key.py +0 -0
  203. {files_com-1.6.31 → files_com-1.6.173}/tests/test_group.py +0 -0
  204. {files_com-1.6.31 → files_com-1.6.173}/tests/test_group_user.py +0 -0
  205. {files_com-1.6.31 → files_com-1.6.173}/tests/test_history.py +0 -0
  206. {files_com-1.6.31 → files_com-1.6.173}/tests/test_history_export.py +0 -0
  207. {files_com-1.6.31 → files_com-1.6.173}/tests/test_history_export_result.py +0 -0
  208. {files_com-1.6.31 → files_com-1.6.173}/tests/test_holiday_region.py +0 -0
  209. {files_com-1.6.31 → files_com-1.6.173}/tests/test_image.py +0 -0
  210. {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_recipient.py +0 -0
  211. {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_registration.py +0 -0
  212. {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_upload.py +0 -0
  213. {files_com-1.6.31 → files_com-1.6.173}/tests/test_invoice.py +0 -0
  214. {files_com-1.6.31 → files_com-1.6.173}/tests/test_invoice_line_item.py +0 -0
  215. {files_com-1.6.31 → files_com-1.6.173}/tests/test_ip_address.py +0 -0
  216. {files_com-1.6.31 → files_com-1.6.173}/tests/test_lock.py +0 -0
  217. {files_com-1.6.31 → files_com-1.6.173}/tests/test_message.py +0 -0
  218. {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_comment.py +0 -0
  219. {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_comment_reaction.py +0 -0
  220. {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_reaction.py +0 -0
  221. {files_com-1.6.31 → files_com-1.6.173}/tests/test_notification.py +0 -0
  222. {files_com-1.6.31 → files_com-1.6.173}/tests/test_outbound_connection_log.py +0 -0
  223. {files_com-1.6.31 → files_com-1.6.173}/tests/test_path_util.py +0 -0
  224. {files_com-1.6.31 → files_com-1.6.173}/tests/test_payment.py +0 -0
  225. {files_com-1.6.31 → files_com-1.6.173}/tests/test_payment_line_item.py +0 -0
  226. {files_com-1.6.31 → files_com-1.6.173}/tests/test_permission.py +0 -0
  227. {files_com-1.6.31 → files_com-1.6.173}/tests/test_preview.py +0 -0
  228. {files_com-1.6.31 → files_com-1.6.173}/tests/test_priority.py +0 -0
  229. {files_com-1.6.31 → files_com-1.6.173}/tests/test_project.py +0 -0
  230. {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_hosting_request_log.py +0 -0
  231. {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_ip_address.py +0 -0
  232. {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_key.py +0 -0
  233. {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_bandwidth_snapshot.py +0 -0
  234. {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_server_configuration_file.py +0 -0
  235. {files_com-1.6.31 → files_com-1.6.173}/tests/test_request.py +0 -0
  236. {files_com-1.6.31 → files_com-1.6.173}/tests/test_restore.py +0 -0
  237. {files_com-1.6.31 → files_com-1.6.173}/tests/test_session.py +0 -0
  238. {files_com-1.6.31 → files_com-1.6.173}/tests/test_settings_change.py +0 -0
  239. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sftp_action_log.py +0 -0
  240. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sftp_host_key.py +0 -0
  241. {files_com-1.6.31 → files_com-1.6.173}/tests/test_share_group.py +0 -0
  242. {files_com-1.6.31 → files_com-1.6.173}/tests/test_share_group_member.py +0 -0
  243. {files_com-1.6.31 → files_com-1.6.173}/tests/test_site.py +0 -0
  244. {files_com-1.6.31 → files_com-1.6.173}/tests/test_snapshot.py +0 -0
  245. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sso_strategy.py +0 -0
  246. {files_com-1.6.31 → files_com-1.6.173}/tests/test_status.py +0 -0
  247. {files_com-1.6.31 → files_com-1.6.173}/tests/test_style.py +0 -0
  248. {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync_log.py +0 -0
  249. {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_by_top_level_dir.py +0 -0
  250. {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_daily_snapshot.py +0 -0
  251. {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_snapshot.py +0 -0
  252. {files_com-1.6.31 → files_com-1.6.173}/tests/test_user.py +0 -0
  253. {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_cipher_use.py +0 -0
  254. {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_request.py +0 -0
  255. {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_sftp_client_use.py +0 -0
  256. {files_com-1.6.31 → files_com-1.6.173}/tests/test_web_dav_action_log.py +0 -0
  257. {files_com-1.6.31 → files_com-1.6.173}/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.31
3
+ Version: 1.6.173
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` |
@@ -553,16 +630,17 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
553
630
  |`CodeNotFoundError`| `NotFoundError` |
554
631
  |`FileNotFoundError`| `NotFoundError` |
555
632
  |`FileUploadNotFoundError`| `NotFoundError` |
556
- |`FolderNotFoundError`| `NotFoundError` |
557
633
  |`GroupNotFoundError`| `NotFoundError` |
558
634
  |`InboxNotFoundError`| `NotFoundError` |
559
635
  |`NestedNotFoundError`| `NotFoundError` |
560
636
  |`PlanNotFoundError`| `NotFoundError` |
561
637
  |`SiteNotFoundError`| `NotFoundError` |
562
638
  |`UserNotFoundError`| `NotFoundError` |
639
+ |`AgentUnavailableError`| `ProcessingFailureError` |
563
640
  |`AlreadyCompletedError`| `ProcessingFailureError` |
564
641
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
565
642
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
643
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
566
644
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
567
645
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
568
646
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -593,6 +671,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
593
671
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
594
672
  |`InvalidRangeError`| `ProcessingFailureError` |
595
673
  |`InvalidSiteError`| `ProcessingFailureError` |
674
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
596
675
  |`ModelSaveErrorError`| `ProcessingFailureError` |
597
676
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
598
677
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -601,6 +680,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
601
680
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
602
681
  |`ResourceLockedError`| `ProcessingFailureError` |
603
682
  |`SubfolderLockedError`| `ProcessingFailureError` |
683
+ |`SyncInProgressError`| `ProcessingFailureError` |
604
684
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
605
685
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
606
686
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -614,7 +694,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
614
694
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
615
695
  |`TooManyRequestsError`| `RateLimitedError` |
616
696
  |`TooManySharesError`| `RateLimitedError` |
617
- |`AgentUnavailableError`| `ServiceUnavailableError` |
618
697
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
619
698
  |`MigrationInProgressError`| `ServiceUnavailableError` |
620
699
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -672,22 +751,6 @@ except files_sdk.error.Error as err:
672
751
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
673
752
  ```
674
753
 
675
- ## Case Sensitivity
676
-
677
- 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).
678
-
679
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
680
- your native file system would be considered the same on Files.com. This is particularly important
681
- when handling errors related to duplicate file names and when developing tools for folder
682
- synchronization.
683
-
684
- ```python title="Compare Case-Insensitive Files and Paths"
685
- import files_sdk
686
-
687
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
688
- print("Paths are the same")
689
- ```
690
-
691
754
  ## Mock Server
692
755
 
693
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` |
@@ -541,16 +618,17 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
541
618
  |`CodeNotFoundError`| `NotFoundError` |
542
619
  |`FileNotFoundError`| `NotFoundError` |
543
620
  |`FileUploadNotFoundError`| `NotFoundError` |
544
- |`FolderNotFoundError`| `NotFoundError` |
545
621
  |`GroupNotFoundError`| `NotFoundError` |
546
622
  |`InboxNotFoundError`| `NotFoundError` |
547
623
  |`NestedNotFoundError`| `NotFoundError` |
548
624
  |`PlanNotFoundError`| `NotFoundError` |
549
625
  |`SiteNotFoundError`| `NotFoundError` |
550
626
  |`UserNotFoundError`| `NotFoundError` |
627
+ |`AgentUnavailableError`| `ProcessingFailureError` |
551
628
  |`AlreadyCompletedError`| `ProcessingFailureError` |
552
629
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
553
630
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
631
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
554
632
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
555
633
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
556
634
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -581,6 +659,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
581
659
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
582
660
  |`InvalidRangeError`| `ProcessingFailureError` |
583
661
  |`InvalidSiteError`| `ProcessingFailureError` |
662
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
584
663
  |`ModelSaveErrorError`| `ProcessingFailureError` |
585
664
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
586
665
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -589,6 +668,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
589
668
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
590
669
  |`ResourceLockedError`| `ProcessingFailureError` |
591
670
  |`SubfolderLockedError`| `ProcessingFailureError` |
671
+ |`SyncInProgressError`| `ProcessingFailureError` |
592
672
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
593
673
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
594
674
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -602,7 +682,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
602
682
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
603
683
  |`TooManyRequestsError`| `RateLimitedError` |
604
684
  |`TooManySharesError`| `RateLimitedError` |
605
- |`AgentUnavailableError`| `ServiceUnavailableError` |
606
685
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
607
686
  |`MigrationInProgressError`| `ServiceUnavailableError` |
608
687
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -660,22 +739,6 @@ except files_sdk.error.Error as err:
660
739
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
661
740
  ```
662
741
 
663
- ## Case Sensitivity
664
-
665
- 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).
666
-
667
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
668
- your native file system would be considered the same on Files.com. This is particularly important
669
- when handling errors related to duplicate file names and when developing tools for folder
670
- synchronization.
671
-
672
- ```python title="Compare Case-Insensitive Files and Paths"
673
- import files_sdk
674
-
675
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
676
- print("Paths are the same")
677
- ```
678
-
679
742
  ## Mock Server
680
743
 
681
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.173
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.31
3
+ Version: 1.6.173
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` |
@@ -553,16 +630,17 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
553
630
  |`CodeNotFoundError`| `NotFoundError` |
554
631
  |`FileNotFoundError`| `NotFoundError` |
555
632
  |`FileUploadNotFoundError`| `NotFoundError` |
556
- |`FolderNotFoundError`| `NotFoundError` |
557
633
  |`GroupNotFoundError`| `NotFoundError` |
558
634
  |`InboxNotFoundError`| `NotFoundError` |
559
635
  |`NestedNotFoundError`| `NotFoundError` |
560
636
  |`PlanNotFoundError`| `NotFoundError` |
561
637
  |`SiteNotFoundError`| `NotFoundError` |
562
638
  |`UserNotFoundError`| `NotFoundError` |
639
+ |`AgentUnavailableError`| `ProcessingFailureError` |
563
640
  |`AlreadyCompletedError`| `ProcessingFailureError` |
564
641
  |`AutomationCannotBeRunManuallyError`| `ProcessingFailureError` |
565
642
  |`BehaviorNotAllowedOnRemoteServerError`| `ProcessingFailureError` |
643
+ |`BufferedUploadDisabledForThisDestinationError`| `ProcessingFailureError` |
566
644
  |`BundleOnlyAllowsPreviewsError`| `ProcessingFailureError` |
567
645
  |`BundleOperationRequiresSubfolderError`| `ProcessingFailureError` |
568
646
  |`CouldNotCreateParentError`| `ProcessingFailureError` |
@@ -593,6 +671,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
593
671
  |`InvalidPriorityColorError`| `ProcessingFailureError` |
594
672
  |`InvalidRangeError`| `ProcessingFailureError` |
595
673
  |`InvalidSiteError`| `ProcessingFailureError` |
674
+ |`MetadataNotSupportedOnRemotesError`| `ProcessingFailureError` |
596
675
  |`ModelSaveErrorError`| `ProcessingFailureError` |
597
676
  |`MultipleProcessingErrorsError`| `ProcessingFailureError` |
598
677
  |`PathTooLongError`| `ProcessingFailureError` |
@@ -601,6 +680,7 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
601
680
  |`ResourceBelongsToParentSiteError`| `ProcessingFailureError` |
602
681
  |`ResourceLockedError`| `ProcessingFailureError` |
603
682
  |`SubfolderLockedError`| `ProcessingFailureError` |
683
+ |`SyncInProgressError`| `ProcessingFailureError` |
604
684
  |`TwoFactorAuthenticationCodeAlreadySentError`| `ProcessingFailureError` |
605
685
  |`TwoFactorAuthenticationCountryBlacklistedError`| `ProcessingFailureError` |
606
686
  |`TwoFactorAuthenticationGeneralErrorError`| `ProcessingFailureError` |
@@ -614,7 +694,6 @@ files_sdk.error.FolderAdminPermissionRequiredError -> files_sdk.error.NotAuthori
614
694
  |`TooManyLoginAttemptsError`| `RateLimitedError` |
615
695
  |`TooManyRequestsError`| `RateLimitedError` |
616
696
  |`TooManySharesError`| `RateLimitedError` |
617
- |`AgentUnavailableError`| `ServiceUnavailableError` |
618
697
  |`AutomationsUnavailableError`| `ServiceUnavailableError` |
619
698
  |`MigrationInProgressError`| `ServiceUnavailableError` |
620
699
  |`SiteDisabledError`| `ServiceUnavailableError` |
@@ -672,22 +751,6 @@ except files_sdk.error.Error as err:
672
751
  print(f"Unknown Error Occurred ({type(err).__name__}):", err)
673
752
  ```
674
753
 
675
- ## Case Sensitivity
676
-
677
- 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).
678
-
679
- The `path_util.is_same` function in the Files.com SDK is designed to help you determine if two paths on
680
- your native file system would be considered the same on Files.com. This is particularly important
681
- when handling errors related to duplicate file names and when developing tools for folder
682
- synchronization.
683
-
684
- ```python title="Compare Case-Insensitive Files and Paths"
685
- import files_sdk
686
-
687
- if files_sdk.path_util.is_same("Fïłèńämê.Txt", "filename.txt"):
688
- print("Paths are the same")
689
- ```
690
-
691
754
  ## Mock Server
692
755
 
693
756
  Files.com publishes a Files.com API server, which is useful for testing your use of the Files.com
@@ -20,6 +20,7 @@ files_sdk/models/account_line_item.py
20
20
  files_sdk/models/action.py
21
21
  files_sdk/models/action_notification_export.py
22
22
  files_sdk/models/action_notification_export_result.py
23
+ files_sdk/models/agent_push_update.py
23
24
  files_sdk/models/api_key.py
24
25
  files_sdk/models/api_request_log.py
25
26
  files_sdk/models/app.py
@@ -40,6 +41,7 @@ files_sdk/models/bundle_notification.py
40
41
  files_sdk/models/bundle_path.py
41
42
  files_sdk/models/bundle_recipient.py
42
43
  files_sdk/models/bundle_registration.py
44
+ files_sdk/models/child_site_management_policy.py
43
45
  files_sdk/models/clickwrap.py
44
46
  files_sdk/models/dns_record.py
45
47
  files_sdk/models/email_incoming_message.py
@@ -66,12 +68,14 @@ files_sdk/models/history_export.py
66
68
  files_sdk/models/history_export_result.py
67
69
  files_sdk/models/holiday_region.py
68
70
  files_sdk/models/image.py
71
+ files_sdk/models/inbound_s3_log.py
69
72
  files_sdk/models/inbox_recipient.py
70
73
  files_sdk/models/inbox_registration.py
71
74
  files_sdk/models/inbox_upload.py
72
75
  files_sdk/models/invoice.py
73
76
  files_sdk/models/invoice_line_item.py
74
77
  files_sdk/models/ip_address.py
78
+ files_sdk/models/key_lifecycle_rule.py
75
79
  files_sdk/models/lock.py
76
80
  files_sdk/models/message.py
77
81
  files_sdk/models/message_comment.py
@@ -79,6 +83,7 @@ files_sdk/models/message_comment_reaction.py
79
83
  files_sdk/models/message_reaction.py
80
84
  files_sdk/models/notification.py
81
85
  files_sdk/models/outbound_connection_log.py
86
+ files_sdk/models/partner.py
82
87
  files_sdk/models/payment.py
83
88
  files_sdk/models/payment_line_item.py
84
89
  files_sdk/models/permission.py
@@ -92,8 +97,10 @@ files_sdk/models/remote_bandwidth_snapshot.py
92
97
  files_sdk/models/remote_mount_backend.py
93
98
  files_sdk/models/remote_server.py
94
99
  files_sdk/models/remote_server_configuration_file.py
100
+ files_sdk/models/remote_server_credential.py
95
101
  files_sdk/models/request.py
96
102
  files_sdk/models/restore.py
103
+ files_sdk/models/scim_log.py
97
104
  files_sdk/models/session.py
98
105
  files_sdk/models/settings_change.py
99
106
  files_sdk/models/sftp_action_log.py
@@ -119,10 +126,12 @@ files_sdk/models/user_request.py
119
126
  files_sdk/models/user_sftp_client_use.py
120
127
  files_sdk/models/web_dav_action_log.py
121
128
  files_sdk/models/webhook_test.py
129
+ files_sdk/models/workspace.py
122
130
  tests/test_account_line_item.py
123
131
  tests/test_action.py
124
132
  tests/test_action_notification_export.py
125
133
  tests/test_action_notification_export_result.py
134
+ tests/test_agent_push_update.py
126
135
  tests/test_api_errors.py
127
136
  tests/test_api_key.py
128
137
  tests/test_api_request_log.py
@@ -144,6 +153,7 @@ tests/test_bundle_notification.py
144
153
  tests/test_bundle_path.py
145
154
  tests/test_bundle_recipient.py
146
155
  tests/test_bundle_registration.py
156
+ tests/test_child_site_management_policy.py
147
157
  tests/test_clickwrap.py
148
158
  tests/test_connection_adapter.py
149
159
  tests/test_dns_record.py
@@ -171,12 +181,14 @@ tests/test_history_export.py
171
181
  tests/test_history_export_result.py
172
182
  tests/test_holiday_region.py
173
183
  tests/test_image.py
184
+ tests/test_inbound_s3_log.py
174
185
  tests/test_inbox_recipient.py
175
186
  tests/test_inbox_registration.py
176
187
  tests/test_inbox_upload.py
177
188
  tests/test_invoice.py
178
189
  tests/test_invoice_line_item.py
179
190
  tests/test_ip_address.py
191
+ tests/test_key_lifecycle_rule.py
180
192
  tests/test_lock.py
181
193
  tests/test_message.py
182
194
  tests/test_message_comment.py
@@ -184,6 +196,7 @@ tests/test_message_comment_reaction.py
184
196
  tests/test_message_reaction.py
185
197
  tests/test_notification.py
186
198
  tests/test_outbound_connection_log.py
199
+ tests/test_partner.py
187
200
  tests/test_path_util.py
188
201
  tests/test_payment.py
189
202
  tests/test_payment_line_item.py
@@ -198,8 +211,10 @@ tests/test_remote_bandwidth_snapshot.py
198
211
  tests/test_remote_mount_backend.py
199
212
  tests/test_remote_server.py
200
213
  tests/test_remote_server_configuration_file.py
214
+ tests/test_remote_server_credential.py
201
215
  tests/test_request.py
202
216
  tests/test_restore.py
217
+ tests/test_scim_log.py
203
218
  tests/test_session.py
204
219
  tests/test_settings_change.py
205
220
  tests/test_sftp_action_log.py
@@ -224,4 +239,5 @@ tests/test_user_lifecycle_rule.py
224
239
  tests/test_user_request.py
225
240
  tests/test_user_sftp_client_use.py
226
241
  tests/test_web_dav_action_log.py
227
- tests/test_webhook_test.py
242
+ tests/test_webhook_test.py
243
+ tests/test_workspace.py