Skip to content

Commit 6ddf351

Browse files
authored
Update to python 3.14 (#351)
Drops support for python 3.9 and clang 11
1 parent 2c673ec commit 6ddf351

File tree

6 files changed

+53
-49
lines changed

6 files changed

+53
-49
lines changed

.github/workflows/ci.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
runs-on: ubuntu-latest
99
strategy:
1010
matrix:
11-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
11+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
1212
steps:
1313
- uses: actions/checkout@v5
1414
- name: Set up Python ${{ matrix.python-version }}
@@ -24,14 +24,14 @@ jobs:
2424
uses: actions/cache@v4
2525
with:
2626
path: llvm/lib/libclang.so*
27-
key: llvm-17
27+
key: llvm-20
2828
- name: Install LLVM and Clang
2929
uses: KyleMayes/install-llvm-action@v2
3030
with:
31-
version: "17.0"
31+
version: "20.1"
3232
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
3333
- name: Symlink libclang.so
34-
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-17.so
34+
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-20.so
3535
- name: Install uv
3636
uses: astral-sh/setup-uv@v6
3737
with:
@@ -54,14 +54,14 @@ jobs:
5454
uses: actions/cache@v4
5555
with:
5656
path: llvm/lib/libclang.so*
57-
key: llvm-17
57+
key: llvm-20
5858
- name: Install LLVM and Clang
5959
uses: KyleMayes/install-llvm-action@v2
6060
with:
61-
version: "17.0"
61+
version: "20.1"
6262
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
6363
- name: Symlink libclang.so
64-
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-17.so
64+
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-20.so
6565
- name: Install uv
6666
uses: astral-sh/setup-uv@v6
6767
with:
@@ -94,14 +94,14 @@ jobs:
9494
uses: actions/cache@v4
9595
with:
9696
path: llvm/lib/libclang.so*
97-
key: llvm-17
97+
key: llvm-20
9898
- name: Install LLVM and Clang
9999
uses: KyleMayes/install-llvm-action@v2
100100
with:
101-
version: "17.0"
101+
version: "20.1"
102102
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
103103
- name: Symlink libclang.so
104-
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-17.so
104+
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-20.so
105105
- name: Install uv
106106
uses: astral-sh/setup-uv@v6
107107
with:
@@ -124,14 +124,14 @@ jobs:
124124
uses: actions/cache@v4
125125
with:
126126
path: llvm/lib/libclang.so*
127-
key: llvm-17
127+
key: llvm-20
128128
- name: Install LLVM and Clang
129129
uses: KyleMayes/install-llvm-action@v2
130130
with:
131-
version: "17.0"
131+
version: "20.1"
132132
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
133133
- name: Symlink libclang.so
134-
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-17.so
134+
run: sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-20.so
135135
- name: Install uv
136136
uses: astral-sh/setup-uv@v6
137137
with:
@@ -156,15 +156,15 @@ jobs:
156156
uses: actions/cache@v4
157157
with:
158158
path: llvm/lib/libclang.so*
159-
key: llvm-11
159+
key: llvm-12
160160
- name: Install LLVM and Clang
161161
uses: KyleMayes/install-llvm-action@v2
162162
with:
163-
version: "11.0"
163+
version: "12.0"
164164
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
165165
- name: Symlink libclang.so
166166
run: |
167-
sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-11.so
167+
sudo ln -s ${{ env.LLVM_PATH }}/lib/libclang.so /usr/lib/x86_64-linux-gnu/libclang-12.so
168168
sudo apt-get update
169169
sudo apt install libtinfo5
170170
- name: Install uv

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
- name: Set up Python
2121
uses: actions/setup-python@v6
2222
with:
23-
python-version: "3.13"
23+
python-version: "3.14"
2424
- name: Install uv
2525
uses: astral-sh/setup-uv@v6
2626
with:

.readthedocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
version: 2
77

88
build:
9-
os: ubuntu-22.04
9+
os: ubuntu-24.04
1010
tools:
11-
python: "3.9"
11+
python: "3"
1212
apt_packages:
1313
- libclang1
1414

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@
216216

217217
if 'READTHEDOCS' in os.environ:
218218
from clang import cindex
219-
cindex.Config.set_library_file("/usr/lib/llvm-14/lib/libclang.so.1")
219+
cindex.Config.set_library_file("/usr/lib/llvm-18/lib/libclang.so.1")
220220

221221
def setup(app):
222222
app.add_css_file('css/custom.css')

docs/minimum_supported_versions.rst

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,52 @@ currently supported Python versions. The minimum supported dependency versions
88
will be the newest version of the dependency that was available when the minimum
99
supported Python version was released.
1010

11-
Dropping support for a dependency version is considered a major change and will
12-
result in a major version bump.
11+
Dropping support for a dependency version is not considered a major change and
12+
will only result in a minor version bump.
1313

1414
Planned support calendar. The end dates aren't December 31st, they're the
1515
October end of life dates for the associated Python version.
1616

1717
+------+------+------+------+------+------+------+------+------+
18-
| 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 |
18+
| 2022 | 2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 |
1919
+======+======+======+======+======+======+======+======+======+
20-
| Python 3.9 | xxxx | xxxx | xxxx | xxxx |
20+
| Python 3.10 | xxxx | xxxx | xxxx | xxxx |
2121
+----------------------------------+------+------+------+------+
22-
| Python 3.10 | xxxx | xxxx | xxxx |
22+
| Python 3.11 | xxxx | xxxx | xxxx |
2323
+------+----------------------------------+------+------+------+
24-
| xxxx | Python 3.11 | xxxx | xxxx |
24+
| xxxx | Python 3.12 | xxxx | xxxx |
2525
+------+------+----------------------------------+------+------+
26-
| xxxx | xxxx | Python 3.12 | xxxx |
27-
+------+------+------+----------------------------------+------+
28-
| xxxx | xxxx | xxxx | Python 3.13 |
26+
| xxxx | xxxx | Python 3.13 |
27+
+------+------+------+-----------------------------------------+
28+
| xxxx | xxxx | xxxx | Python 3.14 |
29+
+------+------+------+-------------+------+------+------+------+
30+
| Sphinx 4.x | xxxx | xxxx | xxxx | xxxx |
31+
+----------------------------------+------+------+------+------+
32+
| Sphinx 5.x | xxxx | xxxx | xxxx |
2933
+-----------------------------------------+------+------+------+
30-
| Sphinx 4.x | xxxx | xxxx | xxxx |
34+
| Sphinx 6.x | xxxx | xxxx | xxxx |
3135
+------+----------------------------------+------+------+------+
32-
| xxxx | Sphinx 5.x | xxxx | xxxx |
33-
+------+-----------------------------------------+------+------+
34-
| xxxx | Sphinx 6.x | xxxx | xxxx |
36+
| xxxx | Sphinx 7.x | xxxx | xxxx |
3537
+------+------+----------------------------------+------+------+
36-
| xxxx | xxxx | Sphinx 7.x | xxxx |
37-
+------+------+------+----------------------------------+------+
38-
| xxxx | xxxx | xxxx | Sphinx 8.x |
39-
+------+------+------+-------------+------+------+------+------+
40-
| Clang 11.x | xxxx | xxxx | xxxx | xxxx |
41-
+------+---------------------------+------+------+------+------+
42-
| xxxx | Clang 12.x | xxxx | xxxx | xxxx |
38+
| xxxx | xxxx | Sphinx 8.x |
39+
+------+------+--------------------+------+------+------+------+
40+
| Clang 12.x | xxxx | xxxx | xxxx | xxxx |
41+
+----------------------------------+------+------+------+------+
42+
| Clang 13.x | xxxx | xxxx | xxxx | xxxx |
43+
+----------------------------------+------+------+------+------+
44+
| Clang 14.x | xxxx | xxxx | xxxx |
4345
+------+----------------------------------+------+------+------+
44-
| xxxx | Clang 13.x | xxxx | xxxx | xxxx |
46+
| xxxx | Clang 15.x | xxxx | xxxx | xxxx |
4547
+------+----------------------------------+------+------+------+
46-
| xxxx | Clang 14.x | xxxx | xxxx |
48+
| xxxx | Clang 16.x | xxxx | xxxx |
4749
+------+------+----------------------------------+------+------+
48-
| xxxx | xxxx | Clang 15.x | xxxx | xxxx |
50+
| xxxx | xxxx | Clang 17.x | xxxx | xxxx |
4951
+------+------+----------------------------------+------+------+
50-
| xxxx | xxxx | Clang 16.x | xxxx |
51-
+------+------+------+----------------------------------+------+
52-
| xxxx | xxxx | xxxx | Clang 17.x |
52+
| xxxx | xxxx | xxxx | Clang 18.x | xxxx | xxxx |
53+
+------+------+------+---------------------------+------+------+
54+
| xxxx | xxxx | xxxx | Clang 19.x | xxxx | xxxx |
55+
+------+------+------+---------------------------+------+------+
56+
| xxxx | xxxx | xxxx | Clang 20.x |
5357
+------+------+------+-----------------------------------------+
5458
| Beautiful Soup 4 |
5559
+--------------------------------------------------------------+

tox.ini

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ mintoxversion = 4.0
1212
# e.g.: tox -e py39-cov
1313
# Note: the sphinx versions are spelled out so tox doesn't try to resolve them
1414
# as python versions
15-
envlist = py{39, 310, 311, 312, 313}{,-cov}, check-{pylint,pycodestyle,black,mypy}, docs, sphinx-{four},
15+
envlist = py{310, 311, 312, 313, 314}{,-cov}, check-{pylint,pycodestyle,black,mypy}, docs, sphinx-{four},
1616

1717
[testenv]
1818
runner = uv-venv-lock-runner
@@ -25,7 +25,7 @@ commands =
2525
cov: uv run pytest --cov=sphinx_c_autodoc --cov-config={[coverage]file} --cov-report=xml {posargs}
2626
docs: uv run sphinx-build {toxinidir}/docs {toxinidir}/docs/_build
2727

28-
[testenv:py{38, 39, 310, 311, 312, 313}]
28+
[testenv:py{310, 311, 312, 313, 314}]
2929
commands =
3030
uv run pytest {posargs}
3131

@@ -40,7 +40,7 @@ usedevelop = True
4040
[sphinx]
4141
deps =
4242
pytest
43-
clang==11.0
43+
clang==12.0.1
4444
beautifulsoup4
4545
sphinxcontrib-applehelp==1.0.4
4646
sphinxcontrib-devhelp==1.0.2

0 commit comments

Comments
 (0)