[tox]
envlist=py33,py34,py35,py36,py37,flake8
skip_missing_interpreters = True

[tox:travis]
3.3 = py33
3.4 = py34
3.5 = py35
3.6 = py36
3.7 = py37

[testenv]
passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH
deps=
  pytest
  pytest-cov
  voluptuous
  typing
commands=
    py.test --cov --cov-config=tox.ini pyHS100

[testenv:flake8]
deps=flake8
commands=flake8 pyHS100

[testenv:typing]
deps=mypy
commands=mypy --silent-imports pyHS100

[flake8]
exclude = .git,.tox,__pycache__,pyHS100/tests/fakes.py

[coverage:run]
source = pyHS100
branch = True
omit =
  pyHS100/cli.py
  pyHS100/tests/*

[coverage:report]
exclude_lines =
  # ignore abstract methods
  raise NotImplementedError
  def __repr__