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 .