[tool.poetry] name = "moku" version = "0.1.0" description = "a lightweight food blogging site" authors = ["m5ka "] license = "BSD 2-Clause" readme = "README.md" [tool.poetry.dependencies] django = "^5.0.3" django-environ = "^0.11.2" django-jinja = "^2.11.0" django-recaptcha = "^4.0.0" emoji = "^2.10.1" gunicorn = "^21.2.0" mistune = "^3.0.2" pi-heif = "^0.20.0" pillow = "^10.2.0" psycopg2 = "^2.9.9" python = "^3.12" shortuuid = "^1.0.13" sentry-sdk = {extras = ["django"], version = "^1.44.1"} [tool.poetry.group.dev] optional = true [tool.poetry.group.dev.dependencies] django-debug-toolbar = "^4.3.0" ruff = "^0.3.4" [tool.poetry.group.test] optional = true [tool.poetry.group.test.dependencies] pytest = "^8.1.1" pytest-django = "^4.8.0" [tool.pytest.ini_options] DJANGO_SETTINGS_MODULE = "moku.config.settings" [tool.ruff] include = ["pyproject.toml", "moku/**/*.py", "manage.py"] exclude = ["moku/migrations/*.py"] line-length = 88 indent-width = 4 target-version = "py312" [tool.ruff.lint] select = ["F", "E", "W", "I"] [tool.ruff.lint.isort] split-on-trailing-comma = false [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = true docstring-code-format = true docstring-code-line-length = "dynamic" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"