78 lines
1.4 KiB
Makefile
78 lines
1.4 KiB
Makefile
ENV_PATH ?= .venv
|
|
PYTHON_PATH = $(ENV_PATH)/bin/python3
|
|
PYTHON_VERSION ?= 3.10
|
|
UV_ARGS ?= --offline
|
|
DOCKER ?= podman
|
|
COMPOSE ?= podman compose
|
|
|
|
venv_extract_requirements:
|
|
$(ENV_PATH)/bin/tomlq \
|
|
-r '.project.dependencies | join("\n")' \
|
|
pyproject.toml > requirements.in
|
|
|
|
venv_compile:
|
|
uv pip compile \
|
|
$(UV_ARGS) \
|
|
-p $(PYTHON_VERSION) \
|
|
--generate-hashes \
|
|
requirements.in > \
|
|
requirements.txt
|
|
|
|
|
|
venv:
|
|
uv \
|
|
venv \
|
|
-p 3.13 \
|
|
$(UV_ARGS) \
|
|
--seed \
|
|
$(ENV_PATH)
|
|
uv \
|
|
pip install \
|
|
$(UV_ARGS) \
|
|
-p $(ENV_PATH) \
|
|
-r requirements.txt
|
|
|
|
pyright:
|
|
$(ENV_PATH)/bin/python3 -m pyright \
|
|
-p pyproject.toml \
|
|
--threads 3 \
|
|
--pythonpath $(PYTHON_PATH)
|
|
|
|
ruff_check:
|
|
$(ENV_PATH)/bin/python3 -m ruff \
|
|
check
|
|
|
|
ruff_format_check:
|
|
$(ENV_PATH)/bin/python3 -m ruff \
|
|
format --check
|
|
|
|
ruff_format:
|
|
$(ENV_PATH)/bin/python3 -m ruff \
|
|
format
|
|
|
|
ruff: ruff_format_check ruff_check
|
|
|
|
compose_env:
|
|
cat docker/postgresql/.env .env/postgresql.env > .env/postgresql.patched.env
|
|
cat docker/web/.env .env/web.env > .env/web.patched.env
|
|
|
|
compose_build_web:
|
|
$(COMPOSE) build web
|
|
|
|
git-release:
|
|
mkdir -p releases/tar
|
|
git archive \
|
|
--format=tar \
|
|
-o "releases/tar/repo-$$(git describe --tags).tar" \
|
|
HEAD
|
|
|
|
ALEMBIC_CMD ?= --help
|
|
alembic:
|
|
$(ENV_PATH)/bin/alembic \
|
|
-c pyproject.toml \
|
|
$(ALEMBIC_CMD)
|
|
|
|
deploy_wheel:
|
|
make pyright
|
|
$(PYTHON_PATH) -m build -o releases/whl -w -n
|