Use uv in the Justfile, refs #674

This commit is contained in:
Simon Willison 2025-11-23 19:41:57 -08:00
commit bf1ac778a3
3 changed files with 19 additions and 21 deletions

View file

@ -1,30 +1,32 @@
# Run tests and linters
@default: test lint
# Setup project
@init:
pipenv run pip install -e '.[test,docs,mypy,flake8]'
# Run pytest with supplied options
@test *options:
pipenv run pytest {{options}}
just run pytest {{options}}
@run *options:
uv run --isolated --with-editable '.[test,mypy,flake8,docs]' -- {{options}}
# Run linters: black, flake8, mypy, cog
@lint:
pipenv run black . --check
pipenv run flake8
pipenv run mypy sqlite_utils tests
pipenv run cog --check README.md docs/*.rst
pipenv run codespell docs/*.rst --ignore-words docs/codespell-ignore-words.txt
just run black . --check
just run flake8
just run mypy sqlite_utils tests
just run cog --check README.md docs/*.rst
just run codespell docs/*.rst --ignore-words docs/codespell-ignore-words.txt
# Rebuild docs with cog
@cog:
pipenv run cog -r README.md docs/*.rst
just run cog -r README.md docs/*.rst
# Serve live docs on localhost:8000
@docs: cog
cd docs && pipenv run make livehtml
#!/usr/bin/env bash
cd docs
uv run --isolated --with-editable '../.[test,docs]' make livehtml
# Apply Black
@black:
pipenv run black .
just run black .

View file

@ -81,15 +81,10 @@ All three of these tools are run by our CI mechanism against every commit and pu
.. _contributing_just:
Using Just and pipenv
=====================
Using Just and uv
=================
If you install `Just <https://github.com/casey/just>`__ and `pipenv <https://pipenv.pypa.io/>`__ you can use them to manage your local development environment.
To create a virtual environment and install all development dependencies, run::
cd sqlite-utils
just init
If you install `Just <https://github.com/casey/just>`__ and `uv <https://github.com/astral-sh/uv>`__ you can use them to manage your local development environment.
To run all of the tests and linters::

View file

@ -76,6 +76,7 @@ build-backend = "setuptools.build_meta"
max-line-length = 160
# Black compatibility, E203 whitespace before ':':
extend-ignore = ["E203"]
extend-exclude = [".venv", "build", "dist", "docs", "sqlite_utils.egg-info"]
[tool.setuptools.package-data]
sqlite_utils = ["py.typed"]