Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
8e030ba
Opt-in to gil_used = false, pin to rust-numpy git dep (for now)
H-Plus-Time Dec 12, 2024
13f5bc2
Add 3.13t to all builds
H-Plus-Time Dec 12, 2024
3e4d851
Minimum CI changes to fix 3.13t builds in CI
H-Plus-Time Dec 16, 2024
9f7ef44
Pin to main branch of rust-numpy, boost pyo3 to match (NB: does not c…
H-Plus-Time Feb 23, 2025
fd1726b
Merge remote-tracking branch 'upstream/main' into freethreading
H-Plus-Time Feb 24, 2025
a1a904d
Merge branch 'main' into freethreading
kylebarron Mar 25, 2025
e4a6f49
use upstream actions/setup-python
kylebarron Mar 25, 2025
0c01ce7
Add pytest-freethreaded, boost (hopefully just dev/test-related) pyth…
H-Plus-Time Mar 26, 2025
728a8d2
Unmark io as freethreading-safe, exclude io tests from concurrent tests
H-Plus-Time Mar 26, 2025
37b9f69
Wrap filesystem access in context-managed temp directories in tests.
H-Plus-Time Mar 28, 2025
e78f219
Re-mark io as freethreading safe
H-Plus-Time Mar 28, 2025
12abd0f
ruff format
H-Plus-Time Mar 28, 2025
bd0fe7a
cargo fmt
H-Plus-Time Mar 28, 2025
9708633
Merge branch 'main' into freethreading
kylebarron Sep 9, 2025
d55c441
Add comments to tests
kylebarron Sep 9, 2025
b146b39
Split docs deps into separate group
kylebarron Sep 9, 2025
20e59e8
Add pre-commit as dev dep
kylebarron Sep 9, 2025
711724e
update cargo lockfile
kylebarron Sep 9, 2025
ea1bb3f
regen lockfile
kylebarron Sep 9, 2025
5457247
Add test with --require-gil-disabled
kylebarron Sep 9, 2025
1876172
install python with uv in ci
kylebarron Sep 9, 2025
b489b0a
typo
kylebarron Sep 9, 2025
97e4b97
reduce requires-python
kylebarron Sep 9, 2025
1db2474
pytest-freethreaded only on 3.13+
kylebarron Sep 9, 2025
1125fff
Merge branch 'main' into freethreading
kylebarron Oct 3, 2025
154b9f6
bump maturin
kylebarron Oct 3, 2025
4739800
bump maturin in lock
kylebarron Oct 3, 2025
9c4ddbc
version reordering
kylebarron Oct 3, 2025
b692107
lock
kylebarron Oct 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ jobs:
if echo $VERSION | cut -c 2- | grep -q "[A-Za-z]"; then
echo "Is beta version"
# For beta versions publish but don't set as latest
uv run mike deploy $VERSION --update-aliases --push
uv run --group docs mike deploy $VERSION --update-aliases --push
else
echo "Is NOT beta version"
uv run mike deploy $VERSION latest --update-aliases --push
uv run --group docs mike deploy $VERSION latest --update-aliases --push
fi
30 changes: 17 additions & 13 deletions .github/workflows/test-python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
strategy:
fail-fast: true
matrix:
python-version: ["3.9", "3.12"]
python-version: ["3.9", "3.12", "3.13", "3.13t"]
steps:
- uses: actions/checkout@v4

Expand All @@ -47,29 +47,33 @@ jobs:

- uses: Swatinem/rust-cache@v2

- name: Set up Python
id: setup-python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install a specific version of uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
version: "0.4.x"
version: "0.8.x"

- name: Set up Python with uv
run: |
uv python install ${{ matrix.python-version }}

- name: Build rust submodules
run: |
# Note: core module must be first, because it's depended on by others
uv run maturin dev -m arro3-core/Cargo.toml
uv run maturin dev -m arro3-compute/Cargo.toml
uv run maturin dev -m arro3-io/Cargo.toml
uv run --python ${{ matrix.python-version }} maturin dev -m arro3-core/Cargo.toml
uv run --python ${{ matrix.python-version }} maturin dev -m arro3-compute/Cargo.toml
uv run --python ${{ matrix.python-version }} maturin dev -m arro3-io/Cargo.toml

- name: Run python tests
if: matrix.python-version != '3.13t'
run: |
uv run --python ${{ matrix.python-version }} pytest tests

- name: Run python tests with --require-gil-disabled
if: matrix.python-version == '3.13t'
run: |
uv run pytest tests
uv run --python ${{ matrix.python-version }} pytest tests --require-gil-disabled

# Ensure docs build without warnings
- name: Check docs
run: uv run mkdocs build --strict
run: uv run --group docs mkdocs build --strict
18 changes: 10 additions & 8 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,15 @@ jobs:
version: "0.4.x"

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10
run: uv python install 3.9 3.10 3.11 3.12 3.13 3.13t pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
# As of Nov 2024, it was necessary to manually specify -i 3.13 to get
# maturin to find the executable. --find-interpreter did not find it.
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i 3.13t -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
manylinux: ${{ matrix.platform.manylinux }}

Expand Down Expand Up @@ -101,13 +101,13 @@ jobs:
version: "0.4.x"

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10
run: uv python install 3.9 3.10 3.11 3.12 3.13 3.13t pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i 3.13t -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
manylinux: musllinux_1_2
- name: Upload wheels
Expand All @@ -132,13 +132,15 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.13
python-version: |
3.13t
3.13

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i 3.13t --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -169,13 +171,13 @@ jobs:
version: "0.4.x"

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10
run: uv python install 3.9 3.10 3.11 3.12 3.13 3.13t pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i 3.13t -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .python-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.11
3.13
Loading
Loading