content: [tool.poetry]
  name = "pylitterbot"
  version = "0.0.0"
  description = "Python package for controlling Whisker automatic robots."
  authors = ["Nathan Spencer <natekspencer@gmail.com>"]
  license = "MIT"
  readme = "README.md"
  homepage = "https://github.com/natekspencer/pylitterbot"
  repository = "https://github.com/natekspencer/pylitterbot"
  keywords = ["Whisker", "Litter-Robot", "Feeder-Robot", "litter box", "pet feeder", "asynchronous"]
  include = ["pylitterbot/py.typed"]
  
  [tool.poetry.dependencies]
  python = ">=3.9.2,<4.0"
  aiohttp = "^3.8.1"
  deepdiff = ">=6.2.1,<9.0.0"
  PyJWT = "^2.7.0"
  pycognito = "^2024.2.0"
  
  [tool.poetry.group.dev.dependencies]
  pytest = ">=7.3.1,<9.0.0"
  pytest-asyncio = ">=0.21,<1.2"
  pytest-cov = ">=4.1,<7.0"
  aioresponses = "^0.7.4"
  mypy = "^1.3"
  tox = ">=3.28,<5.0"
  pytest-timeout = "^2.1.0"
  ruff = ">=0.5.0,<0.13"
  pytest-freezer = "^0.4.8"
  pre-commit = "^4.1.0"
  
  [tool.poetry-dynamic-versioning]
  enable = true
  vcs = "git"
  style = "semver"
  
  [tool.ruff.lint]
  select = [
      "D", # pydocstyle
      "E", # pycodestyle Error
      "F", # Pyflakes
      "I", # isort
      "W", # pycodestyle Warning
  ]
  ignore = [
      "D203", # 1 blank line required before class docstring
      "D213", # Multi-line docstring summary should start at the second line
      "E501", # Line too long
  ]
  
  [tool.ruff.lint.isort]
  combine-as-imports = true
  split-on-trailing-comma = false
  
  [tool.ruff.lint.per-file-ignores]
  "tests/**.py" = ["F401"]
  
  [build-system]
  requires = ["poetry-core>=1.0.0", "poetry-dynamic-versioning>=1.0.0,<2.0.0"]
  build-backend = "poetry_dynamic_versioning.backend"
  