Contributing docs: local test runs silently skip SpatiaLite and ext.c tests, and the setup steps assume SSH and uv
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 84/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python, sqlite
- Domain
- documentation, testing
Research direction
Read docs/contributing.rst alongside .github/workflows/test.yml to align contributor setup with the CI environment. Update the clone instructions for HTTPS fork clones, link uv installation instructions, and document the local SpatiaLite and ext.c test setup with the commands in the issue. Done when the page explains these prerequisites and contributors can identify why those tests might otherwise skip locally.
Written by the indexing model from the issue text.
Description
Following docs/contributing.rst on a fresh macOS machine, I hit three gaps:
-
The clone command uses SSH (
git clone [email protected]:simonw/sqlite-utils). It worked for me because I already have an SSH key on GitHub, but it fails withPermission denied (publickey)for anyone without one, and contributors usually need to clone their fork rather than the main repository. -
Every command uses
uv run, but the page does not say uv must be installed or link to its install instructions. -
uv run pytestpasses locally while skipping tests that CI runs. On my machine: 1,494 passed, 19 skipped.pytest -rsshows 12 skips intests/test_gis.py("Could not find SpatiaLite extension") and 3 intests/test_cli.py("Requires compiled ext.c"). CI installslibsqlite3-mod-spatialiteand compilesext.cin.github/workflows/test.yml, but the contributing page mentions neither, so a contributor changing GIS code can get a green local run and a red CI run.
Environment: macOS 26.2, Python 3.11.5, uv 0.13.7, sqlite-utils main at 9c66baf.
Proposed fix, in docs/contributing.rst: clone your fork over HTTPS, link https://docs.astral.sh/uv/getting-started/installation/, and add a "Tests that skip locally" section with brew install spatialite-tools (macOS) or apt-get install libsqlite3-mod-spatialite (Ubuntu) and cd tests && gcc ext.c -fPIC -shared -o ext.so.
Related: #900 (docs build command) and #872 (CI legs that never run a pandas test). Happy to open a PR for this.
- Dominant language
- Python
- Stars
- 2.2k
- Forks
- 215
- PR merge metrics
- No merged PRs in 30d
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from simonw/sqlite-utils
-
Tests use CliRunner.isolated_filesystem(), which is deprecated and will be removed in Click 9.0Possibly taken @devpryan7792 claimed this 11 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
simonw/sqlite-utils#916 ·
Maintainers usually reply within 3 days
-
rows_from_file() splits a single-column CSV file on a letter, or raises csv.ErrorPossibly taken @L4XB claimed this 19 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
simonw/sqlite-utils#907 ·
Maintainers usually reply within 3 days
-
enable_fts() exhausts iterator columns before populating the indexPossibly taken @syahra712 claimed this 25 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
simonw/sqlite-utils#902 ·
Maintainers usually reply within 3 days
-
rows_from_file() ignores ignore_extras= and extras_key= for anything that isn't Format.CSVPossibly taken @feiiiiii5 claimed this 36 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
simonw/sqlite-utils#892 ·
Maintainers usually reply within 3 days
-
Raw numpy scalar values get silently stored as corrupted BLOBs instead of being convertedPossibly taken @TanbirRamim claimed this 43 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
simonw/sqlite-utils#876 ·
Maintainers usually reply within 3 days
All issues in simonw/sqlite-utils
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
fritzprix/libr-agent#2612 ·
Maintainers usually reply within 1 day
-
needs-triage presubmit-gate
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
gke-labs/kube-agents#5001 ·
Maintainers usually reply within 1 day
-
colorado
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
freelawproject/juriscraper#2405 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
cline/mcp-marketplace#3576 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
griptape-ai/griptape-nodes-library-elevenlabs#30 ·
Maintainers usually reply within 1 day