freelance-project-34-market.../deps/test-task-2025-07-17-v2/Makefile
Siarhei Siniak 520633f383 [+] rework docker for web
1. add separate requirements for heavy
    packages with custom index-url;
  2. rewrite docker file to make sure caching
    is not triggering reinstall of requirements
    all the time;
  3. make sure summarizer has transformers
    and torch modules;
2025-07-25 11:23:36 +03:00

88 lines
1.7 KiB
Makefile

ENV_PATH ?= .venv
PYTHON_PATH = $(ENV_PATH)/bin/python3
PYTHON_VERSION ?= 3.12.9
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:
for requirements_name in requirements requirements.torch; do\
uv pip compile \
$(UV_ARGS) \
-p $(PYTHON_VERSION) \
--generate-hashes \
$$requirements_name.in > \
$$requirements_name.txt; \
cat $$requirements_name.in | grep 'index-url' >> $$requirements_name.txt; \
done
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
cat docker/web/summarizer.env .env/summarizer.env > .env/summarizer.patched.env
compose_build_web:
$(COMPOSE) build web
compose_build_summarizer:
$(COMPOSE) build summarizer
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
make deploy_wheel_unsafe
deploy_wheel_unsafe:
$(PYTHON_PATH) -m build -o releases/whl -w -n