docker-compose build
docker-compose up
To install pre-commit simply run inside the shell:
uv run pre-commit install
uv run pre-commit install --hook-type commit-msgpre-commit is very useful to check your code before publishing it.
It's configured using .pre-commit-config.yaml file.
You can read more about pre-commit here: https://pre-commit.com/
-
Build docker container
docker compose build -
Run tests
docker compose run --rm api pytest src/openprocurement/tender/core -x -vvv
-
Update *.http files
docker compose run --rm api pytest docs/tests -x -vvv -
Generate docs
docker compose run --rm api sh -c "cd docs && make html"See docs/build/html for the built doc files
Sync explicitly
uv sync --frozenOr run any command with --frozen option and .venv will be synced automatically.
uv run --frozen pylint .
To add a requirement
uv add httpxor with a constraint
uv add "aiohttp>=3.12,<4"or
uv add aiohttp~=3.12To add dev requirements
uv add pytest-aiohttp~=1.0 --group=devTo add/update requirement with a github source
uv add git+https://github.com/ProzorroUKR/standards.git --rev 1.0.210or by hash itself (tag version also adds hash to the lock file, so I prefer the option above)
uv add git+https://github.com/ProzorroUKR/standards.git --rev 06f4339cf69bddab93a830b387704be5c5ec9d7bTo update all package versions
uv lock --upgradeTo update only one package
uv lock --upgrade-package pymongo==4.14.1Resolved 133 packages in 451ms
Updated pymongo v4.13.1 -> v4.14.1
- Update version in pyproject.toml using semver:
For release candidates use X.Y.Z-rc.N
For final versions use X.Y.Z
- Run
uv sync, commit, push - Create tag:
The repository includes a helper command for creating annotated release tags with an autogenerated changelog message.
Supported command formats:
make tag VERSION=X.Y.Z
make tag VERSION=X.Y.Z PREV=A.B.C
make tag X.Y.Z
make tag X.Y.Z A.B.CNotes:
PREV(or positionalA.B.C) is optional.- If previous tag is not provided, tag command tries to detect it automatically.
- The script opens your editor before creating the tag so you can adjust the tag message.
For RC tags, use the previous RC tag if it exists:
make tag X.Y.Z-rc.N X.Y.Z-rc.[N-1]Example:
make tag 1.2.3-rc.2 1.2.3-rc.1For final tags, use the previous final tag:
make tag X.Y.Z A.B.CExample:
make tag 1.2.3 1.2.4- Push tag:
git push origin X.Y.Z