| | .PHONY: help install dev-install test format lint type-check clean build run |
| |
|
| | help: ## Show this help menu |
| | @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' |
| |
|
| | install: ## Install production dependencies |
| | uv pip install . |
| |
|
| | dev-install: ## Install development dependencies |
| | uv pip install -e ".[dev]" |
| |
|
| | test: ## Run tests with pytest |
| | pytest -v |
| |
|
| | format: ## Format code with black and isort |
| | black . |
| | isort . |
| |
|
| | lint: ## Lint code with ruff |
| | ruff check . |
| |
|
| | type-check: ## Run type checking with mypy |
| | mypy src tests |
| |
|
| | clean: ## Clean build artifacts |
| | rm -rf build/ dist/ *.egg-info/ .coverage .pytest_cache/ .mypy_cache/ .ruff_cache/ |
| | find . -type d -name __pycache__ -exec rm -rf {} + |
| |
|
| | build: ## Build Docker image |
| | docker build -t template-python . |
| |
|
| | run: ## Run Docker container |
| | docker run -it |
| |
|
| | package: ## Create requirements.txt |
| | uv pip freeze > requirements.txt |
| |
|
| | setup: ## Initial project setup |
| | uv venv |
| | $(MAKE) dev-install |
| | cp .env.example .env |