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