Skip to content

Commit d704194

Browse files
igerberclaude
andcommitted
Revert to PyO3 0.20 and limit Python to 3.9-3.12
PyO3 0.21+ has breaking API changes and ndarray ecosystem compatibility issues. Reverting to working 0.20 versions: - PyO3 0.20 (supports Python 3.7-3.12) - numpy 0.20 (compatible with ndarray 0.15) Python 3.13+ support will be added when ecosystem catches up. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent af5476f commit d704194

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

.github/workflows/publish.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
uses: PyO3/maturin-action@v1
2121
with:
2222
target: ${{ matrix.target }}
23-
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12 -i python3.13
23+
args: --release --out dist -i python3.9 -i python3.10 -i python3.11 -i python3.12
2424
manylinux: auto
2525
# Install OpenBLAS in manylinux container
2626
before-script-linux: |
@@ -38,7 +38,7 @@ jobs:
3838
runs-on: macos-13 # x86_64 runner
3939
strategy:
4040
matrix:
41-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
41+
python-version: ['3.9', '3.10', '3.11', '3.12']
4242
steps:
4343
- uses: actions/checkout@v4
4444

@@ -73,7 +73,7 @@ jobs:
7373
runs-on: macos-latest # ARM64 runner
7474
strategy:
7575
matrix:
76-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
76+
python-version: ['3.9', '3.10', '3.11', '3.12']
7777
steps:
7878
- uses: actions/checkout@v4
7979

@@ -108,7 +108,7 @@ jobs:
108108
runs-on: windows-latest
109109
strategy:
110110
matrix:
111-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13']
111+
python-version: ['3.9', '3.10', '3.11', '3.12']
112112
steps:
113113
- uses: actions/checkout@v4
114114

rust/Cargo.toml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ default = []
1616
extension-module = ["pyo3/extension-module"]
1717

1818
[dependencies]
19-
pyo3 = "0.22"
20-
numpy = "0.22"
19+
# PyO3 0.20 supports Python 3.7-3.12
20+
# numpy 0.20 is compatible with ndarray 0.15 (same as ndarray-linalg)
21+
# Python 3.13+ support pending ecosystem updates
22+
pyo3 = "0.20"
23+
numpy = "0.20"
2124
ndarray = { version = "0.15", features = ["rayon"] }
2225
rand = "0.8"
2326
rand_xoshiro = "0.6"

0 commit comments

Comments
 (0)