charasheet/pyproject.toml

109 lines
2.8 KiB
TOML

[project]
name = "charasheet"
version = "42"
dependencies = [
"django>=4.1,<5.0",
"django-cleanup>=6.0",
"django-environ>=0.9.0",
"django-htmx>=1.12.2",
"django-linear-migrations>=2.2.0",
"django-extensions>=3.1.5",
"whitenoise>=6.2",
"selenium>=4.5.0",
"Markdown>=3.2",
"django-registration>=3.3",
"django-anymail[mailgun]>=8.6",
"django-bootstrap5>=22.1",
"requests>=2.28.1",
"gunicorn>=20.1.0",
"Pillow>=9.3.0",
]
[project.optional-dependencies]
dev = [
"django-debug-toolbar>=3.2",
"pytest>=6.0",
"pytest-cov>=3.0.0",
"pytest-django>=4.1.0",
"pytest-html>=3.1.1",
"pytest-selenium>=4.0.0",
"pre-commit>=2.1",
"model-bakery>=1.3.1",
"freezegun>=1.1.0",
"bpython>=0.22.1",
"invoke>=1.7.3",
"hypothesis>=6.56.4",
"django-browser-reload>=1.6.0",
"black>=22.12.0",
]
###############################################################################
# pytest
###############################################################################
[tool.pytest.ini_options]
addopts = """
--html=test_reports/pytest_result/pytest.html --color=yes --durations 20
--no-cov-on-fail --strict-markers
--driver=Firefox
-W error
-W "ignore:capabilities and desired_capabilities have been deprecated:DeprecationWarning:pytest_selenium.pytest_selenium"
-W "ignore:service_log_path has been deprecated:DeprecationWarning:pytest_selenium.pytest_selenium"
"""
markers = []
minversion = "6.0"
DJANGO_SETTINGS_MODULE = "charasheet.settings"
junit_family = "xunit1"
norecursedirs = [
".*",
"docker",
"documentation",
"static",
"public",
]
testpaths = [
"src",
]
python_files = [
"test_*.py",
"tests.py",
]
###############################################################################
# flake8 / flakeheaven
###############################################################################
[tool.flakeheaven]
max_complexity = 10
format = "grouped"
# Base rules
#############################
[tool.flakeheaven.plugins]
"*" = [
"+*",
"-E501", # long lines
"-E203", # conflict with black on PEP8 interpretation
"-W503", # deprecated rule: https://www.flake8rules.com/rules/W503.html
]
flake8-builtins = [
"+*",
"-A003", # class attribute is shadowing a python builtin
]
flake8-docstrings = [
"+*",
"-D1??", # missing docstring
]
flake8-bandit = [
"+*",
"-S308", # Use of mark_safe() may expose cross-site scripting vulnerabilities and should be reviewed.
"-S703", # Potential XSS on mark_safe function.
]
# Exceptions
#############################
[tool.flakeheaven.exceptions."**/tests/*"]
flake8-bandit = [
"+*",
"-S101", # Use of assert detected.
"-S106", # Possible hardcoded password.
"-S311", # Standard pseudo-random generators are not suitable for security/cryptographic purposes.
]