[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. ]