Skip to content

Commit 447357f

Browse files
authored
General updates along with Python 3.14 (#269)
* Version upgrade - Add python 3.14 to supported range - Switch tasks to use 3.14 - Upgrade several github actions to their latest versions * Change contributing from a non-functional link to a real pointer * Get Jekyll pages running locally and consistently with server side * Created new Pages workflow along with updated Gemfile instead of GitHub's default server-side build, so the published site matches what you see in local jekyll serve. * Clean up some old files no longer relevant, even though we appreciate our founders here Co-authored by Claude Code.
1 parent 39d5967 commit 447357f

13 files changed

Lines changed: 97 additions & 102 deletions

File tree

.github/workflows/pages.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# Build and deploy the docs/ site to GitHub Pages using the repo's own
2+
# Jekyll 4 Gemfile, so the published site matches a local `jekyll serve`.
3+
# (GitHub's default Pages build uses the github-pages gem / Jekyll 3.9.)
4+
name: Deploy docs to Pages
5+
6+
on:
7+
push:
8+
branches: [master]
9+
paths:
10+
- "docs/**"
11+
- ".github/workflows/pages.yml"
12+
workflow_dispatch:
13+
14+
# Allow GITHUB_TOKEN to deploy to Pages.
15+
permissions:
16+
contents: read
17+
pages: write
18+
id-token: write
19+
20+
# Allow one concurrent deployment; don't cancel an in-progress run.
21+
concurrency:
22+
group: pages
23+
cancel-in-progress: false
24+
25+
jobs:
26+
build:
27+
runs-on: ubuntu-latest
28+
defaults:
29+
run:
30+
working-directory: docs
31+
steps:
32+
- uses: actions/checkout@v7
33+
- name: Setup Ruby
34+
uses: ruby/setup-ruby@v1
35+
with:
36+
ruby-version: "3.4"
37+
bundler-cache: true
38+
working-directory: docs
39+
- name: Configure Pages
40+
id: pages
41+
uses: actions/configure-pages@v6
42+
- name: Build site
43+
env:
44+
JEKYLL_ENV: production
45+
PAGES_BASE_PATH: ${{ steps.pages.outputs.base_path }}
46+
run: bundle exec jekyll build --baseurl "$PAGES_BASE_PATH"
47+
- name: Upload artifact
48+
uses: actions/upload-pages-artifact@v5
49+
with:
50+
path: docs/_site
51+
52+
deploy:
53+
needs: build
54+
runs-on: ubuntu-latest
55+
environment:
56+
name: github-pages
57+
url: ${{ steps.deployment.outputs.page_url }}
58+
steps:
59+
- name: Deploy to GitHub Pages
60+
id: deployment
61+
uses: actions/deploy-pages@v5

.github/workflows/publish-pypi.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010
name: Build dist files for PyPi
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v4
13+
- uses: actions/checkout@v7
1414
with:
1515
fetch-depth: 0
16-
- uses: actions/setup-python@v4
16+
- uses: actions/setup-python@v6
1717
with:
18-
python-version: 3.13
18+
python-version: 3.14
1919
- name: Build dist files
2020
run: >
2121
python -m pip install --upgrade pip && pip install -e .[build] &&

.github/workflows/python-package.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ jobs:
1616
strategy:
1717
fail-fast: false
1818
matrix:
19-
python-version: ["3.10", "3.11", "3.12", "3.13"]
19+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
2020

2121
steps:
22-
- uses: actions/checkout@v4
22+
- uses: actions/checkout@v7
2323
- name: Set up Python ${{ matrix.python-version }}
24-
uses: actions/setup-python@v4
24+
uses: actions/setup-python@v6
2525
with:
2626
python-version: ${{ matrix.python-version }}
2727
- name: Install dependencies
@@ -37,12 +37,12 @@ jobs:
3737
strategy:
3838
fail-fast: false
3939
matrix:
40-
python-version: [3.13]
40+
python-version: [3.14]
4141

4242
steps:
43-
- uses: actions/checkout@v2
43+
- uses: actions/checkout@v7
4444
- name: Set up Python ${{ matrix.python-version }}
45-
uses: actions/setup-python@v2
45+
uses: actions/setup-python@v6
4646
with:
4747
python-version: ${{ matrix.python-version }}
4848
- name: Install dependencies

CHANGELOG.md

Lines changed: 0 additions & 59 deletions
This file was deleted.

CONTRIBUTORS.md

Lines changed: 0 additions & 15 deletions
This file was deleted.

contributing.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

contributing.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Contributing
2+
3+
See the [Contributing guide](https://tableau.github.io/document-api-python/docs/contributing) in the project documentation.

docs/Gemfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
source 'https://rubygems.org'
2-
gem 'github-pages', group: :jekyll_plugins
32

3+
# Standalone Jekyll 4 runs on modern Ruby (4.0+). We don't use the
4+
# github-pages gem because it pins an old Jekyll/Liquid that is
5+
# incompatible with Ruby 3.2+ (String#untaint was removed).
6+
gem 'jekyll', '~> 4.3'
7+
8+
# webrick was removed from Ruby's default gems in 3.0; needed by `jekyll serve`.
9+
gem 'webrick'

docs/docs/api-ref.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ Saves any changes to the workbook to a new file specified by the `new_file` para
3434

3535
`self.worksheets:` Returns a list of worksheets found in the workbook.
3636

37-
`self.datasources:` Returns a list of Datasource objects found in the workbook.
37+
`self.datasources:` Returns a list of datasource objects found in the workbook.
3838

3939
`self.filename:` Returns the filename of the workbook.
4040

4141
`self.shapes` Returns a list of strings with the names of shapes found in the workbook.
4242

43-
`self.dashboards:` Returns a list of strings with the names of the dashboards found in the workbook
43+
`self.dashboards:` Returns a list of strings with the names of the dashboards found in the workbook
4444

4545
## Datasources
4646
```python
@@ -56,13 +56,13 @@ A class representing Tableau Data Sources, embedded in workbook files or in TDS
5656

5757
`Datasource.save(self)` Saves any changes to the datasource to the existing file.
5858

59-
`Datasource.save_as(self)` Saves any changes to the datasource to a new file specified by the `new_file` parameter.
59+
`Datasource.save_as(self, new_filename)` Saves any changes to the datasource to a new file specified by the `new_filename` parameter.
6060

61-
`Datasource.add_field(self, name, datatype, role, field_type, caption)` Adds a base field object with the given values.
61+
`Datasource.add_field(self, name, datatype, role, field_type, caption, hidden)` Adds a base field object with the given values.
6262

6363
`Datasource.remove_field(self, field)` Remove a given field.
6464

65-
`Datasource.add_calculation(self, caption, formula, datatype, role, type)` Adds a calculated field with the given values.
65+
`Datasource.add_calculation(self, caption, formula, datatype, role, type, hidden)` Adds a calculated field with the given values.
6666

6767
**Properties:**
6868

@@ -149,7 +149,7 @@ Represents a field in a datasource
149149

150150
`self.calculation` Returns a string with the formula if this field is a calculated field.
151151

152-
`self.default_aggregation` Returns a string with he default type of aggregation on the field (e.g Sum, Avg).
152+
`self.default_aggregation` Returns a string with the default type of aggregation on the field (e.g, Sum, Avg).
153153

154154
`self.description` Returns a string with contents of the <desc> tag on a field.
155155

docs/docs/contributing.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ somewhere.
6060

6161
## Release process
6262

63-
We expect that everything merged into the development branch is ready to release on master. Releases can be made at any time - ideally it would be on a regular cadence but currently it is basically on request.
63+
We expect that everything merged into the development branch is ready to release on master.
6464
- bump the version in setup.py
6565
- update the changelog: all commits to development should contain a meaningful message, the changelog can be built from these
66-
- merge to master.
67-
This kicks off an automated release in github and then publish to pypi.
66+
- merge to master.
67+
This kicks off an automated release in GitHub and then publish to PyPI.

0 commit comments

Comments
 (0)