# =====CONFIG===== PYTHON := python3.9 # This can't contain spaces (I think) VENV := .venv # Minimum % coverage for tests to succeed MIN_COV := 10 # By default, just create the venv when needed all: venv # =====RECIPES===== ## VENV ### Create the venv $(VENV)/bin/activate: setup.py setup.cfg @ '$(PYTHON)' -m venv '$(VENV)' @ '$(VENV)'/bin/pip install -e .[develop] ### Convenient alias for the venv venv: $(VENV)/bin/activate .PHONY: venv ## Formatting & linting format: venv '$(VENV)'/bin/black setup.py app .PHONY: format lint: venv '$(VENV)'/bin/flake8 setup.py app .PHONY: lint ## Testing test: venv '$(VENV)'/bin/pytest --cov=app --cov-fail-under='$(MIN_COV)' tests/ .PHONY: test ## Cleaning # Remove the venv clean: @ rm -rf '$(VENV)' .PHONY: clean # Run the Flask server # TODO run: venv