All configuration for the project should be put into pyproject.toml
.
-
Create a virtualenv using whatever method you like ( eg, virtualenvwrapper)
-
Install dependencies from requirements.txt
To run a subset of the required tests, run the smoke test script
./scripts/smoke.bash
If on Windows, you should be able to just run the 'tox' commands in that file.
-
Add or update the dependency in pyproject.toml
-
Update constraints and requirements file
uv pip compile --all-extras pyproject.toml --output-file constraints.txt -U
uv pip compile --all-extras pyproject.toml --output-file requirements.txt -U --generate-hashes
- Run tests as above
Basic checks (formatting, import order) is done with pre-commit and is controlled by the yaml file.
After installing dependencies, Run
# check it works
pre-commit run --all-files
pre-commit install
Run every so often to update the pre-commit hooks
pre-commit autoupdate
ruff format tavern/ tests/
ruff --fix tavern/ tests/
pre-commit run --all-files
-
Setup
~/.pypirc
-
Install the correct version of tbump
pip install tbump@https://github.com/michaelboulton/tbump/archive/714ba8957a3c84b625608ceca39811ebe56229dc.zip
-
Tag and push to git with
tbump <new-tag> --tag-message "<tag-message>"
-
Upload to pypi with
flit publish
mkdir -p dist/
sphinx-build docs/source/ dist/