@@ -49,7 +49,7 @@ superuser:
4949 ${MANAGE} createsuperuser
5050
5151# #######################################################################################
52- # Utilities
52+ # Linters / docs
5353# #######################################################################################
5454
5555DOCS_LOCATION =./docs
@@ -78,36 +78,12 @@ docs:
7878 uvx --from sphinx==9.1.0 --with furo==2025.12.19 sphinx-build -b html ${DOCS_LOCATION} ${DOCS_LOCATION} /_build/html/
7979
8080# #######################################################################################
81-
82- VENV_LOCATION =.venv
83- ACTIVATE? =. ${VENV_LOCATION}/bin/activate;
84- # MANAGE=${VENV_LOCATION}/bin/python manage.py
85- # Do not depend on Python to generate the SECRET_KEY
86- GET_SECRET_KEY =` head -c50 /dev/urandom | base64 | head -c50 `
87- # Customize with `$ make envfile ENV_FILE=/etc/dejacode/.env`
88- ENV_FILE =.env
89- DOCKER_COMPOSE =docker compose -f docker-compose.yml
90- DOCKER_EXEC =${DOCKER_COMPOSE} exec
91- DB_NAME =dejacode_db
92- DB_USERNAME =dejacode
93- DB_PASSWORD =dejacode
94- DB_CONTAINER_NAME =db
95- DB_INIT_FILE =./data/postgresql/initdb.sql.gz
96- POSTGRES_INITDB_ARGS=--encoding =UTF-8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8
97- TIMESTAMP =$(shell date +"% Y-% m-% d_% H% M")
98-
99- conf : virtualenv
100- @echo " -> Install dependencies"
101- uv sync --frozen
102- @echo " -> Create the var/ directory"
103- @mkdir -p var
104-
105- dev : virtualenv
106- @echo " -> Configure and install development dependencies"
107- uv sync --frozen --extra dev
81+ # Utilities
82+ # #######################################################################################
10883
10984outdated :
11085 @echo " -> Check for outdated packages (with 7 days cooldown)"
86+ uv sync --frozen --quiet
11187 uv pip list --outdated \
11288 --no-config \
11389 --index-url https://pypi.org/simple \
@@ -121,25 +97,61 @@ upgrade:
12197 exit 1; \
12298 fi
12399 @echo " -> Download $( PACKAGE) wheels for Linux x86_64"
124- pip download $(PACKAGE ) \
100+ uvx pip download $(PACKAGE ) \
125101 --only-binary=:all: \
126102 --platform manylinux_2_28_x86_64 \
127103 --platform manylinux_2_17_x86_64 \
128104 --python-version 3.14 \
129105 --dest ./thirdparty/dist/
130106 @echo " -> Download $( PACKAGE) wheels for macOS ARM64"
131- pip download $(PACKAGE ) \
107+ uvx pip download $(PACKAGE ) \
132108 --only-binary=:all: \
133109 --platform macosx_11_0_arm64 \
134110 --python-version 3.14 \
135111 --dest ./thirdparty/dist/
136112 @echo " -> Update pyproject.toml and uv.lock"
137- uv add $(PACKAGE )
113+ uvx uv add $(PACKAGE )
138114
139115lock :
140116 @echo " -> Regenerate uv.lock from local wheels"
141117 uv lock
142118
119+ clean :
120+ @echo " -> Clean the Python env"
121+ rm -rf .venv/ .* _cache/ * .egg-info/ build/ dist/
122+ find . -type f -name ' *.py[co]' -delete -o -type d -name __pycache__ -delete
123+
124+ # #######################################################################################
125+ # Local venv commands (legacy)
126+ # #######################################################################################
127+
128+ VENV_LOCATION =.venv
129+ ACTIVATE? =. ${VENV_LOCATION}/bin/activate;
130+ # MANAGE=${VENV_LOCATION}/bin/python manage.py
131+ # Do not depend on Python to generate the SECRET_KEY
132+ GET_SECRET_KEY =` head -c50 /dev/urandom | base64 | head -c50 `
133+ # Customize with `$ make envfile ENV_FILE=/etc/dejacode/.env`
134+ ENV_FILE =.env
135+ DOCKER_COMPOSE =docker compose -f docker-compose.yml
136+ DOCKER_EXEC =${DOCKER_COMPOSE} exec
137+ DB_NAME =dejacode_db
138+ DB_USERNAME =dejacode
139+ DB_PASSWORD =dejacode
140+ DB_CONTAINER_NAME =db
141+ DB_INIT_FILE =./data/postgresql/initdb.sql.gz
142+ POSTGRES_INITDB_ARGS=--encoding =UTF-8 --lc-collate=en_US.UTF-8 --lc-ctype=en_US.UTF-8
143+ TIMESTAMP =$(shell date +"% Y-% m-% d_% H% M")
144+
145+ conf : virtualenv
146+ @echo " -> Install dependencies"
147+ uv sync --frozen
148+ @echo " -> Create the var/ directory"
149+ @mkdir -p var
150+
151+ dev : virtualenv
152+ @echo " -> Configure and install development dependencies"
153+ uv sync --frozen --extra dev
154+
143155envfile :
144156 @echo " -> Create the .env file and generate a secret key"
145157 @if test -f ${ENV_FILE} ; then echo " ${ENV_FILE} file exists already" ; exit 1; fi
@@ -150,15 +162,6 @@ envfile_dev: envfile
150162 @echo " -> Update the .env file for development"
151163 @echo DATABASE_PASSWORD=\" dejacode\" >> ${ENV_FILE}
152164
153- check-deploy :
154- @echo " -> Check Django deployment settings"
155- ${MANAGE} check --deploy
156-
157- clean :
158- @echo " -> Clean the Python env"
159- rm -rf .venv/ .* _cache/ * .egg-info/ build/ dist/
160- find . -type f -name ' *.py[co]' -delete -o -type d -name __pycache__ -delete
161-
162165initdb :
163166 @echo " -> Stop Docker services that access the database"
164167 ${DOCKER_COMPOSE} stop web worker
@@ -183,4 +186,4 @@ psql:
183186log :
184187 ${DOCKER_COMPOSE} logs --tail=" 100" ${SERVICE}
185188
186- .PHONY : virtualenv conf dev lock upgrade envfile envfile_dev check outdated doc8 valid check-deploy clean initdb postgresdb postgresdb_clean migrate run test docs build psql bash shell log superuser
189+ .PHONY : virtualenv conf dev lock upgrade envfile envfile_dev check outdated doc8 valid clean initdb postgresdb postgresdb_clean migrate run test docs build psql bash shell log superuser
0 commit comments