tableauserverclient 0.34__tar.gz → 0.36__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.34 → tableauserverclient-0.36}/PKG-INFO +3 -3
- {tableauserverclient-0.34 → tableauserverclient-0.36}/pyproject.toml +11 -2
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_extract_task.py +12 -7
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/extracts.py +37 -9
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/publish_workbook.py +32 -8
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/refresh.py +25 -8
- tableauserverclient-0.36/setup.cfg +4 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/setup.py +0 -9
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/__init__.py +5 -1
- {tableauserverclient-0.34/tableauserverclient → tableauserverclient-0.36/tableauserverclient/bin}/_version.py +3 -3
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/connection_credentials.py +17 -1
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/connection_item.py +38 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/custom_view_item.py +49 -5
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/flow_item.py +49 -4
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/group_item.py +40 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/job_item.py +65 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/project_item.py +39 -1
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/task_item.py +30 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/view_item.py +55 -3
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/webhook_item.py +33 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/workbook_item.py +26 -1
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/auth_endpoint.py +4 -2
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/custom_views_endpoint.py +197 -12
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/datasources_endpoint.py +14 -9
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flows_endpoint.py +314 -0
- tableauserverclient-0.36/tableauserverclient/server/endpoint/groups_endpoint.py +520 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/jobs_endpoint.py +109 -0
- tableauserverclient-0.36/tableauserverclient/server/endpoint/projects_endpoint.py +850 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/tasks_endpoint.py +78 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/views_endpoint.py +243 -2
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/webhooks_endpoint.py +77 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/workbooks_endpoint.py +6 -4
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/pager.py +24 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/request_factory.py +20 -1
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/request_options.py +126 -2
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/server.py +11 -1
- tableauserverclient-0.36/tableauserverclient/server/sort.py +21 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/PKG-INFO +3 -3
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/SOURCES.txt +3 -3
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/requires.txt +1 -1
- tableauserverclient-0.36/test/assets/project_populate_virtualconnection_default_permissions.xml +19 -0
- tableauserverclient-0.36/test/assets/project_update_virtualconnection_default_permissions.xml +17 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_auth.py +5 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_datasource.py +24 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_project.py +107 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_workbook.py +39 -0
- tableauserverclient-0.34/setup.cfg +0 -11
- tableauserverclient-0.34/tableauserverclient/server/endpoint/groups_endpoint.py +0 -206
- tableauserverclient-0.34/tableauserverclient/server/endpoint/projects_endpoint.py +0 -250
- tableauserverclient-0.34/tableauserverclient/server/sort.py +0 -7
- tableauserverclient-0.34/versioneer.py +0 -1845
- {tableauserverclient-0.34 → tableauserverclient-0.36}/CHANGELOG.md +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/CONTRIBUTORS.md +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/LICENSE +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/LICENSE.versioneer +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/MANIFEST.in +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/README.md +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/contributing.md +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/docs/README.md +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/add_default_permission.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_group.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_project.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_schedules.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_datasource.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_favorites.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_site.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_webhooks.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_workbook.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/export.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/filter_sort_groups.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/filter_sort_projects.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/1_hello_server.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/2_hello_site.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/3_hello_universe.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/initialize_server.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/kill_all_jobs.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/list.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/login.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/metadata_query.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/move_workbook_projects.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/move_workbook_sites.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/name.txt +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/pagination_sample.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/publish_datasource.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/query_permissions.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/refresh_tasks.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/set_refresh_schedule.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/smoke_test.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_connection.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_datasource_data.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_workbook_data_freshness_policy.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/config.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/datetime_helpers.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/exponential_backoff.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/filesys_helpers.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/headers.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/logging.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/strings.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/column_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_acceleration_report_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_alert_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_freshness_policy_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/database_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/datasource_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/dqw_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/exceptions.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/favorites_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/fileupload_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/flow_run_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/groupset_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/interval_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/linked_tasks_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/metric_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/pagination_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/permissions_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/property_decorators.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/reference_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/revision_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/schedule_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/server_info_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/site_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/subscription_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/table_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tableau_auth.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tableau_types.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tag_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/target.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/user_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/virtual_connection_item.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/namespace.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/py.typed +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/data_acceleration_report_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/data_alert_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/databases_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/default_permissions_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/dqw_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/exceptions.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/favorites_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/fileuploads_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flow_runs_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flow_task_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/groupsets_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/linked_tasks_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/metadata_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/metrics_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/permissions_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/resource_tagger.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/schedules_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/server_info_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/sites_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/subscriptions_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/tables_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/users_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/virtual_connections_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/exceptions.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/filter.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/query.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/dependency_links.txt +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/top_level.txt +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/_utils.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/Tableau Samples/World Indicators.tde +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/user_details.csv +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/usernames.csv +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/RESTAPISample Image.png +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Sample View Image.png +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/World Indicators.hyper +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in_error.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in_impersonate.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_download.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_get_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_acceleration_report.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_add_user.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_add_tags.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_connection_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_data_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get_empty.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_populate_connections.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_publish.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_publish_async.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_refresh.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_revision.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/dqw_by_content_type.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_datasource.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_project.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_view.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_workbook.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/fileupload_append.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/fileupload_initialize.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_populate_connections.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_publish.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_refresh.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id_failed.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id_inprogress.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_add_user.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_add_users.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create_ad.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create_async.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_populate_users.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_populate_users_empty.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_update_async.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_users_added.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_failed.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_failed_workbook.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_inprogress.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/linked_tasks_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/linked_tasks_run_now.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_1.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_2.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_3.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_error.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_expected_dict.dict +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_success.json +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/odata_connection.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/populate_csv.csv +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/populate_pdf.pdf +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_content_permission.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_populate_workbook_default_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_update_datasource_default_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/queryset_slicing_page_1.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/queryset_slicing_page_2.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_equals.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_name_in.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_tags_in.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_page_number.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_page_size.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_pagination.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_slicing_queryset.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_datasource.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_flow.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_workbook.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_workbook_with_warnings.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_daily.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_hourly.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_monthly.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_weekly.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_daily_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_empty.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_hourly_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_monthly_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_monthly_id_2.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_25.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_404.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_auth_info.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get_by_name.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/table_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/table_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_create_extract_task.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_create_flow_task.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_no_workbook_or_datasource.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_run_now_response.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_dataacceleration_task.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_datasource.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_interval.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_workbook.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_workbook_and_datasource.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_without_schedule.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_add.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_add_favorite.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get_empty.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_populate_groups.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_populate_workbooks.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_add_tags.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_id_usage.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_usage.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_update_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_add_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_database_connection_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_populate_connections.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_download.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_publish.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_revisions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_create.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_create_request.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_add_tags.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id_acceleration_status.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id_personal.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_empty.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_invalid_date.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_1.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_2.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_3.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_connections.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_views.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_views_usage.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_publish.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_publish_async.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_refresh.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_revision.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_acceleration_status.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy2.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy3.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy4.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy5.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy6.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_permissions.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_views_acceleration_status.xml +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/http/test_http_requests.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/models/_models.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/models/test_repr.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/__init__.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/test_datasource_requests.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/test_workbook_requests.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_connection_.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_custom_view.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_data_acceleration_report.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_data_freshness_policy.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_dataalert.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_database.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_datasource_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_dqw.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_endpoint.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_exponential_backoff.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_favorites.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_filesys_helpers.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_fileuploads.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_filter.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flow.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flowruns.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flowtask.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_group.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_group_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_groupsets.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_job.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_linked_tasks.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_metadata.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_metrics.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_pager.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_permissionsrule.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_project_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_regression_tests.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_request_option.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_requests.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_schedule.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_server_info.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_site.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_site_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_sort.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_subscription.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_table.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_tableauauth_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_tagging.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_task.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_user.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_user_model.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_view.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_view_acceleration.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_virtual_connection.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_webhook.py +0 -0
- {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_workbook_model.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: tableauserverclient
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.36
|
|
4
4
|
Summary: A Python module for working with the Tableau Server REST API.
|
|
5
5
|
Author-email: Tableau <github@tableau.com>
|
|
6
6
|
License: The MIT License (MIT)
|
|
@@ -41,7 +41,7 @@ Requires-Dist: defusedxml>=0.7.1
|
|
|
41
41
|
Requires-Dist: packaging>=23.1
|
|
42
42
|
Requires-Dist: requests>=2.32
|
|
43
43
|
Requires-Dist: urllib3<3,>=2.2.2
|
|
44
|
-
Requires-Dist: typing_extensions>=4.0
|
|
44
|
+
Requires-Dist: typing_extensions>=4.0
|
|
45
45
|
Provides-Extra: test
|
|
46
46
|
Requires-Dist: black==24.8; extra == "test"
|
|
47
47
|
Requires-Dist: build; extra == "test"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["setuptools>=
|
|
2
|
+
requires = ["setuptools>=75.0", "versioneer[toml]==0.29", "wheel"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
|
16
16
|
'packaging>=23.1', # latest as at 7/31/23
|
|
17
17
|
'requests>=2.32', # latest as at 7/31/23
|
|
18
18
|
'urllib3>=2.2.2,<3',
|
|
19
|
-
'typing_extensions>=4.0
|
|
19
|
+
'typing_extensions>=4.0',
|
|
20
20
|
]
|
|
21
21
|
requires-python = ">=3.9"
|
|
22
22
|
classifiers = [
|
|
@@ -38,6 +38,7 @@ test = ["black==24.8", "build", "mypy==1.4", "pytest>=7.0", "pytest-cov", "pytes
|
|
|
38
38
|
[tool.black]
|
|
39
39
|
line-length = 120
|
|
40
40
|
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
|
|
41
|
+
force-exclude = "tableauserverclient/bin/*"
|
|
41
42
|
|
|
42
43
|
[tool.mypy]
|
|
43
44
|
check_untyped_defs = false
|
|
@@ -50,7 +51,15 @@ show_error_codes = true
|
|
|
50
51
|
ignore_missing_imports = true # defusedxml library has no types
|
|
51
52
|
no_implicit_reexport = true
|
|
52
53
|
implicit_optional = true
|
|
54
|
+
exclude = ['/bin/']
|
|
53
55
|
|
|
54
56
|
[tool.pytest.ini_options]
|
|
55
57
|
testpaths = ["test"]
|
|
56
58
|
addopts = "--junitxml=./test.junit.xml"
|
|
59
|
+
|
|
60
|
+
[tool.versioneer]
|
|
61
|
+
VCS = "git"
|
|
62
|
+
style = "pep440-pre"
|
|
63
|
+
versionfile_source = "tableauserverclient/bin/_version.py"
|
|
64
|
+
versionfile_build = "tableauserverclient/bin/_version.py"
|
|
65
|
+
tag_prefix = "v"
|
|
@@ -29,7 +29,9 @@ def main():
|
|
|
29
29
|
help="desired logging level (set to error by default)",
|
|
30
30
|
)
|
|
31
31
|
# Options specific to this sample:
|
|
32
|
-
|
|
32
|
+
parser.add_argument("resource_type", choices=["workbook", "datasource"])
|
|
33
|
+
parser.add_argument("resource_id")
|
|
34
|
+
parser.add_argument("--incremental", default=False)
|
|
33
35
|
|
|
34
36
|
args = parser.parse_args()
|
|
35
37
|
|
|
@@ -45,6 +47,7 @@ def main():
|
|
|
45
47
|
# Monthly Schedule
|
|
46
48
|
# This schedule will run on the 15th of every month at 11:30PM
|
|
47
49
|
monthly_interval = TSC.MonthlyInterval(start_time=time(23, 30), interval_value=15)
|
|
50
|
+
print(monthly_interval)
|
|
48
51
|
monthly_schedule = TSC.ScheduleItem(
|
|
49
52
|
None,
|
|
50
53
|
None,
|
|
@@ -53,18 +56,20 @@ def main():
|
|
|
53
56
|
monthly_interval,
|
|
54
57
|
)
|
|
55
58
|
|
|
56
|
-
|
|
57
|
-
all_workbook_items, pagination_item = server.workbooks.get()
|
|
58
|
-
my_workbook: TSC.WorkbookItem = all_workbook_items[0]
|
|
59
|
+
my_workbook: TSC.WorkbookItem = server.workbooks.get_by_id(args.resource_id)
|
|
59
60
|
|
|
60
61
|
target_item = TSC.Target(
|
|
61
62
|
my_workbook.id, # the id of the workbook or datasource
|
|
62
63
|
"workbook", # alternatively can be "datasource"
|
|
63
64
|
)
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
refresh_type = "FullRefresh"
|
|
67
|
+
if args.incremental:
|
|
68
|
+
refresh_type = "Incremental"
|
|
69
|
+
|
|
70
|
+
scheduled_extract_item = TSC.TaskItem(
|
|
66
71
|
None,
|
|
67
|
-
|
|
72
|
+
refresh_type,
|
|
68
73
|
None,
|
|
69
74
|
None,
|
|
70
75
|
None,
|
|
@@ -74,7 +79,7 @@ def main():
|
|
|
74
79
|
)
|
|
75
80
|
|
|
76
81
|
try:
|
|
77
|
-
response = server.tasks.create(
|
|
82
|
+
response = server.tasks.create(scheduled_extract_item)
|
|
78
83
|
print(response)
|
|
79
84
|
except Exception as e:
|
|
80
85
|
print(e)
|
|
@@ -25,8 +25,11 @@ def main():
|
|
|
25
25
|
help="desired logging level (set to error by default)",
|
|
26
26
|
)
|
|
27
27
|
# Options specific to this sample
|
|
28
|
-
parser.add_argument("--
|
|
29
|
-
parser.add_argument("--
|
|
28
|
+
parser.add_argument("--create", action="store_true")
|
|
29
|
+
parser.add_argument("--delete", action="store_true")
|
|
30
|
+
parser.add_argument("--refresh", action="store_true")
|
|
31
|
+
parser.add_argument("--workbook", required=False)
|
|
32
|
+
parser.add_argument("--datasource", required=False)
|
|
30
33
|
args = parser.parse_args()
|
|
31
34
|
|
|
32
35
|
# Set logging level based on user input, or error by default
|
|
@@ -39,20 +42,45 @@ def main():
|
|
|
39
42
|
server.add_http_options({"verify": False})
|
|
40
43
|
server.use_server_version()
|
|
41
44
|
with server.auth.sign_in(tableau_auth):
|
|
42
|
-
# Gets all workbook items
|
|
43
|
-
all_workbooks, pagination_item = server.workbooks.get()
|
|
44
|
-
print(f"\nThere are {pagination_item.total_available} workbooks on site: ")
|
|
45
|
-
print([workbook.name for workbook in all_workbooks])
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
wb = None
|
|
47
|
+
ds = None
|
|
48
|
+
if args.workbook:
|
|
49
|
+
wb = server.workbooks.get_by_id(args.workbook)
|
|
50
|
+
if wb is None:
|
|
51
|
+
raise ValueError(f"Workbook not found for id {args.workbook}")
|
|
52
|
+
elif args.datasource:
|
|
53
|
+
ds = server.datasources.get_by_id(args.datasource)
|
|
54
|
+
if ds is None:
|
|
55
|
+
raise ValueError(f"Datasource not found for id {args.datasource}")
|
|
56
|
+
else:
|
|
57
|
+
# Gets all workbook items
|
|
58
|
+
all_workbooks, pagination_item = server.workbooks.get()
|
|
59
|
+
print(f"\nThere are {pagination_item.total_available} workbooks on site: ")
|
|
60
|
+
print([workbook.name for workbook in all_workbooks])
|
|
61
|
+
|
|
62
|
+
if all_workbooks:
|
|
63
|
+
# Pick one workbook from the list
|
|
64
|
+
wb = all_workbooks[3]
|
|
50
65
|
|
|
51
66
|
if args.create:
|
|
52
67
|
print("create extract on wb ", wb.name)
|
|
53
68
|
extract_job = server.workbooks.create_extract(wb, includeAll=True)
|
|
54
69
|
print(extract_job)
|
|
55
70
|
|
|
71
|
+
if args.refresh:
|
|
72
|
+
extract_job = None
|
|
73
|
+
if ds is not None:
|
|
74
|
+
print(f"refresh extract on datasource {ds.name}")
|
|
75
|
+
extract_job = server.datasources.refresh(ds, includeAll=True, incremental=True)
|
|
76
|
+
elif wb is not None:
|
|
77
|
+
print(f"refresh extract on workbook {wb.name}")
|
|
78
|
+
extract_job = server.workbooks.refresh(wb)
|
|
79
|
+
else:
|
|
80
|
+
print("no content item selected to refresh")
|
|
81
|
+
|
|
82
|
+
print(extract_job)
|
|
83
|
+
|
|
56
84
|
if args.delete:
|
|
57
85
|
print("delete extract on wb ", wb.name)
|
|
58
86
|
jj = server.workbooks.delete_extract(wb)
|
|
@@ -36,9 +36,16 @@ def main():
|
|
|
36
36
|
help="desired logging level (set to error by default)",
|
|
37
37
|
)
|
|
38
38
|
# Options specific to this sample
|
|
39
|
+
group = parser.add_mutually_exclusive_group(required=False)
|
|
40
|
+
group.add_argument("--thumbnails-user-id", "-u", help="User ID to use for thumbnails")
|
|
41
|
+
group.add_argument("--thumbnails-group-id", "-g", help="Group ID to use for thumbnails")
|
|
42
|
+
|
|
43
|
+
parser.add_argument("--workbook-name", "-n", help="Name with which to publish the workbook")
|
|
39
44
|
parser.add_argument("--file", "-f", help="local filepath of the workbook to publish")
|
|
40
45
|
parser.add_argument("--as-job", "-a", help="Publishing asynchronously", action="store_true")
|
|
41
46
|
parser.add_argument("--skip-connection-check", "-c", help="Skip live connection check", action="store_true")
|
|
47
|
+
parser.add_argument("--project", help="Project within which to publish the workbook")
|
|
48
|
+
parser.add_argument("--show-tabs", help="Publish workbooks with tabs displayed", action="store_true")
|
|
42
49
|
|
|
43
50
|
args = parser.parse_args()
|
|
44
51
|
|
|
@@ -48,11 +55,22 @@ def main():
|
|
|
48
55
|
|
|
49
56
|
# Step 1: Sign in to server.
|
|
50
57
|
tableau_auth = TSC.PersonalAccessTokenAuth(args.token_name, args.token_value, site_id=args.site)
|
|
51
|
-
server = TSC.Server(args.server, use_server_version=True)
|
|
58
|
+
server = TSC.Server(args.server, use_server_version=True, http_options={"verify": False})
|
|
52
59
|
with server.auth.sign_in(tableau_auth):
|
|
53
|
-
#
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
# Step2: Retrieve the project id, if a project name was passed
|
|
61
|
+
if args.project is not None:
|
|
62
|
+
req_options = TSC.RequestOptions()
|
|
63
|
+
req_options.filter.add(
|
|
64
|
+
TSC.Filter(TSC.RequestOptions.Field.Name, TSC.RequestOptions.Operator.Equals, args.project)
|
|
65
|
+
)
|
|
66
|
+
projects = list(TSC.Pager(server.projects, req_options))
|
|
67
|
+
if len(projects) > 1:
|
|
68
|
+
raise ValueError("The project name is not unique")
|
|
69
|
+
project_id = projects[0].id
|
|
70
|
+
else:
|
|
71
|
+
# Get all the projects on server, then look for the default one.
|
|
72
|
+
all_projects, pagination_item = server.projects.get()
|
|
73
|
+
project_id = next((project for project in all_projects if project.is_default()), None).id
|
|
56
74
|
|
|
57
75
|
connection1 = ConnectionItem()
|
|
58
76
|
connection1.server_address = "mssql.test.com"
|
|
@@ -67,10 +85,16 @@ def main():
|
|
|
67
85
|
all_connections.append(connection1)
|
|
68
86
|
all_connections.append(connection2)
|
|
69
87
|
|
|
70
|
-
# Step 3:
|
|
88
|
+
# Step 3: Form a new workbook item and publish.
|
|
71
89
|
overwrite_true = TSC.Server.PublishMode.Overwrite
|
|
72
|
-
if
|
|
73
|
-
new_workbook = TSC.WorkbookItem(
|
|
90
|
+
if project_id is not None:
|
|
91
|
+
new_workbook = TSC.WorkbookItem(
|
|
92
|
+
project_id=project_id,
|
|
93
|
+
name=args.workbook_name,
|
|
94
|
+
show_tabs=args.show_tabs,
|
|
95
|
+
thumbnails_user_id=args.thumbnails_user_id,
|
|
96
|
+
thumbnails_group_id=args.thumbnails_group_id,
|
|
97
|
+
)
|
|
74
98
|
if args.as_job:
|
|
75
99
|
new_job = server.workbooks.publish(
|
|
76
100
|
new_workbook,
|
|
@@ -92,7 +116,7 @@ def main():
|
|
|
92
116
|
)
|
|
93
117
|
print(f"Workbook published. ID: {new_workbook.id}")
|
|
94
118
|
else:
|
|
95
|
-
error = "The
|
|
119
|
+
error = "The destination project could not be found."
|
|
96
120
|
raise LookupError(error)
|
|
97
121
|
|
|
98
122
|
|
|
@@ -27,6 +27,8 @@ def main():
|
|
|
27
27
|
# Options specific to this sample
|
|
28
28
|
parser.add_argument("resource_type", choices=["workbook", "datasource"])
|
|
29
29
|
parser.add_argument("resource_id")
|
|
30
|
+
parser.add_argument("--incremental")
|
|
31
|
+
parser.add_argument("--synchronous")
|
|
30
32
|
|
|
31
33
|
args = parser.parse_args()
|
|
32
34
|
|
|
@@ -34,27 +36,42 @@ def main():
|
|
|
34
36
|
logging_level = getattr(logging, args.logging_level.upper())
|
|
35
37
|
logging.basicConfig(level=logging_level)
|
|
36
38
|
|
|
39
|
+
refresh_type = "FullRefresh"
|
|
40
|
+
incremental = False
|
|
41
|
+
if args.incremental:
|
|
42
|
+
refresh_type = "Incremental"
|
|
43
|
+
incremental = True
|
|
44
|
+
|
|
37
45
|
tableau_auth = TSC.PersonalAccessTokenAuth(args.token_name, args.token_value, site_id=args.site)
|
|
38
|
-
server = TSC.Server(args.server, use_server_version=True)
|
|
46
|
+
server = TSC.Server(args.server, use_server_version=True, http_options={"verify": False})
|
|
39
47
|
with server.auth.sign_in(tableau_auth):
|
|
40
48
|
if args.resource_type == "workbook":
|
|
41
49
|
# Get the workbook by its Id to make sure it exists
|
|
42
50
|
resource = server.workbooks.get_by_id(args.resource_id)
|
|
51
|
+
print(resource)
|
|
43
52
|
|
|
44
53
|
# trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
|
|
45
|
-
job = server.workbooks.refresh(args.resource_id)
|
|
54
|
+
job = server.workbooks.refresh(args.resource_id, incremental=incremental)
|
|
46
55
|
else:
|
|
47
56
|
# Get the datasource by its Id to make sure it exists
|
|
48
57
|
resource = server.datasources.get_by_id(args.resource_id)
|
|
58
|
+
print(resource)
|
|
59
|
+
|
|
60
|
+
# server.datasources.create_extract(resource)
|
|
49
61
|
|
|
50
62
|
# trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
|
|
51
|
-
job = server.datasources.refresh(resource)
|
|
63
|
+
job = server.datasources.refresh(resource, incremental=incremental) # by default runs as a sync task,
|
|
52
64
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
print(f"{refresh_type} job posted (ID: {job.id})")
|
|
66
|
+
if args.synchronous:
|
|
67
|
+
# equivalent to tabcmd --synchnronous: wait for the job to complete
|
|
68
|
+
try:
|
|
69
|
+
# `wait_for_job` will throw if the job isn't executed successfully
|
|
70
|
+
print("Waiting for job...")
|
|
71
|
+
server.jobs.wait_for_job(job)
|
|
72
|
+
print("Job finished succesfully")
|
|
73
|
+
except Exception as e:
|
|
74
|
+
print(f"Job failed! {e}")
|
|
58
75
|
|
|
59
76
|
|
|
60
77
|
if __name__ == "__main__":
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import versioneer
|
|
2
2
|
from setuptools import setup
|
|
3
3
|
|
|
4
|
-
"""
|
|
5
|
-
once versioneer 0.25 gets released, we can move this from setup.cfg to pyproject.toml
|
|
6
|
-
[tool.versioneer]
|
|
7
|
-
VCS = "git"
|
|
8
|
-
style = "pep440-pre"
|
|
9
|
-
versionfile_source = "tableauserverclient/_version.py"
|
|
10
|
-
versionfile_build = "tableauserverclient/_version.py"
|
|
11
|
-
tag_prefix = "v"
|
|
12
|
-
"""
|
|
13
4
|
setup(
|
|
14
5
|
version=versioneer.get_version(),
|
|
15
6
|
cmdclass=versioneer.get_cmdclass(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from tableauserverclient._version import get_versions
|
|
1
|
+
from tableauserverclient.bin._version import get_versions
|
|
2
2
|
from tableauserverclient.namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
|
|
3
3
|
from tableauserverclient.models import (
|
|
4
4
|
BackgroundJobItem,
|
|
@@ -133,3 +133,7 @@ __all__ = [
|
|
|
133
133
|
"WeeklyInterval",
|
|
134
134
|
"WorkbookItem",
|
|
135
135
|
]
|
|
136
|
+
|
|
137
|
+
from .bin import _version
|
|
138
|
+
|
|
139
|
+
__version__ = _version.get_versions()["version"]
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "
|
|
11
|
+
"date": "2025-01-10T10:20:30-0800",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.
|
|
14
|
+
"full-revisionid": "42cecfe268d494284ca74b49aa4e9bfb6cfa197a",
|
|
15
|
+
"version": "0.36"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -2,11 +2,27 @@ from .property_decorators import property_is_boolean
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class ConnectionCredentials:
|
|
5
|
-
"""
|
|
5
|
+
"""
|
|
6
|
+
Connection Credentials for Workbooks and Datasources publish request.
|
|
6
7
|
|
|
7
8
|
Consider removing this object and other variables holding secrets
|
|
8
9
|
as soon as possible after use to avoid them hanging around in memory.
|
|
9
10
|
|
|
11
|
+
Parameters
|
|
12
|
+
----------
|
|
13
|
+
name: str
|
|
14
|
+
The username for the connection.
|
|
15
|
+
|
|
16
|
+
password: str
|
|
17
|
+
The password used for the connection.
|
|
18
|
+
|
|
19
|
+
embed: bool, default True
|
|
20
|
+
Determines whether to embed the password (True) for the workbook or data source connection or not (False).
|
|
21
|
+
|
|
22
|
+
oauth: bool, default False
|
|
23
|
+
Determines whether to use OAuth for the connection (True) or not (False).
|
|
24
|
+
For more information see: https://help.tableau.com/current/server/en-us/protected_auth.htm
|
|
25
|
+
|
|
10
26
|
"""
|
|
11
27
|
|
|
12
28
|
def __init__(self, name, password, embed=True, oauth=False):
|
{tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/connection_item.py
RENAMED
|
@@ -9,6 +9,44 @@ from tableauserverclient.helpers.logging import logger
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class ConnectionItem:
|
|
12
|
+
"""
|
|
13
|
+
Corresponds to workbook and data source connections.
|
|
14
|
+
|
|
15
|
+
Attributes
|
|
16
|
+
----------
|
|
17
|
+
datasource_id: str
|
|
18
|
+
The identifier of the data source.
|
|
19
|
+
|
|
20
|
+
datasource_name: str
|
|
21
|
+
The name of the data source.
|
|
22
|
+
|
|
23
|
+
id: str
|
|
24
|
+
The identifier of the connection.
|
|
25
|
+
|
|
26
|
+
connection_type: str
|
|
27
|
+
The type of connection.
|
|
28
|
+
|
|
29
|
+
username: str
|
|
30
|
+
The username for the connection. (see ConnectionCredentials)
|
|
31
|
+
|
|
32
|
+
password: str
|
|
33
|
+
The password used for the connection. (see ConnectionCredentials)
|
|
34
|
+
|
|
35
|
+
embed_password: bool
|
|
36
|
+
Determines whether to embed the password (True) for the workbook or data source connection or not (False). (see ConnectionCredentials)
|
|
37
|
+
|
|
38
|
+
server_address: str
|
|
39
|
+
The server address for the connection.
|
|
40
|
+
|
|
41
|
+
server_port: str
|
|
42
|
+
The port used for the connection.
|
|
43
|
+
|
|
44
|
+
connection_credentials: ConnectionCredentials
|
|
45
|
+
The Connection Credentials object containing authentication details for
|
|
46
|
+
the connection. Replaces username/password/embed_password when
|
|
47
|
+
publishing a flow, document or workbook file in the request body.
|
|
48
|
+
"""
|
|
49
|
+
|
|
12
50
|
def __init__(self):
|
|
13
51
|
self._datasource_id: Optional[str] = None
|
|
14
52
|
self._datasource_name: Optional[str] = None
|
{tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/custom_view_item.py
RENAMED
|
@@ -5,14 +5,58 @@ from defusedxml.ElementTree import fromstring, tostring
|
|
|
5
5
|
from typing import Callable, Optional
|
|
6
6
|
from collections.abc import Iterator
|
|
7
7
|
|
|
8
|
-
from .exceptions import UnpopulatedPropertyError
|
|
9
|
-
from .user_item import UserItem
|
|
10
|
-
from .view_item import ViewItem
|
|
11
|
-
from .workbook_item import WorkbookItem
|
|
12
|
-
from
|
|
8
|
+
from tableauserverclient.models.exceptions import UnpopulatedPropertyError
|
|
9
|
+
from tableauserverclient.models.user_item import UserItem
|
|
10
|
+
from tableauserverclient.models.view_item import ViewItem
|
|
11
|
+
from tableauserverclient.models.workbook_item import WorkbookItem
|
|
12
|
+
from tableauserverclient.datetime_helpers import parse_datetime
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class CustomViewItem:
|
|
16
|
+
"""
|
|
17
|
+
Represents a Custom View item on Tableau Server.
|
|
18
|
+
|
|
19
|
+
Parameters
|
|
20
|
+
----------
|
|
21
|
+
id : Optional[str]
|
|
22
|
+
The ID of the Custom View item.
|
|
23
|
+
|
|
24
|
+
name : Optional[str]
|
|
25
|
+
The name of the Custom View item.
|
|
26
|
+
|
|
27
|
+
Attributes
|
|
28
|
+
----------
|
|
29
|
+
content_url : Optional[str]
|
|
30
|
+
The content URL of the Custom View item.
|
|
31
|
+
|
|
32
|
+
created_at : Optional[datetime]
|
|
33
|
+
The date and time the Custom View item was created.
|
|
34
|
+
|
|
35
|
+
image: bytes
|
|
36
|
+
The image of the Custom View item. Must be populated first.
|
|
37
|
+
|
|
38
|
+
pdf: bytes
|
|
39
|
+
The PDF of the Custom View item. Must be populated first.
|
|
40
|
+
|
|
41
|
+
csv: Iterator[bytes]
|
|
42
|
+
The CSV of the Custom View item. Must be populated first.
|
|
43
|
+
|
|
44
|
+
shared : Optional[bool]
|
|
45
|
+
Whether the Custom View item is shared.
|
|
46
|
+
|
|
47
|
+
updated_at : Optional[datetime]
|
|
48
|
+
The date and time the Custom View item was last updated.
|
|
49
|
+
|
|
50
|
+
owner : Optional[UserItem]
|
|
51
|
+
The id of the owner of the Custom View item.
|
|
52
|
+
|
|
53
|
+
workbook : Optional[WorkbookItem]
|
|
54
|
+
The id of the workbook the Custom View item belongs to.
|
|
55
|
+
|
|
56
|
+
view : Optional[ViewItem]
|
|
57
|
+
The id of the view the Custom View item belongs to.
|
|
58
|
+
"""
|
|
59
|
+
|
|
16
60
|
def __init__(self, id: Optional[str] = None, name: Optional[str] = None) -> None:
|
|
17
61
|
self._content_url: Optional[str] = None # ?
|
|
18
62
|
self._created_at: Optional["datetime"] = None
|
{tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/flow_item.py
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import datetime
|
|
3
3
|
import xml.etree.ElementTree as ET
|
|
4
|
-
from typing import Optional
|
|
4
|
+
from typing import Iterable, Optional
|
|
5
5
|
|
|
6
6
|
from defusedxml.ElementTree import fromstring
|
|
7
7
|
|
|
@@ -15,6 +15,51 @@ from tableauserverclient.models.tag_item import TagItem
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
class FlowItem:
|
|
18
|
+
"""
|
|
19
|
+
Represents a Tableau Flow item.
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
project_id: str
|
|
24
|
+
The ID of the project that the flow belongs to.
|
|
25
|
+
|
|
26
|
+
name: Optional[str]
|
|
27
|
+
The name of the flow.
|
|
28
|
+
|
|
29
|
+
Attributes
|
|
30
|
+
----------
|
|
31
|
+
connections: Iterable[ConnectionItem]
|
|
32
|
+
The connections associated with the flow. This property is not populated
|
|
33
|
+
by default and must be populated by calling the `populate_connections`
|
|
34
|
+
method.
|
|
35
|
+
|
|
36
|
+
created_at: Optional[datetime.datetime]
|
|
37
|
+
The date and time when the flow was created.
|
|
38
|
+
|
|
39
|
+
description: Optional[str]
|
|
40
|
+
The description of the flow.
|
|
41
|
+
|
|
42
|
+
dqws: Iterable[DQWItem]
|
|
43
|
+
The data quality warnings associated with the flow. This property is not
|
|
44
|
+
populated by default and must be populated by calling the `populate_dqws`
|
|
45
|
+
method.
|
|
46
|
+
|
|
47
|
+
id: Optional[str]
|
|
48
|
+
The ID of the flow.
|
|
49
|
+
|
|
50
|
+
name: Optional[str]
|
|
51
|
+
The name of the flow.
|
|
52
|
+
|
|
53
|
+
owner_id: Optional[str]
|
|
54
|
+
The ID of the user who owns the flow.
|
|
55
|
+
|
|
56
|
+
project_name: Optional[str]
|
|
57
|
+
The name of the project that the flow belongs to.
|
|
58
|
+
|
|
59
|
+
tags: set[str]
|
|
60
|
+
The tags associated with the flow.
|
|
61
|
+
"""
|
|
62
|
+
|
|
18
63
|
def __repr__(self):
|
|
19
64
|
return "<Flow {} '{}' ({}) Project={} createdAt={}".format(
|
|
20
65
|
self._id, self.name, self.description, self.project_id, self.created_at
|
|
@@ -33,9 +78,9 @@ class FlowItem:
|
|
|
33
78
|
self.tags: set[str] = set()
|
|
34
79
|
self.description: Optional[str] = None
|
|
35
80
|
|
|
36
|
-
self._connections: Optional[ConnectionItem] = None
|
|
37
|
-
self._permissions: Optional[Permission] = None
|
|
38
|
-
self._data_quality_warnings: Optional[DQWItem] = None
|
|
81
|
+
self._connections: Optional[Iterable[ConnectionItem]] = None
|
|
82
|
+
self._permissions: Optional[Iterable[Permission]] = None
|
|
83
|
+
self._data_quality_warnings: Optional[Iterable[DQWItem]] = None
|
|
39
84
|
|
|
40
85
|
@property
|
|
41
86
|
def connections(self):
|
{tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/group_item.py
RENAMED
|
@@ -12,6 +12,46 @@ if TYPE_CHECKING:
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class GroupItem:
|
|
15
|
+
"""
|
|
16
|
+
The GroupItem class contains the attributes for the group resources on
|
|
17
|
+
Tableau Server. The GroupItem class defines the information you can request
|
|
18
|
+
or query from Tableau Server. The class members correspond to the attributes
|
|
19
|
+
of a server request or response payload.
|
|
20
|
+
|
|
21
|
+
Parameters
|
|
22
|
+
----------
|
|
23
|
+
name: str
|
|
24
|
+
The name of the group.
|
|
25
|
+
|
|
26
|
+
domain_name: str
|
|
27
|
+
The name of the Active Directory domain ("local" if local authentication is used).
|
|
28
|
+
|
|
29
|
+
Properties
|
|
30
|
+
----------
|
|
31
|
+
users: Pager[UserItem]
|
|
32
|
+
The users in the group. Must be populated with a call to `populate_users()`.
|
|
33
|
+
|
|
34
|
+
id: str
|
|
35
|
+
The unique identifier for the group.
|
|
36
|
+
|
|
37
|
+
minimum_site_role: str
|
|
38
|
+
The minimum site role for users in the group. Use the `UserItem.Roles` enum.
|
|
39
|
+
Users in the group cannot have their site role set lower than this value.
|
|
40
|
+
|
|
41
|
+
license_mode: str
|
|
42
|
+
The mode defining when to apply licenses for group members. When the
|
|
43
|
+
mode is onLogin, a license is granted for each group member when they
|
|
44
|
+
login to a site. When the mode is onSync, a license is granted for group
|
|
45
|
+
members each time the domain is synced.
|
|
46
|
+
|
|
47
|
+
Examples
|
|
48
|
+
--------
|
|
49
|
+
>>> # Create a new group item
|
|
50
|
+
>>> newgroup = TSC.GroupItem('My Group')
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
"""
|
|
54
|
+
|
|
15
55
|
tag_name: str = "group"
|
|
16
56
|
|
|
17
57
|
class LicenseMode:
|