Skip to content

Commit f6eea59

Browse files
chore: Refactor and update infra to support/use python 3.14 (#2948)
* ✨ Update to use python 3.14 * ⏪ Revert .readthedocs.yml python version bump * 📝 CHANGELOG.md * chore: fix changelog position Signed-off-by: Lala Sabathil <lala@pycord.dev> * fix: missing changes * fix(actions): Stick to 3.13 for docs for now until rtd support 3.14 Ref: readthedocs/readthedocs.org#12523 (comment) * chore: Docs should support 3.14 by now * fix: Update event loop retrieval to support Python 3.14+ --------- Signed-off-by: Paillat <paillat@pycord.dev> Signed-off-by: Lala Sabathil <lala@pycord.dev> Co-authored-by: Lala Sabathil <lala@pycord.dev>
1 parent 7a4c142 commit f6eea59

10 files changed

Lines changed: 29 additions & 24 deletions

.github/workflows/docs-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
- "requirements/**"
99
- "*.toml"
1010
- "*.py"
11-
branches: [master]
11+
branches: [ master ]
1212
pull_request:
1313
paths:
1414
- "discord/**"
@@ -40,7 +40,7 @@ jobs:
4040
- name: "Setup Python"
4141
uses: actions/setup-python@v6
4242
with:
43-
python-version: "3.13"
43+
python-version: "3.14"
4444
cache: "pip"
4545
cache-dependency-path: "requirements/docs.txt"
4646
check-latest: true

.github/workflows/docs-json-export.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
uses: actions/setup-python@v6
1919
id: setup-python
2020
with:
21-
python-version: "3.13"
21+
python-version: "3.14"
2222
cache: "pip"
2323
cache-dependency-path: "requirements/docs.txt"
2424
check-latest: true
@@ -45,7 +45,7 @@ jobs:
4545
run: |
4646
head -n 40 docs.json || tail -n 40 docs.json
4747
- name: Output artifact ID
48-
run: |
48+
run: |
4949
echo "artifact-id=${{ steps.artifact-upload.outputs.artifact-id }}" >> $GITHUB_OUTPUT
5050
echo "artifact-url=${{ steps.artifact-upload.outputs.artifact-url }}" >> $GITHUB_OUTPUT
5151
echo "::notice::Artifact uploaded: ${{ steps.artifact-upload.outputs.artifact-url }}"

.github/workflows/docs-localization-download.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: "Install Python"
2222
uses: actions/setup-python@v6
2323
with:
24-
python-version: "3.13"
24+
python-version: "3.14"
2525
cache: "pip"
2626
cache-dependency-path: "requirements/_locale.txt"
2727
- name: "Install Dependencies"
@@ -69,7 +69,7 @@ jobs:
6969
7070
pr:
7171
name: "PR operations"
72-
needs: [download]
72+
needs: [ download ]
7373
runs-on: ubuntu-latest
7474
environment: translations
7575
steps:

.github/workflows/docs-localization-upload.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ on:
55
paths:
66
- "discord/**"
77
- "docs/**"
8-
branches: [master]
8+
branches: [ master ]
99
workflow_dispatch:
1010
schedule:
1111
- cron: "0 0 * * 1"
12-
12+
1313
permissions: write-all
1414

1515
jobs:
@@ -26,7 +26,7 @@ jobs:
2626
- name: "Install Python"
2727
uses: actions/setup-python@v6
2828
with:
29-
python-version: "3.13"
29+
python-version: "3.14"
3030
cache: "pip"
3131
cache-dependency-path: "requirements/_locale.txt"
3232
- name: "Install Dependencies"

.github/workflows/lib-checks.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- name: "Setup Python"
3737
uses: actions/setup-python@v6
3838
with:
39-
python-version: "3.13"
39+
python-version: "3.14"
4040
cache: "pip"
4141
cache-dependency-path: "pyproject.toml"
4242
- name: "Install dependencies"
@@ -56,7 +56,7 @@ jobs:
5656
- name: "Setup Python"
5757
uses: actions/setup-python@v6
5858
with:
59-
python-version: "3.13"
59+
python-version: "3.14"
6060
cache: "pip"
6161
cache-dependency-path: "pyproject.toml"
6262
- name: "Install dependencies"
@@ -74,7 +74,7 @@ jobs:
7474
- name: "Setup Python"
7575
uses: actions/setup-python@v6
7676
with:
77-
python-version: "3.13"
77+
python-version: "3.14"
7878
cache: "pip"
7979
cache-dependency-path: "pyproject.toml"
8080
- name: "Install dependencies"
@@ -98,7 +98,7 @@ jobs:
9898
- name: "Setup Python"
9999
uses: actions/setup-python@v6
100100
with:
101-
python-version: "3.13"
101+
python-version: "3.14"
102102
cache: "pip"
103103
cache-dependency-path: "pyproject.toml"
104104
- name: "Install dependencies"
@@ -124,7 +124,7 @@ jobs:
124124
- name: "Setup Python"
125125
uses: actions/setup-python@v6
126126
with:
127-
python-version: "3.13"
127+
python-version: "3.14"
128128
cache: "pip"
129129
cache-dependency-path: "pyproject.toml"
130130
- name: "Install dependencies"
@@ -141,7 +141,7 @@ jobs:
141141
strategy:
142142
matrix:
143143
os: [ ubuntu-latest, windows-latest, macos-latest ]
144-
python-version: [ "3.10", "3.11", "3.12", "3.13" ]
144+
python-version: [ "3.10", "3.11", "3.12", "3.13", "3.14" ]
145145
steps:
146146
- name: "Checkout Repository"
147147
uses: actions/checkout@v6

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ jobs:
136136
id: python-setup
137137
uses: actions/setup-python@v6
138138
with:
139-
python-version: "3.13"
139+
python-version: "3.14"
140140
cache: "pip"
141141
cache-dependency-path: "requirements/_release.txt"
142142
- name: "Install Release Dependencies"

.readthedocs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
version: 2
2-
formats: []
2+
formats: [ ]
33

44
build:
55
os: ubuntu-22.04
66
tools:
7-
python: "3.13"
7+
python: "3.14"
88

99
sphinx:
1010
configuration: docs/conf.py

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ These changes are available on the `master` branch, but have not yet been releas
1212

1313
### Added
1414

15+
- Support for **Python 3.14**.
16+
([#2948](https://github.com/Pycord-Development/pycord/pull/2948))
17+
1518
### Changed
1619

1720
### Fixed

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Pycord is a modern, easy to use, feature-rich, and async ready API wrapper for D
3232
Note
3333
----
3434

35-
Pycord supports Python ``3.10`` - ``3.13``
35+
Pycord supports Python ``3.10`` - ``3.14``
3636

3737
Key Features
3838
------------

pyproject.toml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ authors = [
1212
]
1313
description = "A Python wrapper for the Discord API"
1414
readme = { content-type = "text/x-rst", file = "README.rst" }
15-
requires-python = ">=3.10, <3.14"
15+
requires-python = ">=3.10, <3.15"
1616
license = "MIT"
1717
license-files = ["LICENSE"]
1818
classifiers = [
@@ -24,6 +24,7 @@ classifiers = [
2424
"Programming Language :: Python :: 3.11",
2525
"Programming Language :: Python :: 3.12",
2626
"Programming Language :: Python :: 3.13",
27+
"Programming Language :: Python :: 3.14",
2728
"Topic :: Internet",
2829
"Topic :: Software Development :: Libraries",
2930
"Topic :: Software Development :: Libraries :: Python Modules",
@@ -84,7 +85,7 @@ test = [
8485
[tool.setuptools_scm]
8586

8687
[tool.black]
87-
target-version = ['py310', 'py311', 'py312', 'py313']
88+
target-version = ['py310', 'py311', 'py312', 'py313', 'py314']
8889

8990
[tool.isort]
9091
profile = "black"
@@ -125,15 +126,15 @@ asyncio_default_fixture_loop_scope = "function"
125126

126127
[tool.tox]
127128
requires = ["tox>=4"]
128-
env_list = ["3.13", "3.12", "3.11", "3.10", "3.13-novoice"]
129+
env_list = ["3.14", "3.13", "3.12", "3.11", "3.10", "3.14-novoice"]
129130

130131
[tool.tox.env_run_base]
131132
description = "run unit tests"
132133
commands = [["pytest", { replace = "posargs", default = ["tests"], extend = true }]]
133134
dependency_groups = ["test"]
134135
extras = ["voice"]
135136

136-
[tool.tox.env."3.13-novoice"]
137+
[tool.tox.env."3.14-novoice"]
137138
description = "run import and warning tests without the voice extra"
138139
commands = [[
139140
"pytest",
@@ -144,7 +145,8 @@ extras = []
144145

145146
# GitHub actions
146147
[tool.tox.gh.python]
147-
"3.13" = ["3.13", "3.13-novoice"]
148+
"3.14" = ["3.14", "3.14-novoice"]
149+
"3.13" = ["3.13"]
148150
"3.12" = ["3.12"]
149151
"3.11" = ["3.11"]
150152
"3.10" = ["3.10"]

0 commit comments

Comments
 (0)