content: [tool.poetry]
  name = "masson-aiogram-template"
  version = "0.1.0"
  description = "Scalable and functional aiogram template with SQLAlchemy and Github Actions integrations by MassonNn"
  authors = ["MassonNn <ilyalyapin@duck.com>"]
  license = "MIT License"
  readme = "README.md"
  packages = []
  
  [tool.poetry.dependencies]
  python = "^3.13"
  aiogram = "^3.20.0.post0"
  sqlalchemy = "^2.0.41"
  asyncpg = "^0.30.0"
  greenlet = "^3.2.3"
  redis = "^6.2.0"
  dishka = "^1.6.0"
  
  [tool.poetry.group.dev]
  optional=true
  
  [tool.poetry.group.dev.dependencies]
  pytest = "^7.2.1"
  pytest-asyncio = "^0.20.3"
  mypy = "^1.0.1"
  ruff = "^0.0.275"
  blue = "^0.9.1"
  isort = "^6.0.1"
  
  [tool.ruff]
  line-length = 88
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  target-version = "py310"
  select = [
      "E", # pycodestyle
      "F", # pyflakes
      "UP", # pyupgrade
      "D", # pydocstyle
  ]
  fixable = [
      "A", "C", "D", "E", "F", "G",
      "I", "N", "Q", "S", "T", "W", "ANN",
      "ARG", "BLE", "COM", "DJ", "DTZ", "EM",
      "ERA", "EXE", "FBT", "ICN", "INP", "ISC",
      "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH",
      "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH",
      "TID", "TRY", "UP", "YTT"
  ]
  unfixable = ["B"]
  exclude = [
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".git-rewrite",
      ".hg",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "venv",
  ]
  
  [tool.ruff.pydocstyle]
  convention = "google"
  
  [tool.ruff.flake8-quotes]
  docstring-quotes = "double"
  
  
  [build-system]
  requires = ["poetry-core"]
  build-backend = "poetry.core.masonry.api"
  