[tool.poetry] name = "blog" version = "0.1.0" description = "" authors = ["Gabriel Augendre "] license = "GPLv3" [tool.poetry.dependencies] python = "^3.10" django = "^4.0" markdown = "^3.2" gunicorn = "^20.0" Pygments = "^2.6" django-anymail = {version = "^8.4", extras = ["mailgun"]} pillow = "^8.4" django-cleanup = "^5.0" requests = "^2.24" readtime = "^1.1.1" pylibmc = "^1.6.1" django-debug-toolbar = "^3.2" whitenoise = {extras = ["brotli"], version = "^5.2.0"} rcssmin = "^1.0.6" django-csp = "^3.7" django-two-factor-auth = {extras = ["phonenumberslite"], git = "https://github.com/Bouke/django-two-factor-auth.git", rev = "ffe4422e"} beautifulsoup4 = "^4.10.0" django-environ = "^0.8.1" [tool.poetry.dev-dependencies] pre-commit = "^2.7" pytest = "^6.0" pytest-django = "^4.5" model-bakery = "^1.1" pytest-cov = "^3.0" pytest-recording = "^0.12.0" pytest-rerunfailures = "^10.2" pytest-env = "^0.6.2" poetry-deps-scanner = "^1.0.1" invoke = "^1.6.0" mypy = "^0.930" types-Markdown = "^3.3.10" types-requests = "^2.26.3" types-setuptools = "^57.4.5" types-toml = "^0.10.1" types-beautifulsoup4 = "^4.10.7" types-Pillow = "^8.3.11" django-stubs = "^1.9.0" [tool.black] target-version = ['py38'] [tool.isort] profile = "black" [tool.pytest.ini_options] addopts = "--color=yes" minversion = "6.0" DJANGO_SETTINGS_MODULE = "blog.settings" testpaths = [ "src", ] env = [ "GOATCOUNTER_DOMAIN=gc.gabnotes.org" ] [tool.mypy] mypy_path = "$MYPY_CONFIG_FILE_DIR/stubs:$MYPY_CONFIG_FILE_DIR/src" plugins = ["mypy_django_plugin.main"] disallow_untyped_defs = true warn_redundant_casts = true strict_equality = true disallow_untyped_calls = true warn_unreachable = true enable_error_code = ["redundant-expr", "truthy-bool"] [tool.django-stubs] django_settings_module = "blog.settings" [[tool.mypy.overrides]] module = [ "django.*", "environ", "django_otp.plugins.otp_static.models", "two_factor.models", "django_otp.plugins.otp_totp.models", "model_bakery", "invoke", ] ignore_missing_imports = true [tool.flakehell] max_complexity = 10 format = "grouped" [tool.flakehell.plugins] "flake8-*" = [ "+*", # long lines "-E501", # conflict with black on PEP8 interpretation "-E203", # deprecated rule: https://www.flake8rules.com/rules/W503.html "-W503", ] flake8-builtins = ["-A003"] # class attribute is shadowing a python builtin flake8-quotes = ["-Q000"] # found double quotes, conflict with black flake8-commas = ["-C812"] # missing trailing comma, conflict with black flake8-docstrings = ["-D1??"] # missing docstring flake8-rst-docstrings = ["-*"] [tool.flakehell.exceptions."**/migrations/*"] [tool.flakehell.exceptions."**/tests/*"] flake8-bandit = ["-S101"] # Use of assert detected. [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"