-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
32 lines (22 loc) · 947 Bytes
/
Makefile
File metadata and controls
32 lines (22 loc) · 947 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
.DEFAULT_GOAL := help
.PHONY: help install install-dev test check format lint type-check security-check changelog deploy-docs
help: ## Display this help message
@echo "Available targets:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
install: ## Install the package in development mode
pip install -e .
install-dev: ## Install the package with development dependencies
pip install -e '.[dev]'
test: ## Run tests with pytest
pytest
check: lint format type-check ## Run all checks (lint, format, type-check)
format: ## Format code with ruff
ruff format src/ tests/
lint: ## Lint code with ruff
ruff check --fix src/ tests/
type-check: ## Type check with pyright
pyright
changelog: ## compile changelog
git cliff --output CHANGELOG.md $(if $(bump),--tag $(bump))
deploy-docs: ## build and publish documentation
mkdocs gh-deploy