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;
95 lines
1.8 KiB
Makefile
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
|