[tox] envlist = py{27,35,36,37,38,39} skip_missing_interpreters = true [testenv] extras = tests commands = coverage run --parallel-mode -m pytest {posargs} coverage combine coverage report -m coverage xml [testenv:short] deps = mock>=2.0.0 pytest pytest-mock parameterized coverage cryptography secp256k1 scrypt commands = coverage run --parallel-mode -m pytest {posargs} coverage combine coverage report -m coverage xml [testenv:py36] extras = tests commands = coverage run --parallel-mode -m pytest {posargs} coverage combine coverage report -m coverage xml [testenv:py36short] deps = mock>=2.0.0 pytest pytest-mock parameterized coverage cryptography secp256k1 scrypt commands = coverage run --parallel-mode -m pytest {posargs} coverage combine coverage report -m coverage xml [testenv:flake8] deps= flake8 # flake8-docstrings>=0.2.7 # flake8-import-order>=0.9 # pep8-naming # flake8-colors commands= flake8 beem beemapi beembase beemgraphenebase beemstorage setup.py examples tests [testenv:pylint] deps= pyflakes pylint commands= pylint beem beemapi beembase beemgraphenebase beemstorage tests [testenv:doc8] skip_install = true deps = sphinx doc8 commands = doc8 docs/ [testenv:mypy] skip_install = true deps = mypy-lang commands = mypy beem beemapi beembase beemgraphenebase beemstorage [testenv:bandit] skip_install = true deps = bandit commands = bandit -r beem beemapi beembase beemgraphenebase -c .bandit.yml [testenv:linters] skip_install = true deps = {[testenv:flake8]deps} {[testenv:pylint]deps} {[testenv:doc8]deps} {[testenv:readme]deps} {[testenv:bandit]deps} commands = {[testenv:flake8]commands} {[testenv:pylint]commands} {[testenv:doc8]commands} {[testenv:readme]commands} {[testenv:bandit]commands} [testenv:readme] deps = readme_renderer commands = python setup.py check -r -s [testenv:docs] basepython= python changedir= docs extras = tests deps=sphinx sphinx-click commands= sphinx-build -b html ./ ./html [testenv:upload_coverage] deps = coverage codacy-coverage passenv = CODACY_PROJECT_TOKEN commands = python-codacy-coverage -r coverage.xml # Flake8 Configuration [flake8] # Ignore some flake8-docstrings errors # NOTE(sigmavirus24): While we're still using flake8 2.x, this ignore line # defaults to selecting all other errors so we do not need select=E,F,W,I,D # Once Flake8 3.0 is released and in a good state, we can use both and it will # work well \o/ ignore = D203,E129,E501,F401,E722,E122,E111,E114,D102,D100,D103,D107 exclude = .tox, .git, __pycache__, docs/source/conf.py, build, dist, tests/fixtures/*, *.pyc, *.egg-info, .cache, .eggs max-complexity = 10 import-order-style = google application-import-names = flake8 # format = ${cyan}%(path)s${reset}:${yellow_bold}%(row)d${reset}:${green_bold}%(col)d${reset}: ${red_bold}%(code)s${reset} %(text)s