Revision eef9e31500ca1359313d15b8cf8ed3a4b05f06f6 authored by sc336 on 24 January 2023, 13:52:12 UTC, committed by GitHub on 24 January 2023, 13:52:12 UTC
2 parent s a568fed + 0923140
Raw File
Makefile
NOTEBOOK_BLACK_CONFIG=-t py37 -l 80
NOTEBOOK_BLACK_TARGETS=doc/sphinx/notebooks
NOTEBOOK_ISORT_CONFIG=--atomic -l 80 --trailing-comma --remove-redundant-aliases --multi-line 3
NOTEBOOK_ISORT_TARGETS=doc/sphinx/notebooks

BLACK_CONFIG=-t py37 -l 100
BLACK_TARGETS=gpflow tests benchmark doc/*.py setup.py
ISORT_CONFIG=--atomic -l 100 --trailing-comma --remove-redundant-aliases --multi-line 3
ISORT_TARGETS=gpflow tests benchmark doc/*.py setup.py
MYPY_TARGETS=gpflow tests benchmark doc/*.py doc/sphinx/notebooks/getting_started setup.py

.PHONY: help clean dev-install install package format format-check type-check test check-all

help:
	@echo "The following make targets are available:"
	@echo "	dev-install		install all dependencies for dev environment and sets a egg link to the project sources"
	@echo "	install			install all dependencies and the project in the current environment"
	@echo "	package			build pip package"
	@echo "	clean			removes package, build files and egg info"
	@echo "	format			auto-format code"
	@echo "	format-check		check that code has been formatted correctly"
	@echo "	type-check		check that mypy is happy with type annotations"
	@echo "	test			run all tests"
	@echo "	check-all		run format-check, type-check, and test (as run by the continuous integration system)"

clean:
	rm -rf dist *.egg-info build

dev-install:
	pip install -r tests_requirements.txt -e .

install:
	pip install .

package:
	python setup.py bdist

format:
	black $(BLACK_CONFIG) $(BLACK_TARGETS)
	black $(NOTEBOOK_BLACK_CONFIG) $(NOTEBOOK_BLACK_TARGETS)
	isort $(ISORT_CONFIG) $(ISORT_TARGETS)
	isort $(NOTEBOOK_ISORT_CONFIG) $(NOTEBOOK_ISORT_TARGETS)

format-check:
	black --check $(BLACK_CONFIG) $(BLACK_TARGETS)
	black --check $(NOTEBOOK_BLACK_CONFIG) $(NOTEBOOK_BLACK_TARGETS)
	isort --check-only $(ISORT_CONFIG) $(ISORT_TARGETS)
	isort --check-only $(NOTEBOOK_ISORT_CONFIG) $(NOTEBOOK_ISORT_TARGETS)

type-check:
	mypy `python -m gpflow.mypy_flags` $(MYPY_TARGETS)

test:
	pytest -n auto --dist loadfile -v --durations=10 tests/

check-all: format-check type-check test
back to top