[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"