content: [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [project]
  name = "gitty"
  version = "0.1.0"
  license = {file = "LICENSE"}
  description = "A Python project for GitHub issue content retrieval and user interaction."
  readme = "README.md"
  requires-python = ">=3.10"
  classifiers = [
      "Programming Language :: Python :: 3",
      "License :: OSI Approved :: MIT License",
      "Operating System :: OS Independent", 
  ]
  dependencies = [
      "aiohttp>=3.7.4",
      "pyperclip>=1.8.2",
      "autogen_agentchat>=0.4.3,<0.5.0",
      "autogen_ext[openai]>=0.4.3,<0.5.0",
      "rich>=13.0.0",
      "chromadb"
  ]
  
  [project.scripts]
  gitty = "gitty:main"
  
  [dependency-groups]
  dev = [
      "poethepoet",
      "mypy",
      "pyright",
      "ruff"
  ]
  
  [tool.ruff]
  line-length = 120
  fix = true
  
  target-version = "py310"
  
  [tool.ruff.format]
  docstring-code-format = true
  
  [tool.ruff.lint]
  select = ["E", "F", "W", "B", "Q", "I", "ASYNC", "T20"]
  ignore = ["F401", "E501"]
  
  [tool.mypy]
  strict = true
  python_version = "3.10"
  ignore_missing_imports = true
  
  # from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
  disallow_untyped_defs = true
  no_implicit_optional = true
  check_untyped_defs = true
  warn_return_any = true
  show_error_codes = true
  warn_unused_ignores = false
  
  disallow_incomplete_defs = true
  disallow_untyped_decorators = true
  disallow_any_unimported = true
  
  [tool.pyright]
  include = ["src", "tests"]
  typeCheckingMode = "strict"
  reportUnnecessaryIsInstance = false
  reportMissingTypeStubs = false
  
  [tool.poe.tasks]
  mypy = "mypy ."
  pyright = "pyright"
  format = "ruff format"
  lint = "ruff check"
  