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_com-1.6.31/files_com.egg-info → files_com-1.6.173}/PKG-INFO +82 -19
- {files_com-1.6.31 → files_com-1.6.173}/README.md +81 -18
- files_com-1.6.173/_VERSION +1 -0
- {files_com-1.6.31 → files_com-1.6.173/files_com.egg-info}/PKG-INFO +82 -19
- {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/SOURCES.txt +17 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/__init__.py +19 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/error.py +113 -23
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/__init__.py +10 -0
- files_com-1.6.173/files_sdk/models/agent_push_update.py +44 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/api_key.py +10 -0
- files_com-1.6.173/files_sdk/models/api_request_log.py +105 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_incoming_message.py +1 -8
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_outgoing_message.py +1 -8
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_partner.py +6 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/automation.py +72 -7
- files_com-1.6.173/files_sdk/models/automation_log.py +94 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/automation_run.py +2 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/behavior.py +13 -15
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle.py +8 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_action.py +5 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_registration.py +1 -1
- files_com-1.6.173/files_sdk/models/child_site_management_policy.py +278 -0
- files_com-1.6.173/files_sdk/models/email_log.py +84 -0
- files_com-1.6.173/files_sdk/models/exavault_api_request_log.py +102 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file.py +10 -2
- files_com-1.6.173/files_sdk/models/file_migration_log.py +88 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/folder.py +13 -3
- files_com-1.6.173/files_sdk/models/ftp_action_log.py +104 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/gpg_key.py +81 -20
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/group.py +24 -2
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history_export.py +4 -4
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history_export_result.py +2 -2
- files_com-1.6.173/files_sdk/models/inbound_s3_log.py +95 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_registration.py +1 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/invoice_line_item.py +5 -0
- files_com-1.6.173/files_sdk/models/key_lifecycle_rule.py +243 -0
- files_com-1.6.173/files_sdk/models/outbound_connection_log.py +105 -0
- files_com-1.6.173/files_sdk/models/partner.py +296 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/permission.py +10 -2
- files_com-1.6.173/files_sdk/models/public_hosting_request_log.py +101 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/public_key.py +7 -3
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_mount_backend.py +50 -79
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_server.py +130 -90
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_server_configuration_file.py +1 -0
- files_com-1.6.173/files_sdk/models/remote_server_credential.py +869 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/restore.py +20 -0
- files_com-1.6.173/files_sdk/models/scim_log.py +88 -0
- files_com-1.6.173/files_sdk/models/sftp_action_log.py +108 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/siem_http_destination.py +98 -19
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/site.py +41 -24
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sso_strategy.py +2 -1
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sync.py +102 -10
- files_com-1.6.173/files_sdk/models/sync_log.py +86 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sync_run.py +32 -17
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user.py +79 -2
- files_com-1.6.173/files_sdk/models/user_cipher_use.py +91 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_lifecycle_rule.py +81 -40
- files_com-1.6.173/files_sdk/models/web_dav_action_log.py +104 -0
- files_com-1.6.173/files_sdk/models/workspace.py +202 -0
- {files_com-1.6.31 → files_com-1.6.173}/pyproject.toml +1 -1
- files_com-1.6.173/tests/test_agent_push_update.py +14 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_errors.py +6 -6
- files_com-1.6.173/tests/test_child_site_management_policy.py +68 -0
- files_com-1.6.173/tests/test_inbound_s3_log.py +18 -0
- files_com-1.6.173/tests/test_key_lifecycle_rule.py +65 -0
- files_com-1.6.173/tests/test_partner.py +68 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_mount_backend.py +0 -6
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_server.py +16 -0
- files_com-1.6.173/tests/test_remote_server_credential.py +65 -0
- files_com-1.6.173/tests/test_scim_log.py +26 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_siem_http_destination.py +0 -1
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync.py +15 -3
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync_run.py +1 -4
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_lifecycle_rule.py +1 -12
- files_com-1.6.173/tests/test_workspace.py +65 -0
- files_com-1.6.31/_VERSION +0 -1
- files_com-1.6.31/files_sdk/models/api_request_log.py +0 -105
- files_com-1.6.31/files_sdk/models/automation_log.py +0 -94
- files_com-1.6.31/files_sdk/models/email_log.py +0 -91
- files_com-1.6.31/files_sdk/models/exavault_api_request_log.py +0 -102
- files_com-1.6.31/files_sdk/models/file_migration_log.py +0 -95
- files_com-1.6.31/files_sdk/models/ftp_action_log.py +0 -104
- files_com-1.6.31/files_sdk/models/outbound_connection_log.py +0 -105
- files_com-1.6.31/files_sdk/models/public_hosting_request_log.py +0 -101
- files_com-1.6.31/files_sdk/models/sftp_action_log.py +0 -108
- files_com-1.6.31/files_sdk/models/sync_log.py +0 -92
- files_com-1.6.31/files_sdk/models/user_cipher_use.py +0 -68
- files_com-1.6.31/files_sdk/models/web_dav_action_log.py +0 -104
- {files_com-1.6.31 → files_com-1.6.173}/LICENSE +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/dependency_links.txt +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/requires.txt +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_com.egg-info/top_level.txt +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/api.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/api_client.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/list_obj.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/account_line_item.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action_notification_export.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/action_notification_export_result.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/app.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/as2_station.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/auto.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bandwidth_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_download.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_notification.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_path.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/bundle_recipient.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/clickwrap.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/dns_record.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/email_incoming_message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/errors.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/external_event.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_action.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_comment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_comment_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_migration.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/file_upload_part.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/form_field.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/form_field_set.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/group_user.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/history.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/holiday_region.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/image.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_recipient.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/inbox_upload.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/invoice.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/ip_address.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/lock.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_comment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_comment_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/message_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/notification.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/payment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/payment_line_item.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/preview.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/priority.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/project.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/public_ip_address.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/request.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/session.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/settings_change.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/sftp_host_key.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/share_group.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/share_group_member.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/status.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/style.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_by_top_level_dir.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_daily_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/usage_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_request.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/user_sftp_client_use.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/models/webhook_test.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/path_util.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/files_sdk/util.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/setup.cfg +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_account_line_item.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_action.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_action_notification_export.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_action_notification_export_result.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_key.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_api_request_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_app.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_incoming_message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_outgoing_message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_partner.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_as2_station.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_auto.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_automation_run.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bandwidth_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_behavior.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_action.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_download.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_notification.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_path.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_recipient.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_bundle_registration.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_clickwrap.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_connection_adapter.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_dns_record.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_email_incoming_message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_email_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_errors.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_exavault_api_request_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_external_event.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_action.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_comment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_comment_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_migration.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_migration_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_file_upload_part.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_folder.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_form_field.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_form_field_set.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_ftp_action_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_gpg_key.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_group.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_group_user.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_history.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_history_export.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_history_export_result.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_holiday_region.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_image.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_recipient.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_registration.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_inbox_upload.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_invoice.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_invoice_line_item.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_ip_address.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_lock.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_message.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_comment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_comment_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_message_reaction.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_notification.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_outbound_connection_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_path_util.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_payment.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_payment_line_item.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_permission.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_preview.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_priority.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_project.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_hosting_request_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_ip_address.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_public_key.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_bandwidth_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_remote_server_configuration_file.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_request.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_restore.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_session.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_settings_change.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sftp_action_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sftp_host_key.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_share_group.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_share_group_member.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_site.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sso_strategy.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_status.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_style.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_sync_log.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_by_top_level_dir.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_daily_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_usage_snapshot.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_user.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_cipher_use.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_request.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_user_sftp_client_use.py +0 -0
- {files_com-1.6.31 → files_com-1.6.173}/tests/test_web_dav_action_log.py +0 -0
- {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.
|
|
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.
|
|
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
|