3333 run : uv pip freeze
3434 - name : Run pytest
3535 run : pytest tests --cov=narwhals --cov=tests --cov-fail-under=75 --constructors=pandas,pyarrow,polars[eager],polars[lazy]
36+ - name : install-test-plugin
37+ run : uv pip install -e tests/test_plugin --system
3638
3739 pytest-windows :
3840 strategy :
5456 - name : install-reqs
5557 # we are not testing pyspark, modin, or dask on Windows here because nobody got time for that
5658 run : uv pip install -e ".[ibis]" --group core-tests --group extra --system
59+ - name : install-test-plugin
60+ run : uv pip install -e tests/test_plugin --system
5761 - name : show-deps
5862 run : uv pip freeze
5963 - name : Run pytest
@@ -84,14 +88,16 @@ jobs:
8488 cache-dependency-glob : " pyproject.toml"
8589 - name : install-reqs
8690 run : uv pip install -e ".[dask, modin, ibis]" --group core-tests --group extra --system
91+ - name : install-test-plugin
92+ run : uv pip install -e tests/test_plugin --system
8793 - name : show-deps
8894 run : uv pip freeze
8995 - name : Run pytest
9096 run : pytest tests --cov=narwhals --cov=tests --cov-fail-under=100 --runslow --constructors=pandas,pandas[nullable],pandas[pyarrow],pyarrow,modin[pyarrow],polars[eager],polars[lazy],dask,duckdb,sqlframe,ibis --durations=30
9197 - name : Run doctests
9298 # reprs differ between versions, so we only run doctests on the latest Python
9399 if : matrix.python-version == '3.13'
94- run : pytest narwhals/*.py --doctest-modules
100+ run : pytest narwhals --doctest-modules
95101
96102 # Test against smaller dependency set, used e.g. on Gentoo.
97103 pytest-narrower-dependencies :
@@ -112,17 +118,24 @@ jobs:
112118 cache-suffix : pytest-narrower-deps-${{ matrix.python-version }}
113119 cache-dependency-glob : " pyproject.toml"
114120 - name : install-reqs
115- run : uv pip install -e ".[pandas]" --group tests --system
116- - name : show-deps
117- run : uv pip freeze
118- - name : Run pytest
121+ run : |
122+ uv pip install -e ".[pandas]" --group tests --system
123+ uv pip freeze
124+ - name : Run pytest (pandas and pandas[nullable])
119125 run : pytest tests --runslow --constructors=pandas,pandas[nullable]
120126 - name : install-more-reqs
121- run : uv pip install -U pyarrow --system
122- - name : show-deps
123- run : uv pip freeze
124- - name : Run pytest
127+ run : |
128+ uv pip install -U pyarrow --system
129+ uv pip freeze
130+ - name : Run pytest (pandas[pyarrow] and pyarrow)
125131 run : pytest tests --runslow --constructors=pandas[pyarrow],pyarrow
132+ - name : install-polars
133+ run : |
134+ uv pip uninstall pandas pyarrow --system
135+ uv pip install polars --system
136+ uv pip freeze
137+ - name : Run pytest (polars)
138+ run : pytest tests --runslow --constructors=polars[eager],polars[lazy]
126139
127140 python-314 :
128141 strategy :
@@ -141,13 +154,9 @@ jobs:
141154 enable-cache : " true"
142155 cache-suffix : python-314-${{ matrix.python-version }}
143156 cache-dependency-glob : " pyproject.toml"
144- - name : install pyarrow nightly
145- run : |
146- uv pip uninstall pyarrow --system
147- uv pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple pyarrow -U --system
148157 - name : install-reqs
149158 # Use `--pre` as duckdb stable not compatible with 3.14
150- run : uv pip install -e . --group tests --pre pandas polars duckdb sqlframe --system
159+ run : uv pip install -e . --group tests --pre pandas polars pyarrow duckdb sqlframe --system
151160 - name : show-deps
152161 run : uv pip freeze
153162 - name : Run pytest
@@ -172,12 +181,8 @@ jobs:
172181 enable-cache : " true"
173182 cache-suffix : python-314t-${{ matrix.python-version }}
174183 cache-dependency-glob : " pyproject.toml"
175- - name : install pyarrow nightly
176- run : |
177- uv pip uninstall pyarrow --system
178- uv pip install -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple pyarrow -U --system
179184 - name : install-reqs
180- run : uv pip install -e . --group tests --pre pandas --system
185+ run : uv pip install -e . --group tests --pre pandas pyarrow --system
181186 - name : show-deps
182187 run : uv pip freeze
183188 - name : Run pytest
0 commit comments