chore: switch CI to uv, remove uv.lock from gitignore (#885)

* chore: declare pytest as a uv dev dependency

The contributing guide currently tells contributors `pip install pytest`
as a separate step, and CI does the same. Move pytest into PEP 735
`[dependency-groups]` so it's declared in pyproject.toml and `uv sync`
installs it by default (no `--with` workaround, no separate install
line). Update CI to use astral-sh/setup-uv + `uv sync` + `uv run pytest`,
and refresh the Contributing section of the README to match.

`[dependency-groups]` is the right home (vs `[project.optional-dependencies]`)
because pytest is dev-only and shouldn't appear in the published wheel's
optional features list alongside things like `pdf` or `mcp`.

* remove uv.lock from gitignore
This commit is contained in:
Brian K
2026-05-28 14:38:31 +01:00
committed by GitHub
parent a1706ff7fd
commit 244a266c06
3 changed files with 18 additions and 25 deletions
+7 -10
View File
@@ -15,23 +15,20 @@ jobs:
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v8.1.0
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -e ".[mcp,pdf,watch,sql]"
pip install pytest
run: uv sync --extra mcp --extra pdf --extra watch --extra sql
- name: Run tests
run: |
python -m pytest tests/ -q --tb=short
run: uv run pytest tests/ -q --tb=short
- name: Verify install works end-to-end
run: |
graphify --help
graphify install
uv run graphify --help
uv run graphify install