diff --git a/Justfile b/Justfile index 7571ec3..1d3f6c9 100644 --- a/Justfile +++ b/Justfile @@ -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 . diff --git a/docs/contributing.rst b/docs/contributing.rst index de00bb3..297341f 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -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 `__ and `pipenv `__ 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 `__ and `uv `__ you can use them to manage your local development environment. To run all of the tests and linters:: diff --git a/pyproject.toml b/pyproject.toml index 5b4b479..7e3de59 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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"]