[bdist_wheel]
universal=1

[metadata]
license_file = LICENSE

[tool:pytest]
addopts =
    -vvl
    --strict-markers
    --capture fd
    --tb short
    --pythonwarnings error::flaskbb.deprecation.FlaskBBDeprecation
    --cov flaskbb
    --cov-config setup.cfg
    --cov-append
    --numprocesses auto
    --dist load
norecursedirs = node_modules

[tool:isort]
lines_after_imports=2
skip_glob=20??????????_*_*.py, node_modules, .tox, docs, build, dist
not_skip=__init__.py
known_first_party=flaskbb
use_parentheses=true

[flake8]
# B = bugbear
# E = pycodestyle errors
# F = flake8 pyflakes
# W = pycodestyle warnings
# B9 = bugbear opinions
ignore = E203, E712, E711, W503
select = C,E,F,W,B,B9
max-complexity = 10
max-line-length = 80
exclude =
    # allowed to break the rules
    flaskbb/configs/default.py,
    flaskbb/_compat.py,
    # migrations are autogenerated
    migrations,
    # stuff to not inspect at all
    node_modules,
    .git,
    .tox,
    *.pyc,
    __pycache__,
    instance,
    dist,
    build,
    docs

# .coveragerc to control coverage.py
[coverage:run]
branch = true
source = flaskbb
omit =
    flaskbb/configs/*
    flaskbb/migrations/*
parallel = true

[coverage:paths]
source =
    flaskbb/
    .tox/*/lib/*/site-packages/flaskbb/

[coverage:report]
# Regexes for lines to exclude from consideration
exclude_lines =
    # Have to re-enable the standard pragma
    pragma: no cover

    # Don't complain about missing debug-only code:
    def __repr__
    if self\.debug

    # Don't complain if tests don't hit defensive assertion code:
    raise AssertionError
    raise NotImplementedError

    # Don't complain if non-runnable code isn't run:
    if 0:
    if __name__ == .__main__.:

    @abstractmethod

ignore_errors = True
precision = 2
show_missing = true

[coverage:html]
directory = tests/htmlcov