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