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.
Files changed (452) hide show
  1. {tableauserverclient-0.39 → tableauserverclient-0.40}/PKG-INFO +1 -1
  2. {tableauserverclient-0.39 → tableauserverclient-0.40}/pyproject.toml +7 -1
  3. tableauserverclient-0.40/tableauserverclient/__init__.py +150 -0
  4. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/bin/_version.py +3 -3
  5. tableauserverclient-0.40/tableauserverclient/config.py +27 -0
  6. tableauserverclient-0.40/tableauserverclient/datetime_helpers.py +45 -0
  7. tableauserverclient-0.40/tableauserverclient/exponential_backoff.py +30 -0
  8. tableauserverclient-0.40/tableauserverclient/filesys_helpers.py +63 -0
  9. tableauserverclient-0.40/tableauserverclient/namespace.py +37 -0
  10. {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/PKG-INFO +1 -1
  11. {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/SOURCES.txt +11 -5
  12. tableauserverclient-0.40/tableauserverclient.egg-info/top_level.txt +1 -0
  13. tableauserverclient-0.39/tableauserverclient/tableauserverclient.egg-info/top_level.txt +0 -4
  14. {tableauserverclient-0.39 → tableauserverclient-0.40}/CHANGELOG.md +0 -0
  15. {tableauserverclient-0.39 → tableauserverclient-0.40}/CONTRIBUTORS.md +0 -0
  16. {tableauserverclient-0.39 → tableauserverclient-0.40}/LICENSE +0 -0
  17. {tableauserverclient-0.39 → tableauserverclient-0.40}/LICENSE.versioneer +0 -0
  18. {tableauserverclient-0.39 → tableauserverclient-0.40}/MANIFEST.in +0 -0
  19. {tableauserverclient-0.39 → tableauserverclient-0.40}/README.md +0 -0
  20. {tableauserverclient-0.39 → tableauserverclient-0.40}/contributing.md +0 -0
  21. {tableauserverclient-0.39 → tableauserverclient-0.40}/docs/README.md +0 -0
  22. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/add_default_permission.py +0 -0
  23. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_extract_task.py +0 -0
  24. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_group.py +0 -0
  25. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_project.py +0 -0
  26. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_schedules.py +0 -0
  27. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/create_user.py +0 -0
  28. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_datasource.py +0 -0
  29. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_favorites.py +0 -0
  30. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_site.py +0 -0
  31. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_webhooks.py +0 -0
  32. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/explore_workbook.py +0 -0
  33. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/export.py +0 -0
  34. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/extracts.py +0 -0
  35. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/filter_sort_groups.py +0 -0
  36. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/filter_sort_projects.py +0 -0
  37. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/1_hello_server.py +0 -0
  38. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/2_hello_site.py +0 -0
  39. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/getting_started/3_hello_universe.py +0 -0
  40. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/initialize_server.py +0 -0
  41. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/kill_all_jobs.py +0 -0
  42. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/list.py +0 -0
  43. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/login.py +0 -0
  44. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/metadata_paginated_query.py +0 -0
  45. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/metadata_query.py +0 -0
  46. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/move_workbook_projects.py +0 -0
  47. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/move_workbook_sites.py +0 -0
  48. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/name.txt +0 -0
  49. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/pagination_sample.py +0 -0
  50. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/publish_datasource.py +0 -0
  51. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/publish_workbook.py +0 -0
  52. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/query_permissions.py +0 -0
  53. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/refresh.py +0 -0
  54. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/refresh_tasks.py +0 -0
  55. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/set_refresh_schedule.py +0 -0
  56. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/smoke_test.py +0 -0
  57. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connection.py +0 -0
  58. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connection_auth.py +0 -0
  59. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_connections_auth.py +0 -0
  60. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_datasource_data.py +0 -0
  61. {tableauserverclient-0.39 → tableauserverclient-0.40}/samples/update_workbook_data_freshness_policy.py +0 -0
  62. {tableauserverclient-0.39 → tableauserverclient-0.40}/setup.cfg +0 -0
  63. {tableauserverclient-0.39 → tableauserverclient-0.40}/setup.py +0 -0
  64. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/bin/__init__.py +0 -0
  65. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/__init__.py +0 -0
  66. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/headers.py +0 -0
  67. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/logging.py +0 -0
  68. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/helpers/strings.py +0 -0
  69. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/__init__.py +0 -0
  70. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/collection_item.py +0 -0
  71. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/column_item.py +0 -0
  72. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/connection_credentials.py +0 -0
  73. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/connection_item.py +0 -0
  74. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/custom_view_item.py +0 -0
  75. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_acceleration_report_item.py +0 -0
  76. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_alert_item.py +0 -0
  77. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/data_freshness_policy_item.py +0 -0
  78. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/database_item.py +0 -0
  79. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/datasource_item.py +0 -0
  80. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/dqw_item.py +0 -0
  81. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/exceptions.py +0 -0
  82. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extensions_item.py +0 -0
  83. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/extract_item.py +0 -0
  84. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/favorites_item.py +0 -0
  85. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/fileupload_item.py +0 -0
  86. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_item.py +0 -0
  87. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/flow_run_item.py +0 -0
  88. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/group_item.py +0 -0
  89. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/groupset_item.py +0 -0
  90. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/interval_item.py +0 -0
  91. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/job_item.py +0 -0
  92. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/linked_tasks_item.py +0 -0
  93. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/location_item.py +0 -0
  94. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/metric_item.py +0 -0
  95. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/oidc_item.py +0 -0
  96. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/pagination_item.py +0 -0
  97. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/permissions_item.py +0 -0
  98. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/project_item.py +0 -0
  99. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/property_decorators.py +0 -0
  100. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/reference_item.py +0 -0
  101. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/revision_item.py +0 -0
  102. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/schedule_item.py +0 -0
  103. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/server_info_item.py +0 -0
  104. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/site_item.py +0 -0
  105. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/subscription_item.py +0 -0
  106. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/table_item.py +0 -0
  107. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tableau_auth.py +0 -0
  108. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tableau_types.py +0 -0
  109. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/tag_item.py +0 -0
  110. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/target.py +0 -0
  111. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/task_item.py +0 -0
  112. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/user_item.py +0 -0
  113. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/view_item.py +0 -0
  114. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/virtual_connection_item.py +0 -0
  115. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/webhook_item.py +0 -0
  116. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/models/workbook_item.py +0 -0
  117. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/py.typed +0 -0
  118. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/__init__.py +0 -0
  119. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/__init__.py +0 -0
  120. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/auth_endpoint.py +0 -0
  121. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/custom_views_endpoint.py +0 -0
  122. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/data_acceleration_report_endpoint.py +0 -0
  123. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/data_alert_endpoint.py +0 -0
  124. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/databases_endpoint.py +0 -0
  125. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/datasources_endpoint.py +0 -0
  126. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/default_permissions_endpoint.py +0 -0
  127. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/dqw_endpoint.py +0 -0
  128. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/endpoint.py +0 -0
  129. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/exceptions.py +0 -0
  130. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/extensions_endpoint.py +0 -0
  131. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/favorites_endpoint.py +0 -0
  132. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/fileuploads_endpoint.py +0 -0
  133. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flow_runs_endpoint.py +0 -0
  134. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flow_task_endpoint.py +0 -0
  135. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/flows_endpoint.py +0 -0
  136. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/groups_endpoint.py +0 -0
  137. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/groupsets_endpoint.py +0 -0
  138. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/jobs_endpoint.py +0 -0
  139. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/linked_tasks_endpoint.py +0 -0
  140. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/metadata_endpoint.py +0 -0
  141. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/metrics_endpoint.py +0 -0
  142. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/oidc_endpoint.py +0 -0
  143. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/permissions_endpoint.py +0 -0
  144. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/projects_endpoint.py +0 -0
  145. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/resource_tagger.py +0 -0
  146. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/schedules_endpoint.py +0 -0
  147. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/server_info_endpoint.py +0 -0
  148. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/sites_endpoint.py +0 -0
  149. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/subscriptions_endpoint.py +0 -0
  150. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/tables_endpoint.py +0 -0
  151. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/tasks_endpoint.py +0 -0
  152. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/users_endpoint.py +0 -0
  153. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/views_endpoint.py +0 -0
  154. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/virtual_connections_endpoint.py +0 -0
  155. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/webhooks_endpoint.py +0 -0
  156. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/endpoint/workbooks_endpoint.py +0 -0
  157. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/exceptions.py +0 -0
  158. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/filter.py +0 -0
  159. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/pager.py +0 -0
  160. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/query.py +0 -0
  161. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/request_factory.py +0 -0
  162. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/request_options.py +0 -0
  163. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/server.py +0 -0
  164. {tableauserverclient-0.39 → tableauserverclient-0.40}/tableauserverclient/server/sort.py +0 -0
  165. {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/dependency_links.txt +0 -0
  166. {tableauserverclient-0.39/tableauserverclient → tableauserverclient-0.40}/tableauserverclient.egg-info/requires.txt +0 -0
  167. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/__init__.py +0 -0
  168. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/_utils.py +0 -0
  169. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/Tableau Samples/World Indicators.tde +0 -0
  170. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/user_details.csv +0 -0
  171. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Data/usernames.csv +0 -0
  172. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/RESTAPISample Image.png +0 -0
  173. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/Sample View Image.png +0 -0
  174. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/World Indicators.hyper +0 -0
  175. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in.xml +0 -0
  176. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in_error.xml +0 -0
  177. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/auth_sign_in_impersonate.xml +0 -0
  178. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_download.json +0 -0
  179. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_get.xml +0 -0
  180. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_get_id.xml +0 -0
  181. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/custom_view_update.xml +0 -0
  182. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_acceleration_report.xml +0 -0
  183. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_add_user.xml +0 -0
  184. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_get.xml +0 -0
  185. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_get_by_id.xml +0 -0
  186. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/data_alerts_update.xml +0 -0
  187. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_get.xml +0 -0
  188. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_populate_permissions.xml +0 -0
  189. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/database_update.xml +0 -0
  190. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_add_tags.xml +0 -0
  191. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_connection_update.xml +0 -0
  192. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_connections_update.xml +0 -0
  193. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_data_update.xml +0 -0
  194. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get.xml +0 -0
  195. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_all_fields.xml +0 -0
  196. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_by_id.xml +0 -0
  197. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_empty.xml +0 -0
  198. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_get_no_owner.xml +0 -0
  199. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_populate_connections.xml +0 -0
  200. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_populate_permissions.xml +0 -0
  201. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_publish.xml +0 -0
  202. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_publish_async.xml +0 -0
  203. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_refresh.xml +0 -0
  204. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_revision.xml +0 -0
  205. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/datasource_update.xml +0 -0
  206. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/dqw_by_content_type.xml +0 -0
  207. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_server_settings_false.xml +0 -0
  208. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_server_settings_true.xml +0 -0
  209. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/extensions_site_settings.xml +0 -0
  210. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_datasource.xml +0 -0
  211. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_project.xml +0 -0
  212. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_view.xml +0 -0
  213. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_add_workbook.xml +0 -0
  214. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/favorites_get.xml +0 -0
  215. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/fileupload_append.xml +0 -0
  216. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/fileupload_initialize.xml +0 -0
  217. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_get.xml +0 -0
  218. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_get_by_id.xml +0 -0
  219. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_populate_connections.xml +0 -0
  220. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_populate_permissions.xml +0 -0
  221. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_publish.xml +0 -0
  222. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_refresh.xml +0 -0
  223. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get.xml +0 -0
  224. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id.xml +0 -0
  225. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id_failed.xml +0 -0
  226. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_runs_get_by_id_inprogress.xml +0 -0
  227. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/flow_update.xml +0 -0
  228. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_add_user.xml +0 -0
  229. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_add_users.xml +0 -0
  230. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create.xml +0 -0
  231. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create_ad.xml +0 -0
  232. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_create_async.xml +0 -0
  233. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_get.xml +0 -0
  234. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_get_all_fields.xml +0 -0
  235. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_populate_users.xml +0 -0
  236. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_populate_users_empty.xml +0 -0
  237. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_update.xml +0 -0
  238. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_update_async.xml +0 -0
  239. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/group_users_added.xml +0 -0
  240. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_create.xml +0 -0
  241. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_get.xml +0 -0
  242. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_get_by_id.xml +0 -0
  243. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/groupsets_update.xml +0 -0
  244. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get.xml +0 -0
  245. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id.xml +0 -0
  246. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_completed.xml +0 -0
  247. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_failed.xml +0 -0
  248. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_failed_workbook.xml +0 -0
  249. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/job_get_by_id_inprogress.xml +0 -0
  250. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/linked_tasks_get.xml +0 -0
  251. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/linked_tasks_run_now.xml +0 -0
  252. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_1.json +0 -0
  253. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_2.json +0 -0
  254. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_paged_3.json +0 -0
  255. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_error.json +0 -0
  256. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_expected_dict.dict +0 -0
  257. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metadata_query_success.json +0 -0
  258. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_get.xml +0 -0
  259. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_get_by_id.xml +0 -0
  260. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/metrics_update.xml +0 -0
  261. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/odata_connection.xml +0 -0
  262. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_create.xml +0 -0
  263. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_get.xml +0 -0
  264. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/oidc_update.xml +0 -0
  265. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/populate_csv.csv +0 -0
  266. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/populate_pdf.pdf +0 -0
  267. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_content_permission.xml +0 -0
  268. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_create.xml +0 -0
  269. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_get.xml +0 -0
  270. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_get_all_fields.xml +0 -0
  271. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_permissions.xml +0 -0
  272. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_virtualconnection_default_permissions.xml +0 -0
  273. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_populate_workbook_default_permissions.xml +0 -0
  274. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update.xml +0 -0
  275. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update_datasource_default_permissions.xml +0 -0
  276. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/project_update_virtualconnection_default_permissions.xml +0 -0
  277. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/queryset_slicing_page_1.xml +0 -0
  278. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/queryset_slicing_page_2.xml +0 -0
  279. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_equals.xml +0 -0
  280. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_name_in.xml +0 -0
  281. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_filter_tags_in.xml +0 -0
  282. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_page_number.xml +0 -0
  283. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_page_size.xml +0 -0
  284. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_pagination.xml +0 -0
  285. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/request_option_slicing_queryset.xml +0 -0
  286. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_datasource.xml +0 -0
  287. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_flow.xml +0 -0
  288. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_workbook.xml +0 -0
  289. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_add_workbook_with_warnings.xml +0 -0
  290. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_batch_update_state.xml +0 -0
  291. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_daily.xml +0 -0
  292. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_hourly.xml +0 -0
  293. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_monthly.xml +0 -0
  294. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_create_weekly.xml +0 -0
  295. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get.xml +0 -0
  296. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_by_id.xml +0 -0
  297. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_customized_monthly_id.xml +0 -0
  298. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_daily_id.xml +0 -0
  299. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_empty.xml +0 -0
  300. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_extract_refresh_tasks.xml +0 -0
  301. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_hourly_id.xml +0 -0
  302. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_monthly_id.xml +0 -0
  303. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_get_monthly_id_2.xml +0 -0
  304. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/schedule_update.xml +0 -0
  305. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_25.xml +0 -0
  306. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_404.xml +0 -0
  307. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_auth_info.xml +0 -0
  308. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/server_info_get.xml +0 -0
  309. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_auth_configurations.xml +0 -0
  310. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_create.xml +0 -0
  311. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get.xml +0 -0
  312. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get_by_id.xml +0 -0
  313. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_get_by_name.xml +0 -0
  314. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/site_update.xml +0 -0
  315. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_create.xml +0 -0
  316. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_get.xml +0 -0
  317. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/subscription_get_by_id.xml +0 -0
  318. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/table_get.xml +0 -0
  319. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/table_update.xml +0 -0
  320. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_create_extract_task.xml +0 -0
  321. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_create_flow_task.xml +0 -0
  322. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_no_workbook_or_datasource.xml +0 -0
  323. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_run_now_response.xml +0 -0
  324. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_dataacceleration_task.xml +0 -0
  325. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_datasource.xml +0 -0
  326. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_interval.xml +0 -0
  327. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_workbook.xml +0 -0
  328. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_with_workbook_and_datasource.xml +0 -0
  329. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/tasks_without_schedule.xml +0 -0
  330. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_add.xml +0 -0
  331. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_add_favorite.xml +0 -0
  332. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get.xml +0 -0
  333. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_all_fields.xml +0 -0
  334. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_by_id.xml +0 -0
  335. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_get_empty.xml +0 -0
  336. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_populate_groups.xml +0 -0
  337. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_populate_workbooks.xml +0 -0
  338. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/user_update.xml +0 -0
  339. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/users_bulk_add_job.xml +0 -0
  340. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_add_tags.xml +0 -0
  341. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get.xml +0 -0
  342. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_all_fields.xml +0 -0
  343. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_id.xml +0 -0
  344. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_id_usage.xml +0 -0
  345. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_get_usage.xml +0 -0
  346. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_populate_permissions.xml +0 -0
  347. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/view_update_permissions.xml +0 -0
  348. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_add_permissions.xml +0 -0
  349. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_database_connection_update.xml +0 -0
  350. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_populate_connections.xml +0 -0
  351. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connection_populate_connections2.xml +0 -0
  352. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_download.xml +0 -0
  353. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_get.xml +0 -0
  354. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_publish.xml +0 -0
  355. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_revisions.xml +0 -0
  356. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/virtual_connections_update.xml +0 -0
  357. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_create.xml +0 -0
  358. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_create_request.xml +0 -0
  359. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/webhook_get.xml +0 -0
  360. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_add_tags.xml +0 -0
  361. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get.xml +0 -0
  362. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_all_fields.xml +0 -0
  363. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id.xml +0 -0
  364. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id_acceleration_status.xml +0 -0
  365. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_by_id_personal.xml +0 -0
  366. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_empty.xml +0 -0
  367. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_invalid_date.xml +0 -0
  368. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_1.xml +0 -0
  369. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_2.xml +0 -0
  370. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_get_page_3.xml +0 -0
  371. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_connections.xml +0 -0
  372. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_permissions.xml +0 -0
  373. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_views.xml +0 -0
  374. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_populate_views_usage.xml +0 -0
  375. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_publish.xml +0 -0
  376. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_publish_async.xml +0 -0
  377. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_refresh.xml +0 -0
  378. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_revision.xml +0 -0
  379. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update.xml +0 -0
  380. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_acceleration_status.xml +0 -0
  381. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_connections.xml +0 -0
  382. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy.xml +0 -0
  383. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy2.xml +0 -0
  384. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy3.xml +0 -0
  385. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy4.xml +0 -0
  386. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy5.xml +0 -0
  387. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_data_freshness_policy6.xml +0 -0
  388. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_permissions.xml +0 -0
  389. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/assets/workbook_update_views_acceleration_status.xml +0 -0
  390. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/http/__init__.py +0 -0
  391. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/http/test_http_requests.py +0 -0
  392. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/__init__.py +0 -0
  393. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/_models.py +0 -0
  394. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/models/test_repr.py +0 -0
  395. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/__init__.py +0 -0
  396. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_datasource_requests.py +0 -0
  397. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_task_requests.py +0 -0
  398. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/request_factory/test_workbook_requests.py +0 -0
  399. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_auth.py +0 -0
  400. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_connection_.py +0 -0
  401. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_custom_view.py +0 -0
  402. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_data_acceleration_report.py +0 -0
  403. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_data_freshness_policy.py +0 -0
  404. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_dataalert.py +0 -0
  405. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_database.py +0 -0
  406. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_datasource.py +0 -0
  407. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_datasource_model.py +0 -0
  408. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_dqw.py +0 -0
  409. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_endpoint.py +0 -0
  410. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_exponential_backoff.py +0 -0
  411. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_extensions.py +0 -0
  412. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_favorites.py +0 -0
  413. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_filesys_helpers.py +0 -0
  414. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_fileuploads.py +0 -0
  415. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_filter.py +0 -0
  416. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flow.py +0 -0
  417. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flowruns.py +0 -0
  418. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_flowtask.py +0 -0
  419. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_group.py +0 -0
  420. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_group_model.py +0 -0
  421. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_groupsets.py +0 -0
  422. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_job.py +0 -0
  423. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_linked_tasks.py +0 -0
  424. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_metadata.py +0 -0
  425. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_metrics.py +0 -0
  426. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_oidc.py +0 -0
  427. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_pager.py +0 -0
  428. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_permissionsrule.py +0 -0
  429. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_project.py +0 -0
  430. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_project_model.py +0 -0
  431. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_regression_tests.py +0 -0
  432. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_request_option.py +0 -0
  433. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_requests.py +0 -0
  434. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_schedule.py +0 -0
  435. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_server_info.py +0 -0
  436. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_site.py +0 -0
  437. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_site_model.py +0 -0
  438. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_sort.py +0 -0
  439. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_ssl_config.py +0 -0
  440. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_subscription.py +0 -0
  441. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_table.py +0 -0
  442. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_tableauauth_model.py +0 -0
  443. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_tagging.py +0 -0
  444. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_task.py +0 -0
  445. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_user.py +0 -0
  446. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_user_model.py +0 -0
  447. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_view.py +0 -0
  448. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_view_acceleration.py +0 -0
  449. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_virtual_connection.py +0 -0
  450. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_webhook.py +0 -0
  451. {tableauserverclient-0.39 → tableauserverclient-0.40}/test/test_workbook.py +0 -0
  452. {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.39
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 = ["tableauserverclient"]
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-02T11:01:51-0800",
11
+ "date": "2026-02-03T12:18:13-0800",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "34ac954b8edd87e367e4e1f54b4179aee54e2816",
15
- "version": "0.39"
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.39
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