37 lines
893 B
Makefile
37 lines
893 B
Makefile
APP_NAME={{cookiecutter.module_name}}
|
|
PYTHON=.venv/bin/python3
|
|
INTERPRETER=/usr/bin/python3
|
|
.PHONY: help test
|
|
|
|
|
|
all: help
|
|
|
|
init: ## create a venv
|
|
$(INTERPRETER) -m venv .venv
|
|
cp .env.example .env
|
|
|
|
install:
|
|
$(PYTHON) -m pip install -r requirements.txt
|
|
|
|
data: ## download the mnist data
|
|
$(PYTHON) -m $(APP_NAME) data:download
|
|
|
|
run: ## run the pipeline (train)
|
|
$(PYTHON) -m $(APP_NAME) pipeline:train
|
|
|
|
serve: ## start fastapi uvicorn server
|
|
$(PYTHON) -m $(APP_NAME) app:serve
|
|
|
|
docs: ## serve the mdbook docs directory
|
|
mdbook serve docs
|
|
|
|
test: ## run pytest tests
|
|
$(PYTHON) -m pytest
|
|
|
|
test-watch: ## run pytest on .py changes
|
|
find . -iname "*.py" | entr -c $(PYTHON) -m pytest
|
|
|
|
help: ## display this help message
|
|
@echo "available commands:"
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36mmake %-30s\033[0m %s\n", $$1, $$2}'
|