Skip to content

Commit a1500bf

Browse files
Bump PyO3 to 0.25 and build CPython 3.14 wheels
1 parent 389ab4e commit a1500bf

File tree

6 files changed

+68
-58
lines changed

6 files changed

+68
-58
lines changed

.github/workflows/CI.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ jobs:
6161
3.12
6262
3.13
6363
3.13t
64+
3.14
65+
3.14t
6466
pypy3.9
6567
pypy3.10
6668
pypy3.11
@@ -94,6 +96,8 @@ jobs:
9496
3.12
9597
3.13
9698
3.13t
99+
3.14
100+
3.14t
97101
pypy3.9
98102
pypy3.10
99103
pypy3.11
@@ -102,7 +106,7 @@ jobs:
102106
uses: PyO3/maturin-action@v1
103107
with:
104108
target: ${{ matrix.target }}
105-
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t pypy3.9 pypy3.10 pypy3.11'
109+
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.9 pypy3.10 pypy3.11'
106110
sccache: ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
107111
manylinux: auto
108112
- name: Upload wheels
@@ -136,6 +140,8 @@ jobs:
136140
3.12
137141
3.13
138142
3.13t
143+
3.14
144+
3.14t
139145
pypy3.9
140146
pypy3.10
141147
pypy3.11
@@ -144,7 +150,7 @@ jobs:
144150
uses: PyO3/maturin-action@v1
145151
with:
146152
target: ${{ matrix.target }}
147-
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t pypy3.9 pypy3.10 pypy3.11'
153+
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.9 pypy3.10 pypy3.11'
148154
manylinux: musllinux_1_2
149155
sccache: ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
150156
- name: Upload wheels
@@ -174,6 +180,7 @@ jobs:
174180
3.11
175181
3.12
176182
3.13
183+
3.14
177184
${{ matrix.target == 'x64' && 'pypy3.9' || '' }}
178185
${{ matrix.target == 'x64' && 'pypy3.10' || '' }}
179186
allow-prereleases: true
@@ -182,7 +189,7 @@ jobs:
182189
uses: PyO3/maturin-action@v1
183190
with:
184191
target: ${{ matrix.target }}
185-
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13' --interpreter ${{ matrix.target == 'x64' && 'pypy3.9 pypy3.10' || '' }}
192+
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.14' --interpreter ${{ matrix.target == 'x64' && 'pypy3.9 pypy3.10' || '' }}
186193
sccache: ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
187194
- name: Upload wheels
188195
uses: actions/upload-artifact@v4
@@ -207,14 +214,16 @@ jobs:
207214
persist-credentials: false
208215
- uses: actions/setup-python@v5
209216
with:
210-
python-version: 3.13t
217+
python-version: |
218+
3.13t
219+
3.14t
211220
allow-prereleases: true
212221
architecture: ${{ matrix.target }}
213222
- name: Build wheels
214223
uses: PyO3/maturin-action@v1
215224
with:
216225
target: ${{ matrix.target }}
217-
args: --release --out dist --interpreter '3.13t'
226+
args: --release --out dist --interpreter '3.13t 3.14t'
218227
sccache: ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
219228
- name: Upload wheels
220229
uses: actions/upload-artifact@v4
@@ -244,6 +253,8 @@ jobs:
244253
3.12
245254
3.13
246255
3.13t
256+
3.14
257+
3.14t
247258
pypy3.9
248259
pypy3.10
249260
pypy3.11
@@ -252,7 +263,7 @@ jobs:
252263
uses: PyO3/maturin-action@v1
253264
with:
254265
target: ${{ matrix.target }}
255-
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t pypy3.9 pypy3.10 pypy3.11'
266+
args: --release --out dist --interpreter '3.9 3.10 3.11 3.12 3.13 3.13t 3.14 3.14t pypy3.9 pypy3.10 pypy3.11'
256267
sccache: ${{ github.ref_type != 'tag' }} # zizmor: ignore[cache-poisoning]
257268
- name: Upload wheels
258269
uses: actions/upload-artifact@v4

Cargo.lock

Lines changed: 45 additions & 43 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ rpds = "1.1.1"
1212
archery = "1.2.1"
1313

1414
[dependencies.pyo3]
15-
version = "0.24.2"
15+
version = "0.25.0"
1616
# To build extension for PyPy on Windows, "generate-import-lib" is needed:
1717
# https://github.com/PyO3/maturin-action/issues/267#issuecomment-2106844429
1818
features = ["extension-module", "generate-import-lib"]

noxfile.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@
2626
"3.12",
2727
"3.13",
2828
"3.13t",
29+
"3.14",
30+
"3.14t",
2931
]
30-
LATEST = "3.13"
32+
LATEST = "3.14"
3133

3234
nox.options.default_venv_backend = "uv|virtualenv"
3335
nox.options.sessions = []

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ classifiers = [
2323
"Programming Language :: Python :: 3.11",
2424
"Programming Language :: Python :: 3.12",
2525
"Programming Language :: Python :: 3.13",
26+
"Programming Language :: Python :: 3.14",
2627
"Programming Language :: Python :: 3",
2728
"Programming Language :: Python :: Implementation :: CPython",
2829
"Programming Language :: Python :: Implementation :: PyPy",

src/lib.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use pyo3::exceptions::{PyIndexError, PyTypeError};
22
use pyo3::pyclass::CompareOp;
33
use pyo3::types::{PyDict, PyIterator, PyTuple, PyType};
44
use pyo3::{exceptions::PyKeyError, types::PyMapping, types::PyTupleMethods};
5-
use pyo3::{prelude::*, AsPyPointer, BoundObject, PyTypeInfo};
5+
use pyo3::{prelude::*, BoundObject, PyTypeInfo};
66
use rpds::{
77
HashTrieMap, HashTrieMapSync, HashTrieSet, HashTrieSetSync, List, ListSync, Queue, QueueSync,
88
};
@@ -67,12 +67,6 @@ impl Key {
6767
}
6868
}
6969

70-
unsafe impl AsPyPointer for Key {
71-
fn as_ptr(&self) -> *mut pyo3::ffi::PyObject {
72-
self.inner.as_ptr()
73-
}
74-
}
75-
7670
impl<'source> FromPyObject<'source> for Key {
7771
fn extract_bound(ob: &Bound<'source, PyAny>) -> PyResult<Self> {
7872
Ok(Key {

0 commit comments

Comments
 (0)