[tox] envlist=py35,py36,py37,flake8,linting,typing skip_missing_interpreters = True [tox:travis] 3.5 = py35 3.6 = py36 3.7 = py37 [testenv] passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH deps= pytest pytest-cov voluptuous typing flake8 pytest-asyncio commands= py.test --cov --cov-config=tox.ini kasa [testenv:flake8] deps= flake8 flake8-docstrings commands=flake8 kasa [testenv:typing] skip_install=true deps=mypy commands=mypy --ignore-missing-imports kasa [flake8] exclude = .git,.tox,__pycache__,kasa/tests/newfakes.py,kasa/tests/test_fixtures.py max-line-length = 88 per-file-ignores = kasa/tests/*.py:D100,D101,D102,D103,D104 setup.py:D100 ignore = D105, D107, E203, E501, W503 #ignore = E203, E266, E501, W503, F403, F401 #max-complexity = 18 #select = B,C,E,F,W,T4,B9 [testenv:lint] deps = pre-commit skip_install = true commands = pre-commit run --all-files [coverage:run] source = kasa branch = True omit = kasa/cli.py kasa/tests/* [coverage:report] exclude_lines = # ignore abstract methods raise NotImplementedError def __repr__ [isort] multi_line_output=3 include_trailing_comma=True force_grid_wrap=0 use_parentheses=True line_length=88 known_first_party=kasa known_third_party=click,pytest,setuptools,voluptuous