mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-22 19:23:34 +00:00
8a131e1eeb
Instead of leveraging hound & travis, add an option for azure pipelines, which may replace the former in the future. This also streamlines the contributing guidelines by: * Adding pre-commit hooks to run isort, black, flake8, mypy * Adding lint environment to allow checks to be run `tox -e lint` This also contains a major cleanup to the SmartStrip handling which was due. After seeing #184 I thought I should push this in as it is for comments before the codebase diverges too much.
70 lines
1.3 KiB
INI
70 lines
1.3 KiB
INI
[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
|
|
deprecation
|
|
flake8
|
|
commands=
|
|
py.test --cov --cov-config=tox.ini pyHS100
|
|
|
|
[testenv:flake8]
|
|
deps=
|
|
flake8
|
|
flake8-docstrings
|
|
commands=flake8 pyHS100
|
|
|
|
[testenv:typing]
|
|
skip_install=true
|
|
deps=mypy
|
|
commands=mypy --ignore-missing-imports pyHS100
|
|
|
|
[flake8]
|
|
exclude = .git,.tox,__pycache__,pyHS100/tests/newfakes.py,pyHS100/tests/test_fixtures.py
|
|
max-line-length = 88
|
|
per-file-ignores =
|
|
pyHS100/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 = pyHS100
|
|
branch = True
|
|
omit =
|
|
pyHS100/cli.py
|
|
pyHS100/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=pyHS100
|
|
known_third_party=click,deprecation,pytest,setuptools,voluptuous
|