11.PHONY : clean compile_translations coverage diff_cover docs dummy_translations \
22 extract_translations fake_translations help \
3- quality requirements selfcheck test test-all upgrade validate
3+ mypy quality requirements selfcheck test test-all upgrade validate
44
55.DEFAULT_GOAL := help
66
@@ -26,52 +26,38 @@ coverage: clean ## generate and view HTML coverage report
2626 $(BROWSER ) htmlcov/index.html
2727
2828docs : # # generate Sphinx HTML documentation, including API docs
29- tox -e docs
29+ uv run tox -e docs
3030 $(BROWSER ) docs/_build/html/index.html
3131
32- # Define PIP_COMPILE_OPTS=-v to get more information during make upgrade.
33- PIP_COMPILE = pip-compile --upgrade $(PIP_COMPILE_OPTS )
34-
35- upgrade : export CUSTOM_COMPILE_COMMAND=make upgrade
36- upgrade : # # update the requirements/*.txt files with the latest packages satisfying requirements/*.in
37- pip install -r requirements/pip-tools.txt
38- pip install -qr requirements/pip.txt
39- # Make sure to compile files after any other files they include!
40- $(PIP_COMPILE ) --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
41- $(PIP_COMPILE ) -o requirements/pip-tools.txt requirements/pip-tools.in
42- pip install -qr requirements/pip.txt
43- pip install -r requirements/pip-tools.txt
44- $(PIP_COMPILE ) -o requirements/base.txt requirements/base.in
45- $(PIP_COMPILE ) -o requirements/test.txt requirements/test.in
46- $(PIP_COMPILE ) -o requirements/doc.txt requirements/doc.in
47- $(PIP_COMPILE ) -o requirements/quality.txt requirements/quality.in
48- $(PIP_COMPILE ) -o requirements/ci.txt requirements/ci.in
49- $(PIP_COMPILE ) -o requirements/dev.txt requirements/dev.in
32+ upgrade : # # update the uv.lock file with the latest packages satisfying pyproject.toml
33+ uv run --with edx-lint edx_lint write_uv_constraints pyproject.toml
34+ uv lock --upgrade
5035
5136quality : # # check coding style with pycodestyle and pylint
52- pylint xapi_db_load * .py
53- pycodestyle xapi_db_load * .py
54- pydocstyle xapi_db_load * .py
37+ pylint --ignore=tests xapi_db_load
38+ pycodestyle xapi_db_load
39+ pydocstyle xapi_db_load
5540 mypy xapi_db_load
56- isort --check-only --diff --recursive xapi_db_load * .py test_settings.py
57- python setup.py bdist_wheel
41+ isort --check-only --diff xapi_db_load
42+ python -m build
5843 twine check dist/*
5944 make selfcheck
6045
46+ mypy : # # run mypy type checking
47+ uv run tox -e mypy
6148
6249requirements : # # install development environment requirements
63- pip install -r requirements/pip.txt
64- pip install -r requirements/pip-tools.txt
65- pip-sync requirements/dev.txt requirements/private.*
50+ uv sync --group dev
51+ uv tool install tox --with tox-uv
6652
6753test : clean # # run tests in the current virtualenv
6854 pytest
6955
7056diff_cover : test # # find diff lines that need test coverage
7157 diff-cover coverage.xml
7258
73- test-all : quality # # run tests on every supported Python/Django combination
74- tox
59+ test-all : quality # # run tests on every supported Python combination
60+ uv run tox
7561
7662validate : quality test # # run tests and quality checks
7763
0 commit comments