django-layout icon indicating copy to clipboard operation
django-layout copied to clipboard

Switch to `uv`

Open ipmb opened this issue 1 year ago • 0 comments

Maybe something like this in the Makefile:

BASE_PIP_COMPILE_ARGS=--python-version 3.12 --generate-hashes pyproject.toml
PIP_COMPILE_ARGS=--output-file=requirements.txt $(BASE_PIP_COMPILE_ARGS)
DEV_PIP_COMPILE_ARGS=--output-file=requirements-dev.txt --extra dev $(BASE_PIP_COMPILE_ARGS)

.venv/bin/activate:  ## Create a new virtual environment
	uv venv --python 3.12 --seed

requirements.txt: pyproject.toml  ## Generate requirements.txt from pyproject.toml
	uv pip compile $(PIP_COMPILE_ARGS)

requirements-dev.txt: requirements.txt pyproject.toml  ## Generate requirements-dev.txt from pyproject.toml
	uv pip compile $(DEV_PIP_COMPILE_ARGS)

.PHONY: lock
lock: requirements.txt requirements-dev.txt  ## Lock dependencies

.PHONY: install
install: .venv/bin/activate  ## Install dev dependencies
	uv pip sync --require-hashes requirements-dev.txt

.PHONY: upgrade-requirements
upgrade-requirements:  ## Upgrade all dependencies in requirements.txt and requirements-dev.txt
	uv pip compile --upgrade $(PIP_COMPILE_ARGS)
	uv pip compile --upgrade $(DEV_PIP_COMPILE_ARGS)

ipmb avatar Apr 19 '24 03:04 ipmb