Source code

Revision control

Copy as Markdown

Other Tools

# Some simple testing tasks (sorry, UNIX only).
.PHONY: all build flake test vtest cov clean doc mypy
PYXS = $(wildcard multidict/*.pyx)
SRC = multidict tests setup.py
all: test
.install-deps: $(shell find requirements -type f)
pip install -r requirements/dev.txt
@touch .install-deps
.flake: .install-deps $(shell find multidict -type f) \
$(shell find tests -type f)
flake8 multidict tests
@if ! isort --check multidict tests; then \
echo "Import sort errors, run 'make fmt' to fix them!!!"; \
isort --diff --check multidict tests; \
false; \
fi
@touch .flake
isort-check:
@if ! isort --check $(SRC); then \
echo "Import sort errors, run 'make fmt' to fix them!!!"; \
isort --diff --check $(SRC); \
false; \
fi
flake8:
flake8 $(SRC)
black-check:
@if ! isort --check $(SRC); then \
echo "black errors, run 'make fmt' to fix them!!!"; \
black -t py35 --diff --check $(SRC); \
false; \
fi
mypy:
mypy --show-error-codes multidict tests
lint: flake8 black-check mypy isort-check check_changes
fmt:
black -t py35 $(SRC)
isort $(SRC)
check_changes:
./tools/check_changes.py
.develop: .install-deps $(shell find multidict -type f) .flake check_changes mypy
pip install -e .
@touch .develop
test: .develop
@pytest -q
vtest: .develop
@pytest -s -v
cov-dev: .develop
@pytest --cov-report=html
cov-ci-run: .develop
@echo "Regular run"
@pytest --cov-report=html
cov-dev-full: cov-ci-run
doc:
@make -C docs html SPHINXOPTS="-W -E"
doc-spelling:
@make -C docs spelling SPHINXOPTS="-W -E"
install:
@pip install -U 'pip'
@pip install -Ur requirements/dev.txt
install-dev: .develop
clean:
rm -rf `find . -name __pycache__`
rm -f `find . -type f -name '*.py[co]' `
rm -f `find . -type f -name '*~' `
rm -f `find . -type f -name '.*~' `
rm -f `find . -type f -name '@*' `
rm -f `find . -type f -name '#*#' `
rm -f `find . -type f -name '*.orig' `
rm -f `find . -type f -name '*.rej' `
rm -f .coverage
rm -rf coverage
rm -rf build
rm -rf cover
rm -rf htmlcov
make -C docs clean SPHINXBUILD=false
python3 setup.py clean
rm -f multidict/*.html
rm -f multidict/*.so
rm -f multidict/*.pyd
rm -rf .tox