-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdev.mk
More file actions
31 lines (28 loc) · 947 Bytes
/
dev.mk
File metadata and controls
31 lines (28 loc) · 947 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PYTHON?=venv/bin/python3
PIP_COMPILE?=$(PYTHON) -m uv pip compile --quiet --generate-hashes --strip-extras --python-platform=linux
PIP_SYNC?=$(PYTHON) -m uv pip sync
# Initialize the development environment, e.g. the Python dependencies
init: venv dev-requirements.txt
$(PIP_SYNC) \
dev-requirements.txt
pre-commit install
# Make sure the virtualenv exists
venv:
$(PYTHON_EXEC) -m venv venv
pip install --quiet --upgrade pip uv
update_requirements:
# Remove the virtualenv and the requirements lock files
rm -rf venv requirements.txt dev-requirements.txt
# Recrete the virtualenv
$(MAKE) venv
# Generate the lock file for production requirements
$(PIP_COMPILE) \
--output-file requirements.txt \
pyproject.toml
# Generate the lock file for development requirements
$(PIP_COMPILE) \
--output-file dev-requirements.txt \
pyproject.toml \
dev-requirements.in
# Install all the requirements in the virtualenv
$(MAKE) init