papi/Makefile

76 lines
1.3 KiB
Makefile

system_minor := $(shell python3 -c "import sys;print(sys.version_info.minor)")
minor?=$(system_minor)
minor=9
PYTHON=python3.$(minor)
venv=.venv3.$(minor)
PYTHON_INTERPRETER=python3
NOLINK_PATH=$(venv)
VENV_PATH=.venv
VENV_BIN=$(VENV_PATH)/bin
PIP=$(VENV_BIN)/pip
POETRY=$(VENV_BIN)/poetry
.venv3.$(minor):
$(PYTHON) -m venv $(venv)
$(NOLINK_PATH)/bin/python -m ensurepip
venv:
touch .env
make .venv3.$(minor)
rm -f .venv && ln -s $(venv) ./.venv
$(PIP) install --upgrade pip
#$(PIP) install --upgrade "setuptools<71"
dep_poetry: venv
$(PIP) install poetry
clean:
rm -r .venv3.$(minor)
touch poetry.lock && rm poetry.lock
.ONESHELL:
install: dep_poetry
$(POETRY) install
scaledev:
$(POETRY) run uvicorn papi.main:app --reload --port 9000
.ONESHELL:
serve:
$(POETRY) run uvicorn papi.main:app
kill_server:
pgrep -f papi.*python | xargs kill -9
.ONESHELL:
dev_serve:
PAPI_NOMAIL=TRUE \
$(POETRY) run uvicorn papi.main:app --reload
cleandb:
rm test_sql_app.db || echo ls
.ONESHELL:
test: cleandb
$(POETRY) run pytest --cov="papi" --cov-report=term-missing:skip-covered .
.ONESHELL:
dtest: cleandb
$(POETRY) run pytest -s --ff --lf --pdb --cov="papi" --cov-report=term-missing:skip-covered .
.ONESHELL:
qtest: cleandb
$(POETRY) run pytest -sxv --ff --lf .