freelance-project-34-market.../deps/test-task-2025-07-17-v2/Makefile
Siarhei Siniak 5568c458c2 [+] improve rest api for summarizer
1. refactor out dependency logic into dependencies;
  2. fix input schema for summarizer;
  3. fix early app initialization before uvicorn sets logging;
  4. add manual basicConfig call;
  5. update default host and port for fastapi server;
  6. add pyright watch mode;
2025-07-25 12:05:20 +03:00

95 lines
1.8 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_ARGS ?= --threads 3
pyright:
$(ENV_PATH)/bin/python3 -m pyright \
-p pyproject.toml \
--pythonpath $(PYTHON_PATH) \
$(PYRIGHT_ARGS)
pyright_watch:
make \
PYRIGHT_ARGS=-w \
pyright
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