.github/workflows/test.yml runs every job twice, numpy: 0 and numpy: 1, and the numpy: 1 legs pip install numpy (lines 14 and 29-31). The only test that inserts numpy-typed values, tests/test_create.py::test_create_table_numpy, is marked @pytest.mark.skipif(pd is None, ...) and builds its rows with pd.DataFrame (lines 1184-1188), so it needs pandas, which is in no dependency group. Every numpy: 1 job therefore skips it, right after installing numpy.
From the latest run on main (85b1be1, run 33591986086):
test (3.12, 1, ubuntu-latest) (job 100127687768): Successfully installed numpy-2.5.2 … tests/test_create.py::test_create_table_numpy SKIPPED (pandas and nu...) … 1503 passed, 1 skipped
test (3.12, 0, ubuntu-latest) (job 100127687626): 1503 passed, 1 skipped
All 24 numpy: 1 jobs in that run report exactly the same pass/skip counts as their numpy: 0 twins.
Locally (Python 3.13, numpy 2.5.3, pandas 3.0.6):
git clone https://github.com/simonw/sqlite-utils && cd sqlite-utils
python -m venv venv && venv/bin/pip install -e . --group dev
venv/bin/pip install numpy
venv/bin/pytest tests/test_create.py -k numpy -rs
# SKIPPED [1] tests/test_create.py:1184: pandas and numpy are not installed
venv/bin/pip install pandas
venv/bin/pytest tests/test_create.py -k numpy -rs
# 1 passed
History: the test was added together with the numpy type mapping in #12 (e615d22) and ran on Travis, whose .travis.yml had # Only run the numpy/pandas tests on Python 3.7: … pip install pandas || true. 01c7784 (the GitHub Actions migration, #143) dropped that line, and the same-day cbc22ef ("Add numpy to the matrix, refs #144") re-added the leg as pip install numpy. So the leg has skipped the test since 2020-08-28, including when #632 (the broken-numpy int8 crash) was fixed.
Possible fixes, whichever you prefer: pip install numpy pandas in the "Optionally install numpy" step (passes locally as above), add pandas to a dependency group, or split the dtype part of the test so it runs with numpy alone. Note that publish.yml's release test matrix has no numpy leg at all.
Found and checked with Claude Code assistance; the log lines and commands above are from real runs.
.github/workflows/test.ymlruns every job twice,numpy: 0andnumpy: 1, and thenumpy: 1legspip install numpy(lines 14 and 29-31). The only test that inserts numpy-typed values,tests/test_create.py::test_create_table_numpy, is marked@pytest.mark.skipif(pd is None, ...)and builds its rows withpd.DataFrame(lines 1184-1188), so it needs pandas, which is in no dependency group. Everynumpy: 1job therefore skips it, right after installing numpy.From the latest run on
main(85b1be1, run 33591986086):test (3.12, 1, ubuntu-latest)(job 100127687768):Successfully installed numpy-2.5.2…tests/test_create.py::test_create_table_numpy SKIPPED (pandas and nu...)…1503 passed, 1 skippedtest (3.12, 0, ubuntu-latest)(job 100127687626):1503 passed, 1 skippedAll 24
numpy: 1jobs in that run report exactly the same pass/skip counts as theirnumpy: 0twins.Locally (Python 3.13, numpy 2.5.3, pandas 3.0.6):
History: the test was added together with the numpy type mapping in #12 (e615d22) and ran on Travis, whose
.travis.ymlhad# Only run the numpy/pandas tests on Python 3.7:…pip install pandas || true. 01c7784 (the GitHub Actions migration, #143) dropped that line, and the same-day cbc22ef ("Add numpy to the matrix, refs #144") re-added the leg aspip install numpy. So the leg has skipped the test since 2020-08-28, including when #632 (the broken-numpyint8crash) was fixed.Possible fixes, whichever you prefer:
pip install numpy pandasin the "Optionally install numpy" step (passes locally as above), add pandas to a dependency group, or split the dtype part of the test so it runs with numpy alone. Note thatpublish.yml's release test matrix has no numpy leg at all.Found and checked with Claude Code assistance; the log lines and commands above are from real runs.