diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..cc185f5 --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +# Pipeline Network Diagram Editor + +PYTHON ?= python3 +PIP ?= $(PYTHON) -m pip + +.DEFAULT_GOAL := help + +.PHONY: help install run test lint clean + +help: ## Show this help + @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \ + awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}' + +install: ## Install runtime and test dependencies + $(PIP) install -r requirements.txt + +run: ## Launch the editor + $(PYTHON) -m pipeline_editor + +test: ## Run the test suite headless + QT_QPA_PLATFORM=offscreen $(PYTHON) -m pytest + +clean: ## Remove Python caches and build artifacts + rm -rf build dist *.egg-info .pytest_cache .coverage htmlcov + find . -type d -name __pycache__ -prune -exec rm -rf {} +