Skip to content

Commit 59ab30b

Browse files
authored
Doc updates Oct 2026 (#1890)
* Improve notes for working on docs * Fix link to update connection auth sample file * Update list of samples to match the latest * Improve python version explanation * Address minor copilot review comments * Editing pass having just done a release
1 parent 632ff82 commit 59ab30b

4 files changed

Lines changed: 68 additions & 11 deletions

File tree

‎docs/api-ref.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1722,7 +1722,7 @@ conn.embed_password = True
17221722
server.datasources.update_connection(datasource_item, conn)
17231723
```
17241724

1725-
See [`samples/update_connection_to_keypair.py`](https://github.com/tableau/server-client-python/blob/master/samples/update_connection_to_keypair.py) for a runnable end-to-end example, and the REST API [authenticationType reference](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_data_sources.htm#update_data_source_connection) for the full list of supported values.
1725+
See [`samples/update_connection_auth.py`](https://github.com/tableau/server-client-python/blob/master/samples/update_connection_auth.py) for a runnable end-to-end example, and the REST API [authenticationType reference](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_ref_data_sources.htm#update_data_source_connection) for the full list of supported values.
17261726

17271727
<br>
17281728
<br>

‎docs/dev-guide.md‎

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ to link them to each other in comments so it's clear they go together.
208208

209209
To preview and run the documentation locally, these are the steps:
210210

211-
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/) (v2.5.0 or higher).
211+
1. Install [Ruby](https://www.ruby-lang.org/en/documentation/installation/) v3.1.x. This matches what GitHub is currently using; higher versions can have package version problems.
212212

213213
1. Install [Bundler](https://bundler.io/).
214214

@@ -221,15 +221,34 @@ To preview and run the documentation locally, these are the steps:
221221
For more details, see the GitHub Pages topic on
222222
[testing locally](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll).
223223

224+
### Link checking
225+
226+
To run a link checker locally, this is one way to do it using the Python [linkchecker](https://github.com/linkchecker/linkchecker) project.
227+
228+
First, start the local preview server:
229+
230+
```bash
231+
bundle install # or bundle update
232+
bundle exec jekyll serve
233+
```
234+
235+
Then, in another shell run the link checker:
236+
237+
```bash
238+
uvx linkchecker --check-extern --no-warnings http://localhost:4000/server-client-python/ --ignore-url="tableau.github.io" --ignore-url="127.0.0.1"
239+
```
240+
224241
## Release process (maintainers)
225242

226243
To do a release and publish a new version to [PyPI](https://pypi.org/project/tableauserverclient/),
227244
follow these steps:
228245

229-
1. Do a `development` to `master` branch merge. This should be a regular merge
230-
(not a squash) to ensure all individual commits are visible.
246+
1. Do a `development` to `master` branch merge. This should be a Merge commit
247+
(not Squash or Rebase) to ensure all individual commits are visible in both
248+
branches.
231249

232250
1. (Optional) Do a test publish to PyPI without creating the next version tag.
251+
Run the [Publish][] job and choosing the `development` branch.
233252
This will create a pre-release package with a version like `0.30.post0.dev`.
234253

235254
1. On a local clone of the repo, create and push the tag for the *next* version
@@ -245,12 +264,40 @@ follow these steps:
245264
git push origin tag v0.31
246265
```
247266

248-
1. Publish the updated release to PyPI by running the [Publish](https://github.com/tableau/server-client-python/actions/workflows/publish-pypi.yml)
249-
job and choosing the `master` branch.
267+
1. Create a release in GitHub with the title like "v0.31" and release notes
268+
with changes from the last release. You can try the automatic generation
269+
of notes, or create a list with your favorite AI agent (see below).
270+
271+
1. Creating the release from the new tag should automatically start the publish
272+
to PyPI. View the [Publish][] job to confirm the new version is running. If
273+
you need or want to trigger one manually, choose the `master` branch.
274+
275+
1. Ask another maintainer to approve the publish to PyPI step from the Publish
276+
flow.
250277

251-
1. The job should just take a few minutes to complete, then check the updated
278+
1. After the final publishing step, check the updated
252279
package exists on [PyPI](https://pypi.org/project/tableauserverclient/).
253280

254-
1. Create a release in GitHub with the title like "v0.31" and release notes
255-
with changes from the last release. You can try the automatic generation
256-
of notes, or just create a list of merged PR titles with reference PR numbers.
281+
[Publish]: https://github.com/tableau/server-client-python/actions/workflows/publish-pypi.yml
282+
283+
### AI prompt for release notes
284+
285+
```
286+
Generate draft release notes for this project. Use the template below. Replace "vNEW" with the new tag and "vOLD" with the prior one. For example we might have vNEW=v0.42 and vOLD=v0.41.
287+
288+
Review all the merged pull requests from vOLD to current. Make a determination between new features and bug improvements. We can also create a category called Other for anything that doesn't fit the first two buckets. For each line item, give a bold summary, a link to the pull request, and then a short explanation.
289+
290+
Markdown template follows:
291+
292+
## vNEW Release Summary
293+
294+
## New Features
295+
296+
- **SVG format support for view images** (PR #1772) — sheet images can now be downloaded as SVG in addition to PNG
297+
298+
## Bug Fixes
299+
300+
- **Treat 409 errors as success on already-created jobs** (PR #1772) — recognize when the job the user wants to create already exists
301+
302+
**Full Changelog**: https://github.com/tableau/server-client-python/compare/vOLD...vNEW
303+
```

‎docs/index.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ This page describes how to:
2121

2222
Before you install TSC, confirm that you have the following dependencies installed:
2323

24-
* Python. You can use TSC with Python 3.7 or later. Ideally, use a Python version that hasn't reached end-of-life yet. (Refer to the [Status of Python versions](https://devguide.python.org/versions/)).
24+
* Python. You can use TSC with Python 3.10 or later. Active development is focused on Python versions that haven't reached end-of-life yet. (Refer to the [Status of Python versions](https://devguide.python.org/versions/)).
2525
* Git. Optional, but recommended to download the samples or install from the source code.
2626

2727
## Install TSC

‎docs/samples.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ The following list describes the samples available in the repository:
4545
* `create_group.py` Creates a user group.
4646
* `create_project.py` Creates a project in a site.
4747
* `create_schedules.py` Creates schedules for extract refreshes and subscriptions.
48+
* `create_user.py` Creates a user on a site.
4849
* `explore_datasource.py` Queries datasources, selects a datasource, populates connections for the datasource, then updates the datasource.
4950
* `explore_favorites.py` Queries favorites and optionally add or delete favorites.
5051
* `explore_site.py` Interacts with sites (create, delete, and so on).
@@ -54,10 +55,17 @@ The following list describes the samples available in the repository:
5455
* `extracts.py` Interacts with extracts, including querying, deleting or creating.
5556
* `filter_sort_groups.py` Demonstrates filtering and sorting user groups.
5657
* `filter_sort_projects.py` Demonstrates filtering and sorting projects.
58+
* `getting_started/1_hello_server.py` Connects to a server and prints server info, with no site or sign-in.
59+
* `getting_started/2_hello_site.py` Signs in and lists projects on a site.
60+
* `getting_started/3_hello_universe.py` Signs in and lists the main content types on a site.
5761
* `initialize_server.py` Sets up an existing server instance with site, workbooks and datasources.
62+
* `inspect_connection_details.py` Downloads a workbook or datasource and reads connector-specific connection attributes that the REST connection object does not expose.
5863
* `kill_all_jobs.py` Kills all running jobs.
5964
* `list.py` Lists all datasources or workbooks of a site.
65+
* `list_jobs.py` Lists background jobs on a site and can wait for a specific job to finish.
6066
* `login.py` Demonstrates logging in to the server with either username/password or personal access token.
67+
* `manage_subscriptions.py` Lists, creates, and deletes subscriptions.
68+
* `metadata_paginated_query.py` Uses the metadata API to query published data sources, paging through the results.
6169
* `metadata_query.py` Uses the metadata API to query information on a published data source.
6270
* `move_workbook_projects.py` Moves a workbook from one project to another.
6371
* `move_workbook_sites.py` Downloads a workbook, stores it in-memory, and uploads it to another site.
@@ -70,6 +78,8 @@ The following list describes the samples available in the repository:
7078
* `set_refresh_schedule.py` Sets the schedule to refresh a workbook or datasource.
7179
* `smoke_test.py` Verifies that TSC is installed correctly and is able to run.
7280
* `update_connection.py` Updates and embeds connection credentials of a datasource.
81+
* `update_connection_auth.py` Updates authentication on a single workbook or datasource connection.
82+
* `update_connections_auth.py` Updates authentication on every connection of a workbook or datasource.
7383
* `update_datasource_data.py` Updates the data within a published live-to-Hyper datasource.
7484
* `update_workbook_data_freshness_policy.py` Updates workbook data freshness policy settings.
7585

0 commit comments

Comments
 (0)