masson-aiogram-template
/
Makefile
65 строк · 1.3 Кб
1.PHONY: help
2help:
3@echo "USAGE"
4@echo " make <commands>"
5@echo ""
6@echo "AVAILABLE COMMANDS"
7@echo " run Start the bot (for docker-compose usage)"
8@echo " project-start Start with docker-compose"
9@echo " project-stop Stop docker-compose"
10@echo " lint Reformat code"
11@echo " requirements Export poetry.lock to requirements.txt"
12
13.PHONY: blue
14blue:
15poetry run blue src/ tests/
16
17.PHONY: mypy
18mypy:
19poetry run mypy --strict --pretty --explicit-package-bases --install-types src/ tests/
20
21.PHONY: isort
22isort:
23poetry run isort src/ tests/
24
25.PHONY: ruff
26ruff:
27poetry run ruff check src/ tests/ --fix --respect-gitignore
28
29.PHONY: lint
30lint: blue isort ruff mypy
31
32.PHONY: run
33run:
34migrate
35poetry run python -m src.bot
36
37# Poetry and environments utils
38REQUIREMENTS_FILE := requirements.txt
39
40.PHONY: requirements
41requirements:
42# Export poetry.lock to requirements.txt if needed
43poetry check
44poetry export -o ${REQUIREMENTS_FILE} --without-hashes
45
46
47# Alembic utils
48.PHONY: generate
49generate:
50source .env
51poetry run alembic revision --m="$(NAME)" --autogenerate
52
53.PHONY: migrate
54migrate:
55source .env
56poetry run alembic upgrade head
57
58# Docker utils
59.PHONY: project-start
60project-start:
61docker-compose up --force-recreate ${MODE}
62
63.PHONY: project-stop
64project-stop:
65docker-compose down --remove-orphans ${MODE}
66