tableauserverclient 0.39__tar.gz → 0.40__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.
- {tableauserverclient-0.39 → tableauserverclient-0.40}/PKG-INFO +1 -1
- {tableauserverclient-0.39 → tableauserverclient-0.40}/pyproject.toml +7 -1
- tableauserverclient-0.40/tableauserverclient/__init__.py +150 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/bin/_version.py +3 -3
- tableauserverclient-0.40/tableauserverclient/config.py +27 -0
- tableauserverclient-0.40/tableauserverclient/datetime_helpers.py +45 -0
- tableauserverclient-0.40/tableauserverclient/exponential_backoff.py +30 -0
- tableauserverclient-0.40/tableauserverclient/filesys_helpers.py +63 -0
- tableauserverclient-0.40/tableauserverclient/namespace.py +37 -0
- {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/PKG-INFO +1 -1
- {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/SOURCES.txt +11 -5
- tableauserverclient-0.40/tableauserverclient.egg-info/top_level.txt +1 -0
- tableauserverclient-0.39/tableauserverclient/tableauserverclient.egg-info/top_level.txt +0 -4
- {tableauserverclient-0.39 → tableauserverclient-0.40}/CHANGELOG.md +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/CONTRIBUTORS.md +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/LICENSE +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/LICENSE.versioneer +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/MANIFEST.in +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/README.md +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/contributing.md +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/docs/README.md +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/add_default_permission.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_extract_task.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_group.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_project.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_schedules.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_user.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_datasource.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_favorites.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_site.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_webhooks.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_workbook.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/export.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/extracts.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/filter_sort_groups.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/filter_sort_projects.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/1_hello_server.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/2_hello_site.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/3_hello_universe.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/initialize_server.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/kill_all_jobs.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/list.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/login.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/metadata_paginated_query.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/metadata_query.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/move_workbook_projects.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/move_workbook_sites.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/name.txt +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/pagination_sample.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/publish_datasource.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/publish_workbook.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/query_permissions.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/refresh.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/refresh_tasks.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/set_refresh_schedule.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/smoke_test.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connection.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connection_auth.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connections_auth.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_datasource_data.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_workbook_data_freshness_policy.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/setup.cfg +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/setup.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/bin/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/headers.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/logging.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/strings.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/collection_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/column_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/connection_credentials.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/connection_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/custom_view_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_acceleration_report_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_alert_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_freshness_policy_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/database_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/datasource_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/dqw_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/exceptions.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extensions_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extract_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/favorites_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/fileupload_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_run_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/group_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/groupset_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/interval_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/job_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/linked_tasks_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/location_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/metric_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/oidc_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/pagination_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/permissions_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/project_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/property_decorators.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/reference_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/revision_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/schedule_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/server_info_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/site_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/subscription_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/table_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tableau_auth.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tableau_types.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tag_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/target.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/task_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/user_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/view_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/virtual_connection_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/webhook_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/workbook_item.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/py.typed +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/auth_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/custom_views_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/data_acceleration_report_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/data_alert_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/databases_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/datasources_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/default_permissions_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/dqw_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/exceptions.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/extensions_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/favorites_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/fileuploads_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flow_runs_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flow_task_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flows_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/groups_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/groupsets_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/jobs_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/linked_tasks_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/metadata_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/metrics_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/oidc_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/permissions_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/projects_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/resource_tagger.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/schedules_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/server_info_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/sites_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/subscriptions_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/tables_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/tasks_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/users_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/views_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/virtual_connections_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/webhooks_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/workbooks_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/exceptions.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/filter.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/pager.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/query.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/request_factory.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/request_options.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/server.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/sort.py +0 -0
- {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/dependency_links.txt +0 -0
- {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/requires.txt +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/_utils.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/Tableau Samples/World Indicators.tde +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/user_details.csv +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/usernames.csv +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/RESTAPISample Image.png +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Sample View Image.png +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/World Indicators.hyper +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in_error.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in_impersonate.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_download.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_get_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_acceleration_report.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_add_user.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_add_tags.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_connection_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_connections_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_data_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_empty.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_no_owner.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_populate_connections.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_publish.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_publish_async.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_refresh.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_revision.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/dqw_by_content_type.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_server_settings_false.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_server_settings_true.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_site_settings.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_datasource.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_project.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_view.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_workbook.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/fileupload_append.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/fileupload_initialize.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_populate_connections.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_publish.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_refresh.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id_failed.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id_inprogress.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_add_user.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_add_users.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create_ad.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create_async.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_populate_users.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_populate_users_empty.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_update_async.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_users_added.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_completed.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_failed.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_failed_workbook.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_inprogress.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/linked_tasks_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/linked_tasks_run_now.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_1.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_2.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_3.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_error.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_expected_dict.dict +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_success.json +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/odata_connection.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/populate_csv.csv +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/populate_pdf.pdf +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_content_permission.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_virtualconnection_default_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_workbook_default_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update_datasource_default_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update_virtualconnection_default_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/queryset_slicing_page_1.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/queryset_slicing_page_2.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_equals.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_name_in.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_tags_in.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_page_number.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_page_size.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_pagination.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_slicing_queryset.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_datasource.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_flow.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_workbook.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_workbook_with_warnings.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_batch_update_state.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_daily.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_hourly.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_monthly.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_weekly.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_customized_monthly_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_daily_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_empty.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_extract_refresh_tasks.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_hourly_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_monthly_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_monthly_id_2.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_25.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_404.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_auth_info.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_auth_configurations.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get_by_name.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/table_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/table_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_create_extract_task.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_create_flow_task.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_no_workbook_or_datasource.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_run_now_response.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_dataacceleration_task.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_datasource.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_interval.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_workbook.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_workbook_and_datasource.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_without_schedule.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_add.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_add_favorite.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_empty.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_populate_groups.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_populate_workbooks.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/users_bulk_add_job.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_add_tags.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_id_usage.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_usage.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_update_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_add_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_database_connection_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_populate_connections.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_populate_connections2.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_download.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_publish.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_revisions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_create.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_create_request.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_add_tags.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_all_fields.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id_acceleration_status.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id_personal.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_empty.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_invalid_date.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_1.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_2.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_3.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_connections.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_views.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_views_usage.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_publish.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_publish_async.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_refresh.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_revision.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_acceleration_status.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_connections.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy2.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy3.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy4.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy5.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy6.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_permissions.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_views_acceleration_status.xml +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/http/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/http/test_http_requests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/_models.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/test_repr.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/__init__.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_datasource_requests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_task_requests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_workbook_requests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_auth.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_connection_.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_custom_view.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_data_acceleration_report.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_data_freshness_policy.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_dataalert.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_database.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_datasource.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_datasource_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_dqw.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_endpoint.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_exponential_backoff.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_extensions.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_favorites.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_filesys_helpers.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_fileuploads.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_filter.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flow.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flowruns.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flowtask.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_group.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_group_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_groupsets.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_job.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_linked_tasks.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_metadata.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_metrics.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_oidc.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_pager.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_permissionsrule.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_project.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_project_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_regression_tests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_request_option.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_requests.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_schedule.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_server_info.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_site.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_site_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_sort.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_ssl_config.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_subscription.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_table.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_tableauauth_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_tagging.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_task.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_user.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_user_model.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_view.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_view_acceleration.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_virtual_connection.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_webhook.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_workbook.py +0 -0
- {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_workbook_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tableauserverclient
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.40
|
|
4
4
|
Summary: A Python module for working with the Tableau Server REST API.
|
|
5
5
|
Author-email: Tableau <github@tableau.com>
|
|
6
6
|
Project-URL: repository, https://github.com/tableau/server-client-python
|
|
@@ -35,8 +35,14 @@ repository = "https://github.com/tableau/server-client-python"
|
|
|
35
35
|
test = ["black==24.10", "build", "mypy==1.4", "pytest>=7.0", "pytest-cov", "pytest-subtests",
|
|
36
36
|
"pytest-xdist", "requests-mock>=1.0,<2.0", "types-requests>=2.32.4.20250913"]
|
|
37
37
|
|
|
38
|
+
[tool.setuptools.package-data]
|
|
39
|
+
# Only include data for tableauserverclient, not for samples, test, docs
|
|
40
|
+
tableauserverclient = ["*"]
|
|
41
|
+
|
|
38
42
|
[tool.setuptools.packages.find]
|
|
39
|
-
where = ["
|
|
43
|
+
where = ["."]
|
|
44
|
+
include = ["tableauserverclient*"]
|
|
45
|
+
|
|
40
46
|
[tool.setuptools.dynamic]
|
|
41
47
|
version = {attr = "versioneer.get_version"}
|
|
42
48
|
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
from tableauserverclient.bin._version import get_versions
|
|
2
|
+
from tableauserverclient.namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
|
|
3
|
+
from tableauserverclient.models import (
|
|
4
|
+
BackgroundJobItem,
|
|
5
|
+
CollectionItem,
|
|
6
|
+
ColumnItem,
|
|
7
|
+
ConnectionCredentials,
|
|
8
|
+
ConnectionItem,
|
|
9
|
+
CustomViewItem,
|
|
10
|
+
DQWItem,
|
|
11
|
+
DailyInterval,
|
|
12
|
+
DataAlertItem,
|
|
13
|
+
DatabaseItem,
|
|
14
|
+
DataFreshnessPolicyItem,
|
|
15
|
+
DatasourceItem,
|
|
16
|
+
ExtensionsServer,
|
|
17
|
+
ExtensionsSiteSettings,
|
|
18
|
+
FavoriteItem,
|
|
19
|
+
FlowItem,
|
|
20
|
+
FlowRunItem,
|
|
21
|
+
FileuploadItem,
|
|
22
|
+
GroupItem,
|
|
23
|
+
GroupSetItem,
|
|
24
|
+
HourlyInterval,
|
|
25
|
+
IntervalItem,
|
|
26
|
+
JobItem,
|
|
27
|
+
JWTAuth,
|
|
28
|
+
LinkedTaskItem,
|
|
29
|
+
LinkedTaskStepItem,
|
|
30
|
+
LinkedTaskFlowRunItem,
|
|
31
|
+
LocationItem,
|
|
32
|
+
MetricItem,
|
|
33
|
+
MonthlyInterval,
|
|
34
|
+
PaginationItem,
|
|
35
|
+
Permission,
|
|
36
|
+
PermissionsRule,
|
|
37
|
+
PersonalAccessTokenAuth,
|
|
38
|
+
ProjectItem,
|
|
39
|
+
Resource,
|
|
40
|
+
RevisionItem,
|
|
41
|
+
SafeExtension,
|
|
42
|
+
ScheduleItem,
|
|
43
|
+
SiteAuthConfiguration,
|
|
44
|
+
SiteOIDCConfiguration,
|
|
45
|
+
SiteItem,
|
|
46
|
+
ServerInfoItem,
|
|
47
|
+
SubscriptionItem,
|
|
48
|
+
TableauItem,
|
|
49
|
+
TableItem,
|
|
50
|
+
TableauAuth,
|
|
51
|
+
Target,
|
|
52
|
+
TaskItem,
|
|
53
|
+
UserItem,
|
|
54
|
+
ViewItem,
|
|
55
|
+
VirtualConnectionItem,
|
|
56
|
+
WebhookItem,
|
|
57
|
+
WeeklyInterval,
|
|
58
|
+
WorkbookItem,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
from tableauserverclient.server import (
|
|
62
|
+
CSVRequestOptions,
|
|
63
|
+
ExcelRequestOptions,
|
|
64
|
+
ImageRequestOptions,
|
|
65
|
+
PDFRequestOptions,
|
|
66
|
+
PPTXRequestOptions,
|
|
67
|
+
RequestOptions,
|
|
68
|
+
MissingRequiredFieldError,
|
|
69
|
+
FailedSignInError,
|
|
70
|
+
NotSignedInError,
|
|
71
|
+
ServerResponseError,
|
|
72
|
+
Filter,
|
|
73
|
+
Pager,
|
|
74
|
+
Server,
|
|
75
|
+
Sort,
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
__all__ = [
|
|
79
|
+
"BackgroundJobItem",
|
|
80
|
+
"CollectionItem",
|
|
81
|
+
"ColumnItem",
|
|
82
|
+
"ConnectionCredentials",
|
|
83
|
+
"ConnectionItem",
|
|
84
|
+
"CSVRequestOptions",
|
|
85
|
+
"CustomViewItem",
|
|
86
|
+
"DailyInterval",
|
|
87
|
+
"DataAlertItem",
|
|
88
|
+
"DatabaseItem",
|
|
89
|
+
"DataFreshnessPolicyItem",
|
|
90
|
+
"DatasourceItem",
|
|
91
|
+
"DEFAULT_NAMESPACE",
|
|
92
|
+
"DQWItem",
|
|
93
|
+
"ExcelRequestOptions",
|
|
94
|
+
"ExtensionsServer",
|
|
95
|
+
"ExtensionsSiteSettings",
|
|
96
|
+
"FailedSignInError",
|
|
97
|
+
"FavoriteItem",
|
|
98
|
+
"FileuploadItem",
|
|
99
|
+
"Filter",
|
|
100
|
+
"FlowItem",
|
|
101
|
+
"FlowRunItem",
|
|
102
|
+
"get_versions",
|
|
103
|
+
"GroupItem",
|
|
104
|
+
"GroupSetItem",
|
|
105
|
+
"HourlyInterval",
|
|
106
|
+
"ImageRequestOptions",
|
|
107
|
+
"IntervalItem",
|
|
108
|
+
"JobItem",
|
|
109
|
+
"JWTAuth",
|
|
110
|
+
"LinkedTaskFlowRunItem",
|
|
111
|
+
"LinkedTaskItem",
|
|
112
|
+
"LinkedTaskStepItem",
|
|
113
|
+
"LocationItem",
|
|
114
|
+
"MetricItem",
|
|
115
|
+
"MissingRequiredFieldError",
|
|
116
|
+
"MonthlyInterval",
|
|
117
|
+
"NotSignedInError",
|
|
118
|
+
"Pager",
|
|
119
|
+
"PaginationItem",
|
|
120
|
+
"PDFRequestOptions",
|
|
121
|
+
"PPTXRequestOptions",
|
|
122
|
+
"Permission",
|
|
123
|
+
"PermissionsRule",
|
|
124
|
+
"PersonalAccessTokenAuth",
|
|
125
|
+
"ProjectItem",
|
|
126
|
+
"RequestOptions",
|
|
127
|
+
"Resource",
|
|
128
|
+
"RevisionItem",
|
|
129
|
+
"SafeExtension",
|
|
130
|
+
"ScheduleItem",
|
|
131
|
+
"Server",
|
|
132
|
+
"ServerInfoItem",
|
|
133
|
+
"ServerResponseError",
|
|
134
|
+
"SiteItem",
|
|
135
|
+
"SiteAuthConfiguration",
|
|
136
|
+
"SiteOIDCConfiguration",
|
|
137
|
+
"Sort",
|
|
138
|
+
"SubscriptionItem",
|
|
139
|
+
"TableauAuth",
|
|
140
|
+
"TableauItem",
|
|
141
|
+
"TableItem",
|
|
142
|
+
"Target",
|
|
143
|
+
"TaskItem",
|
|
144
|
+
"UserItem",
|
|
145
|
+
"ViewItem",
|
|
146
|
+
"VirtualConnectionItem",
|
|
147
|
+
"WebhookItem",
|
|
148
|
+
"WeeklyInterval",
|
|
149
|
+
"WorkbookItem",
|
|
150
|
+
]
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2026-02-
|
|
11
|
+
"date": "2026-02-03T12:18:13-0800",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.
|
|
14
|
+
"full-revisionid": "d4b27f42d897883f8b8d0cb5b7edb558df2cbfb6",
|
|
15
|
+
"version": "0.40"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
ALLOWED_FILE_EXTENSIONS = ["tds", "tdsx", "tde", "hyper", "parquet"]
|
|
4
|
+
|
|
5
|
+
BYTES_PER_MB = 1024 * 1024
|
|
6
|
+
|
|
7
|
+
DELAY_SLEEP_SECONDS = 0.1
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Config:
|
|
11
|
+
# The maximum size of a file that can be published in a single request is 64MB
|
|
12
|
+
@property
|
|
13
|
+
def FILESIZE_LIMIT_MB(self):
|
|
14
|
+
return min(int(os.getenv("TSC_FILESIZE_LIMIT_MB", 64)), 64)
|
|
15
|
+
|
|
16
|
+
# For when a datasource is over 64MB, break it into 5MB(standard chunk size) chunks
|
|
17
|
+
@property
|
|
18
|
+
def CHUNK_SIZE_MB(self):
|
|
19
|
+
return int(os.getenv("TSC_CHUNK_SIZE_MB", 5 * 10)) # 5MB felt too slow, upped it to 50
|
|
20
|
+
|
|
21
|
+
# Default page size
|
|
22
|
+
@property
|
|
23
|
+
def PAGE_SIZE(self):
|
|
24
|
+
return int(os.getenv("TSC_PAGE_SIZE", 100))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
config = Config()
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
ZERO = datetime.timedelta(0)
|
|
5
|
+
HOUR = datetime.timedelta(hours=1)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def timestamp():
|
|
9
|
+
return datetime.datetime.now().strftime("%H:%M:%S")
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# This class is a concrete implementation of the abstract base class tzinfo
|
|
13
|
+
# docs: https://docs.python.org/2.3/lib/datetime-tzinfo.html
|
|
14
|
+
class UTC(datetime.tzinfo):
|
|
15
|
+
"""UTC"""
|
|
16
|
+
|
|
17
|
+
def utcoffset(self, dt):
|
|
18
|
+
return ZERO
|
|
19
|
+
|
|
20
|
+
def tzname(self, dt):
|
|
21
|
+
return "UTC"
|
|
22
|
+
|
|
23
|
+
def dst(self, dt):
|
|
24
|
+
return ZERO
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
utc = UTC()
|
|
28
|
+
TABLEAU_DATE_FORMAT = "%Y-%m-%dT%H:%M:%SZ"
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def parse_datetime(date):
|
|
32
|
+
if date is None:
|
|
33
|
+
return None
|
|
34
|
+
|
|
35
|
+
try:
|
|
36
|
+
return datetime.datetime.strptime(date, TABLEAU_DATE_FORMAT).replace(tzinfo=utc)
|
|
37
|
+
except ValueError:
|
|
38
|
+
return None
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def format_datetime(date):
|
|
42
|
+
if date is None:
|
|
43
|
+
return None
|
|
44
|
+
|
|
45
|
+
return date.astimezone(tz=utc).strftime(TABLEAU_DATE_FORMAT)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import time
|
|
2
|
+
|
|
3
|
+
# Polling for server-side events (such as job completion) uses exponential backoff for the sleep intervals between polls
|
|
4
|
+
ASYNC_POLL_MIN_INTERVAL = 0.5
|
|
5
|
+
ASYNC_POLL_MAX_INTERVAL = 30
|
|
6
|
+
ASYNC_POLL_BACKOFF_FACTOR = 1.4
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ExponentialBackoffTimer:
|
|
10
|
+
def __init__(self, *, timeout=None):
|
|
11
|
+
self.start_time = time.time()
|
|
12
|
+
self.timeout = timeout
|
|
13
|
+
self.current_sleep_interval = ASYNC_POLL_MIN_INTERVAL
|
|
14
|
+
|
|
15
|
+
def sleep(self):
|
|
16
|
+
max_sleep_time = ASYNC_POLL_MAX_INTERVAL
|
|
17
|
+
if self.timeout is not None:
|
|
18
|
+
elapsed = time.time() - self.start_time
|
|
19
|
+
if elapsed >= self.timeout:
|
|
20
|
+
raise TimeoutError(f"Timeout after {elapsed} seconds waiting for asynchronous event")
|
|
21
|
+
remaining_time = self.timeout - elapsed
|
|
22
|
+
# Usually, we would sleep for `ASYNC_POLL_MAX_INTERVAL`, but we don't want to sleep over the timeout
|
|
23
|
+
max_sleep_time = min(ASYNC_POLL_MAX_INTERVAL, remaining_time)
|
|
24
|
+
# We want to sleep at least for `ASYNC_POLL_MIN_INTERVAL`. This is important to ensure that, as we get
|
|
25
|
+
# closer to the timeout, we don't accidentally wake up multiple times and hit the server in rapid succession
|
|
26
|
+
# due to waking up to early from the `sleep`.
|
|
27
|
+
max_sleep_time = max(max_sleep_time, ASYNC_POLL_MIN_INTERVAL)
|
|
28
|
+
|
|
29
|
+
time.sleep(min(self.current_sleep_interval, max_sleep_time))
|
|
30
|
+
self.current_sleep_interval *= ASYNC_POLL_BACKOFF_FACTOR
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
ALLOWED_SPECIAL = (" ", ".", "_", "-")
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def to_filename(string_to_sanitize):
|
|
7
|
+
sanitized = (c for c in string_to_sanitize if c.isalnum() or c in ALLOWED_SPECIAL)
|
|
8
|
+
return "".join(sanitized)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def make_download_path(filepath, filename):
|
|
12
|
+
download_path = None
|
|
13
|
+
|
|
14
|
+
if filepath is None:
|
|
15
|
+
download_path = filename
|
|
16
|
+
|
|
17
|
+
elif os.path.isdir(filepath):
|
|
18
|
+
download_path = os.path.join(filepath, filename)
|
|
19
|
+
|
|
20
|
+
else:
|
|
21
|
+
download_path = filepath + os.path.splitext(filename)[1]
|
|
22
|
+
|
|
23
|
+
return download_path
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def get_file_object_size(file):
|
|
27
|
+
# Returns the size of a file object
|
|
28
|
+
file.seek(0, os.SEEK_END)
|
|
29
|
+
file_size = file.tell()
|
|
30
|
+
file.seek(0)
|
|
31
|
+
return file_size
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def get_file_type(file):
|
|
35
|
+
# Tableau workbooks (twb) and data sources (tds) are both stored as xml files.
|
|
36
|
+
# Packaged workbooks (twbx) and data sources (tdsx) are zip files
|
|
37
|
+
# containing original files accompanied with supporting local files.
|
|
38
|
+
|
|
39
|
+
# This reference lists magic file signatures: https://www.garykessler.net/library/file_sigs.html
|
|
40
|
+
MAGIC_BYTES = {
|
|
41
|
+
"zip": bytes.fromhex("504b0304"),
|
|
42
|
+
"tde": bytes.fromhex("20020162"),
|
|
43
|
+
"xml": bytes.fromhex("3c3f786d6c20"),
|
|
44
|
+
"hyper": bytes.fromhex("487970657208000001000000"),
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# Peek first bytes of a file
|
|
48
|
+
first_bytes = file.read(32)
|
|
49
|
+
|
|
50
|
+
file_type = None
|
|
51
|
+
for ft, signature in MAGIC_BYTES.items():
|
|
52
|
+
if first_bytes.startswith(signature):
|
|
53
|
+
file_type = ft
|
|
54
|
+
break
|
|
55
|
+
|
|
56
|
+
# Return pointer back to start
|
|
57
|
+
file.seek(0)
|
|
58
|
+
|
|
59
|
+
if file_type is None:
|
|
60
|
+
error = "Unknown file type!"
|
|
61
|
+
raise ValueError(error)
|
|
62
|
+
|
|
63
|
+
return file_type
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import re
|
|
2
|
+
|
|
3
|
+
from defusedxml.ElementTree import fromstring
|
|
4
|
+
|
|
5
|
+
OLD_NAMESPACE = "http://tableausoftware.com/api"
|
|
6
|
+
NEW_NAMESPACE = "http://tableau.com/api"
|
|
7
|
+
NAMESPACE_RE = re.compile(r"\{(.*?)\}")
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class UnknownNamespaceError(Exception):
|
|
11
|
+
pass
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Namespace:
|
|
15
|
+
def __init__(self):
|
|
16
|
+
self._namespace = {"t": NEW_NAMESPACE}
|
|
17
|
+
self._detected = False
|
|
18
|
+
|
|
19
|
+
def __call__(self):
|
|
20
|
+
return self._namespace
|
|
21
|
+
|
|
22
|
+
def detect(self, xml):
|
|
23
|
+
if self._detected:
|
|
24
|
+
return
|
|
25
|
+
|
|
26
|
+
if not xml.startswith(b"<?xml"):
|
|
27
|
+
return # Not an xml file, don't detect anything
|
|
28
|
+
|
|
29
|
+
root = fromstring(xml)
|
|
30
|
+
matches = NAMESPACE_RE.match(root.tag)
|
|
31
|
+
if matches:
|
|
32
|
+
detected_ns = matches.group(1)
|
|
33
|
+
if detected_ns in (OLD_NAMESPACE, NEW_NAMESPACE):
|
|
34
|
+
self._namespace = {"t": detected_ns}
|
|
35
|
+
self._detected = True
|
|
36
|
+
else:
|
|
37
|
+
raise UnknownNamespaceError(detected_ns)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tableauserverclient
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.40
|
|
4
4
|
Summary: A Python module for working with the Tableau Server REST API.
|
|
5
5
|
Author-email: Tableau <github@tableau.com>
|
|
6
6
|
Project-URL: repository, https://github.com/tableau/server-client-python
|
|
@@ -48,7 +48,18 @@ samples/update_workbook_data_freshness_policy.py
|
|
|
48
48
|
samples/getting_started/1_hello_server.py
|
|
49
49
|
samples/getting_started/2_hello_site.py
|
|
50
50
|
samples/getting_started/3_hello_universe.py
|
|
51
|
+
tableauserverclient/__init__.py
|
|
52
|
+
tableauserverclient/config.py
|
|
53
|
+
tableauserverclient/datetime_helpers.py
|
|
54
|
+
tableauserverclient/exponential_backoff.py
|
|
55
|
+
tableauserverclient/filesys_helpers.py
|
|
56
|
+
tableauserverclient/namespace.py
|
|
51
57
|
tableauserverclient/py.typed
|
|
58
|
+
tableauserverclient.egg-info/PKG-INFO
|
|
59
|
+
tableauserverclient.egg-info/SOURCES.txt
|
|
60
|
+
tableauserverclient.egg-info/dependency_links.txt
|
|
61
|
+
tableauserverclient.egg-info/requires.txt
|
|
62
|
+
tableauserverclient.egg-info/top_level.txt
|
|
52
63
|
tableauserverclient/bin/__init__.py
|
|
53
64
|
tableauserverclient/bin/_version.py
|
|
54
65
|
tableauserverclient/helpers/__init__.py
|
|
@@ -150,11 +161,6 @@ tableauserverclient/server/endpoint/views_endpoint.py
|
|
|
150
161
|
tableauserverclient/server/endpoint/virtual_connections_endpoint.py
|
|
151
162
|
tableauserverclient/server/endpoint/webhooks_endpoint.py
|
|
152
163
|
tableauserverclient/server/endpoint/workbooks_endpoint.py
|
|
153
|
-
tableauserverclient/tableauserverclient.egg-info/PKG-INFO
|
|
154
|
-
tableauserverclient/tableauserverclient.egg-info/SOURCES.txt
|
|
155
|
-
tableauserverclient/tableauserverclient.egg-info/dependency_links.txt
|
|
156
|
-
tableauserverclient/tableauserverclient.egg-info/requires.txt
|
|
157
|
-
tableauserverclient/tableauserverclient.egg-info/top_level.txt
|
|
158
164
|
test/__init__.py
|
|
159
165
|
test/_utils.py
|
|
160
166
|
test/test_auth.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tableauserverclient
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/1_hello_server.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/2_hello_site.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/3_hello_universe.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/__init__.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/headers.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/logging.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/strings.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/__init__.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/collection_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/column_item.py
RENAMED
|
File without changes
|
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/connection_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/custom_view_item.py
RENAMED
|
File without changes
|
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_alert_item.py
RENAMED
|
File without changes
|
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/database_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/datasource_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/dqw_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/exceptions.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extensions_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extract_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/favorites_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/fileupload_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_run_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/group_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/groupset_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/interval_item.py
RENAMED
|
File without changes
|
{tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/job_item.py
RENAMED
|
File without changes
|