Add new python tooling + apply ruff linter cleanup (#845)

- Adds `uv`, `ruff`, `pyright`, `vulture` and `pytest-xdist`
- Move project, lockfile, docker build etc to uv
- Align python tooling on 3.14
- Huge bulk of ruff linter fixes applied. Still in progress but all the
core types are now enforced
- Update CI and test helpers
This commit is contained in:
Alex
2026-04-10 13:03:25 +01:00
committed by GitHub
parent ff094bed56
commit 3a3a3ce449
144 changed files with 10639 additions and 6424 deletions
+14 -10
View File
@@ -14,20 +14,24 @@ jobs:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
- name: Install uv and Python
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
with:
python-version: "3.10"
cache: "pip"
version: "0.11.3"
python-version: "3.14"
enable-cache: true
- name: Install dependencies
run: |
pip install -r requirements-base.txt
pip install -r requirements-shelfmark.txt
pip install pytest
- name: Sync dependencies
run: uv sync --locked --extra browser
- name: Lint backend
run: uv run ruff check shelfmark
- name: Check backend formatting
run: uv run ruff format --check shelfmark
- name: Run tests
run: pytest tests/ -x --tb=short
run: uv run pytest tests/ -x --tb=short
frontend-checks:
runs-on: ubuntu-latest