From bea909f997bcef51e2624b9eea42c8fbe7115aaa Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Wed, 1 Jul 2020 17:09:31 -0700 Subject: updates to Makefile --- python/.flake8 | 7 +++++++ python/Makefile | 30 +++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 python/.flake8 (limited to 'python') diff --git a/python/.flake8 b/python/.flake8 new file mode 100644 index 00000000..49935ced --- /dev/null +++ b/python/.flake8 @@ -0,0 +1,7 @@ +[flake8] +# TODO: ANN for better annotation coverage +select = C,E,F,W +ignore = F405,F403,W503,E231,E203,E501,E226,E711,E713,E265,ANN101,ANN204,ANN102 +max-complexity = 20 +exclude = .git,__pycache__,.venv +max-line-length = 120 diff --git a/python/Makefile b/python/Makefile index 182bc739..4c8ff45f 100644 --- a/python/Makefile +++ b/python/Makefile @@ -6,14 +6,34 @@ SHELL = /bin/bash help: ## Print info about all commands @echo "Commands:" @echo - @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[01;32m%-20s\033[0m %s\n", $$1, $$2}' + @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[01;32m%-20s\033[0m %s\n", $$1, $$2}' + +.PHONY: dep +dep: ## Create local virtualenv using pipenv + pipenv install --dev + +.PHONY: lint +lint: ## Run lints (eg, flake8, mypy) + pipenv run flake8 *.py tests/ fatcat_web/ fatcat_tools/ --select=E9,F63,F7,F82 + pipenv run flake8 *.py tests/ fatcat_web/ fatcat_tools/ --exit-zero + +.PHONY: mypy +mypy: ## Run mypy type checks (not part of regular lint yet) + pipenv run mypy *.py fatcat_web/ fatcat_tools/ --ignore-missing-imports + +# Not ready for 'black' yet +#.PHONY: fmt +#fmt: ## Run code formating on all source code +# pipenv run black *.py fatcat_web/ fatcat_tools/ tests/ .PHONY: test -test: ## Run all tests and lints - curl --silent localhost:9411/v0/changelog > /dev/null || (echo "API not running locally, bailing early from tests" && exit 1) +test: lint ## Run all tests and lints + @curl --silent localhost:9411/v0/changelog > /dev/null || (echo "API not running locally, bailing early from tests" && exit 1) pipenv run pytest - pipenv run pylint -j 0 -E fatcat*.py fatcat_tools fatcat_web tests/*.py - pipenv run flake8 tests/ fatcat_web/ fatcat_tools/ *.py --count --select=E9,F63,F7,F82 --show-source --statistics + +.PHONY: coverage +coverage: ## Run all tests with coverage + pipenv run pytest --cov .PHONY: test-cli test-cli: ## Run CLI commands. WARNING: may mutate local database -- cgit v1.2.3