|
| 1 | +[project] |
| 2 | +name = "agent-framework" |
| 3 | +readme = "README.md" |
| 4 | +requires-python = ">=3.10" |
| 5 | +version = "0.0.0" |
| 6 | +license = {file = "LICENSE"} |
| 7 | +urls.source = "https://github.com/microsoft/agent-framework/tree/main/python" |
| 8 | +dependencies = [ |
| 9 | +] |
| 10 | + |
| 11 | +[dependency-groups] |
| 12 | +dev = [ |
| 13 | + "pre-commit >= 3.7", |
| 14 | + "pyright>=1.1.400", |
| 15 | + "mypy>=1.15.0", |
| 16 | + "ruff>=0.11.8", |
| 17 | +] |
| 18 | + |
| 19 | +[build-system] |
| 20 | +requires = ["hatchling", "uv-dynamic-versioning"] |
| 21 | +build-backend = "hatchling.build" |
| 22 | + |
| 23 | + |
| 24 | +[tool.uv-dynamic-versioning] |
| 25 | +fallback-version = "0.0.0" |
| 26 | + |
| 27 | +[tool.ruff] |
| 28 | +line-length = 120 |
| 29 | +target-version = "py310" |
| 30 | +include = ["*.py", "*.pyi", "**/pyproject.toml", "*.ipynb"] |
| 31 | +preview = true |
| 32 | + |
| 33 | +[tool.ruff.lint] |
| 34 | +fixable = ["ALL"] |
| 35 | +unfixable = [] |
| 36 | +select = [ |
| 37 | + "ASYNC", # async checks |
| 38 | + "B", # bugbear checks |
| 39 | + "CPY", # copyright |
| 40 | + "D", # pydocstyle checks |
| 41 | + "E", # pycodestyle error checks |
| 42 | + "ERA", # remove connected out code |
| 43 | + "F", # pyflakes checks |
| 44 | + "FIX", # fixme checks |
| 45 | + "I", # isort |
| 46 | + "INP", # implicit namespace package |
| 47 | + "ISC", # implicit string concat |
| 48 | + "Q", # flake8-quotes checks |
| 49 | + "RET", # flake8-return check |
| 50 | + "RSE", # raise exception parantheses check |
| 51 | + "RUF", # RUF specific rules |
| 52 | + "SIM", # flake8-simplify check |
| 53 | + "T20", # typing checks |
| 54 | + "TD", # todos |
| 55 | + "W", # pycodestyle warning checks |
| 56 | + "T100", # Debugger, |
| 57 | + "S", # Bandit checks |
| 58 | +] |
| 59 | +ignore = [ |
| 60 | + "D100", # allow missing docstring in public module |
| 61 | + "D104", # allow missing docstring in public package |
| 62 | + "TD003", # allow missing link to todo issue |
| 63 | + "FIX002" # allow todo |
| 64 | +] |
| 65 | + |
| 66 | +[tool.ruff.format] |
| 67 | +docstring-code-format = true |
| 68 | + |
| 69 | +[tool.ruff.lint.pydocstyle] |
| 70 | +convention = "google" |
| 71 | + |
| 72 | +[tool.ruff.lint.flake8-copyright] |
| 73 | +notice-rgx = "^# Copyright \\(c\\) Microsoft\\. All rights reserved\\." |
| 74 | +min-file-size = 1 |
| 75 | + |
| 76 | +[tool.pyright] |
| 77 | +include = ["src", "tests", "samples"] |
| 78 | +typeCheckingMode = "strict" |
| 79 | +reportUnnecessaryIsInstance = false |
| 80 | +reportMissingTypeStubs = false |
| 81 | +venvPath = "." |
| 82 | +venv = ".venv" |
| 83 | + |
| 84 | +[tool.mypy] |
| 85 | +strict = true |
| 86 | +python_version = "3.9" |
| 87 | +ignore_missing_imports = true |
| 88 | + |
| 89 | +disallow_untyped_defs = true |
| 90 | +no_implicit_optional = true |
| 91 | +check_untyped_defs = true |
| 92 | +warn_return_any = true |
| 93 | +show_error_codes = true |
| 94 | +warn_unused_ignores = false |
| 95 | + |
| 96 | +disallow_incomplete_defs = true |
| 97 | +disallow_untyped_decorators = true |
| 98 | +disallow_any_unimported = true |
0 commit comments