[tox]
isolated_build = True

[testenv]
extras =
    tests
deps =
    coverage
commands =
    coverage run -m pytest --strict-markers {posargs}
    coverage combine
    coverage report -m --fail-under 100

[testenv:pep8]
deps =
    black
    flake8
    flake8-import-order
    pep8-naming
commands =
    flake8 .
    black --check .

[testenv:mypy]
deps =
    mypy
commands =
    mypy src/bcrypt

[testenv:packaging]
deps =
    setuptools-rust
    check-manifest
    readme_renderer
commands =
    check-manifest
    python setup.py check --metadata --restructuredtext --strict


[flake8]
ignore = E203,E211,E501,W503,W504
exclude = .tox,*.egg
select = E,W,F,N,I
application-import-names = bcrypt,tests

[check-manifest]
ignore =
    tests/reference/*