road-master/showroom-podcast

View on GitHub
pyproject.toml

Summary

Maintainability
Test Coverage
[tool.isort]
# see: https://black.readthedocs.io/en/stable/guides/using_black_with_other_tools.html?highlight=isort#custom-configuration
# see: https://github.com/timothycrosley/isort/issues/694#issuecomment-581246882
profile = "black"
line_length = 120

# see: https://black.readthedocs.io/en/stable/pyproject_toml.html#configuration-format
[tool.black]
line-length = 120

[tool.pylint.basic]
docstring-min-length = "7"

[tool.pylint.format]
max-line-length = "120"

[tool.pylint.messages_control]
# bad-continuation: see: https://github.com/PyCQA/pylint/pull/3571
disable = ''',
    bad-continuation,
    '''

[tool.pylint.options]
# Since this rule against single responsibility principle.
# see: https://stackoverflow.com/questions/28722314/why-does-pylint-want-2-public-methods-per-class/40258006#40258006
min-public-methods = "1"

[tool.pylint.typecheck]
ignored-classes = [
    "scoped_session",  # see: https://stackoverflow.com/questions/59214324/flask-error-db-scoped-session-instance-of-scoped-session-has-no-commit-mem/59214469#59214469
]

[tool.pytest.ini_options]
log_cli = true
log_cli_level = "DEBUG"

[[tool.mypy.overrides]]
module = [
    "ffmpeg",
    "urllib3.*"
]
ignore_missing_imports = true

[tool.tox]
# see: https://pipenv-fork.readthedocs.io/en/latest/advanced.html#tox-automation-project
# Now we are avoiding to use tox-pipenv since we want to define only Pipenv as deps in tox.
legacy_tox_ini = """
[testenv]
deps = pipenv
commands=
    pipenv install --skip-lock --dev
    pytest tests
"""