
all:
	@echo
	@echo "Available targets"
	@echo ""
	@echo "ci              -- run linting and tests"
	@echo ""
	@echo "test            -- execute test suite"
	@echo ""
	@echo "flake8          -- run flake8 checks"
	@echo ""
	@echo "isort           -- run isort checks"
	@echo ""
	@echo "mypy            -- run mypy checks"
	@echo ""
	@echo "pylint          -- run pylint tests"
	@echo ""
	@echo "pydocstyle      -- run pydocstyle tests"
	@echo ""
	@echo "coverage        -- create coverage report"
	@echo ""
	@echo "build           -- build python package"
	@echo ""
	@echo "pypi            -- upload package to pypi"
	@echo ""

test:
	pytest

ci: pydocstyle flake8 pylint isort mypy test

flake8:
	@flake8

isort:
	@isort --check-only test examples src/pyvlx

mypy:
	@mypy src/pyvlx

build:
	@python3 -m build

pypi:
	@rm -f dist/*
	@python3 -m build
	@twine upload dist/*

pylint:
	@pylint src/pyvlx test/*.py examples/*.py

pydocstyle:
	 @pydocstyle src/pyvlx test/*.py test/*.py examples/*.py

coverage:
	pytest --cov --cov-report html --verbose

.PHONY: test build
