Skip to content

Commit b60e222

Browse files
Miscellaneous updates for Pyodide 0.27: bump WASM CI and revise Arrow compatibility note (#60756)
* Update Pyodide versions for CI * Git-ignore Pyodide xbuildenv folder * Pin to Pyodide 0.27.1 * Drop "WASM (pyodide and pyscript)" from Arrow compatibility notes * `TestCoercionFloat32.test_setitem` now xpasses
1 parent c168c06 commit b60e222

File tree

4 files changed

+12
-8
lines changed

4 files changed

+12
-8
lines changed

.github/workflows/unit-tests.yml

+8-5
Original file line numberDiff line numberDiff line change
@@ -430,20 +430,20 @@ jobs:
430430
with:
431431
fetch-depth: 0
432432

433-
- name: Set up Python for Pyodide
433+
- name: Set up Python for pyodide-build
434434
id: setup-python
435435
uses: actions/setup-python@v5
436436
with:
437-
python-version: '3.11.3'
437+
python-version: '3.12'
438438

439439
- name: Set up Emscripten toolchain
440440
uses: mymindstorm/setup-emsdk@v14
441441
with:
442-
version: '3.1.46'
442+
version: '3.1.58'
443443
actions-cache-folder: emsdk-cache
444444

445445
- name: Install pyodide-build
446-
run: pip install "pyodide-build==0.25.1"
446+
run: pip install "pyodide-build>=0.29.2"
447447

448448
- name: Build pandas for Pyodide
449449
run: |
@@ -452,10 +452,13 @@ jobs:
452452
- name: Set up Node.js
453453
uses: actions/setup-node@v4
454454
with:
455-
node-version: '18'
455+
node-version: '20'
456456

457457
- name: Set up Pyodide virtual environment
458+
env:
459+
pyodide-version: '0.27.1'
458460
run: |
461+
pyodide xbuildenv install ${{ env.pyodide-version }}
459462
pyodide venv .venv-pyodide
460463
source .venv-pyodide/bin/activate
461464
pip install dist/*.whl

.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,7 @@ doc/source/savefig/
137137
# Interactive terminal generated files #
138138
########################################
139139
.jupyterlite.doit.db
140+
141+
# Pyodide/WASM related files #
142+
##############################
143+
/.pyodide-xbuildenv-*

pandas/tests/series/indexing/test_setitem.py

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import numpy as np
1010
import pytest
1111

12-
from pandas.compat import WASM
1312
from pandas.compat.numpy import np_version_gte1p24
1413
from pandas.errors import IndexingError
1514

@@ -1449,7 +1448,6 @@ def obj(self):
14491448
np_version_gte1p24
14501449
and os.environ.get("NPY_PROMOTION_STATE", "weak") != "weak"
14511450
)
1452-
or WASM
14531451
),
14541452
reason="np.float32(1.1) ends up as 1.100000023841858, so "
14551453
"np_can_hold_element raises and we cast to float64",

web/pandas/pdeps/0010-required-pyarrow-dependency.md

-1
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,6 @@ Additionally, if a user is installing pandas in an environment where wheels are
185185
the user will need to also build Arrow C++ and related dependencies when installing from source. These environments include
186186

187187
- Alpine linux (commonly used as a base for Docker containers)
188-
- WASM (pyodide and pyscript)
189188
- Python development versions
190189

191190
Lastly, pandas development and releases will need to be mindful of PyArrow's development and release cadance. For example when

0 commit comments

Comments
 (0)