libretime/tools/python.mk

61 lines
1.0 KiB
Makefile
Raw Normal View History

.ONESHELL:
2021-09-13 14:22:20 +02:00
SHELL = bash
CPU_CORES = $(shell nproc)
2021-09-13 14:22:20 +02:00
# PIP_INSTALL = --editable .
# PYLINT_ARG =
# MYPY_ARG =
# PYTEST_ARG =
2021-09-13 14:22:48 +02:00
SHARED_DEV_REQUIREMENTS = \
black \
isort \
mypy \
pylint \
pytest \
pytest-cov \
pytest-xdist
2021-09-13 14:22:20 +02:00
VENV = venv
$(VENV):
python3 -m venv $(VENV)
source $(VENV)/bin/activate
$(MAKE) install
install: venv
source $(VENV)/bin/activate
pip install --upgrade pip setuptools wheel
2021-09-13 14:22:48 +02:00
pip install $(SHARED_DEV_REQUIREMENTS) $(PIP_INSTALL)
2021-09-13 14:21:19 +02:00
.PHONY: .format
.format: $(VENV)
source $(VENV)/bin/activate
black .
isort . --profile black
.PHONY: .format-check
.format-check: $(VENV)
source $(VENV)/bin/activate
black . --check
isort . --profile black --check
2021-09-13 14:21:19 +02:00
.PHONY: .pylint
.pylint: $(VENV)
source $(VENV)/bin/activate
pylint --output-format=colorized $(PYLINT_ARG) || true
2021-09-10 14:41:51 +02:00
.PHONY: .mypy
.mypy: $(VENV)
source $(VENV)/bin/activate
mypy $(MYPY_ARG) || true
.PHONY: .pytest
.pytest: $(VENV)
source venv/bin/activate
pytest -n $(CPU_CORES) --color=yes -v $(PYTEST_ARG)
.PHONY: .clean
.clean:
rm -Rf $(VENV)