You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pyproject.toml 3.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. [build-system]
  2. requires = ["hatchling"]
  3. build-backend = "hatchling.build"
  4. [project]
  5. name = "autogen-core"
  6. version = "0.4.8"
  7. license = {file = "LICENSE-CODE"}
  8. description = "Foundational interfaces and agent runtime implementation for AutoGen"
  9. readme = "README.md"
  10. requires-python = ">=3.10"
  11. classifiers = [
  12. "Programming Language :: Python :: 3",
  13. "License :: OSI Approved :: MIT License",
  14. "Operating System :: OS Independent",
  15. ]
  16. dependencies = [
  17. "pillow>=11.0.0",
  18. "typing-extensions>=4.0.0",
  19. "pydantic<3.0.0,>=2.10.0",
  20. "protobuf~=5.29.3",
  21. "opentelemetry-api>=1.27.0",
  22. "jsonref~=1.1.0",
  23. ]
  24. [dependency-groups]
  25. dev = [
  26. "aiofiles",
  27. "asyncio_atexit",
  28. "autogen_test_utils",
  29. "azure-identity",
  30. "chess",
  31. "colorama",
  32. "langchain-openai",
  33. "langgraph",
  34. "llama-index-embeddings-azure-openai",
  35. "llama-index-llms-azure-openai",
  36. "llama-index-readers-web",
  37. "llama-index-readers-wikipedia",
  38. "llama-index-tools-wikipedia",
  39. "llama-index",
  40. "markdownify",
  41. "nbqa",
  42. "opentelemetry-sdk>=1.27.0",
  43. "pip",
  44. "polars",
  45. "python-dotenv",
  46. "requests",
  47. "tavily-python",
  48. "textual-dev",
  49. "textual-imageview",
  50. "textual",
  51. "types-aiofiles",
  52. "types-docker",
  53. "types-pillow",
  54. "types-protobuf",
  55. "types-requests",
  56. "wikipedia",
  57. # Documentation
  58. "myst-nb==1.1.2",
  59. "pydata-sphinx-theme==0.15.4",
  60. "sphinx-copybutton",
  61. "sphinx-design",
  62. "sphinx",
  63. "sphinxcontrib-apidoc",
  64. "autodoc_pydantic~=2.2",
  65. "pygments",
  66. "sphinxext-rediraffe",
  67. "autogen_ext==0.4.8",
  68. # Documentation tooling
  69. "diskcache",
  70. "redis",
  71. "sphinx-autobuild",
  72. ]
  73. [tool.ruff]
  74. extend = "../../pyproject.toml"
  75. exclude = ["build", "dist", "src/autogen_core/application/protos", "tests/protos"]
  76. include = ["src/**", "docs/**/*.ipynb", "tests/**"]
  77. [tool.ruff.lint.per-file-ignores]
  78. "docs/**.ipynb" = ["T20"]
  79. [tool.pyright]
  80. extends = "../../pyproject.toml"
  81. include = ["src", "tests"]
  82. exclude = ["src/autogen_core/application/protos", "tests/protos"]
  83. reportDeprecated = true
  84. [tool.pytest.ini_options]
  85. minversion = "6.0"
  86. testpaths = ["tests"]
  87. asyncio_default_fixture_loop_scope = "session"
  88. [tool.nbqa.addopts]
  89. mypy = [
  90. "--disable-error-code=top-level-await"
  91. ]
  92. [tool.poe]
  93. include = "../../shared_tasks.toml"
  94. [tool.poe.tasks]
  95. test = "pytest -n auto --cov=src --cov-report=term-missing --cov-report=xml"
  96. mypy.default_item_type = "cmd"
  97. mypy.sequence = [
  98. "mypy --config-file ../../pyproject.toml --exclude src/autogen_core/application/protos --exclude tests/protos src tests",
  99. "nbqa mypy docs/src --config-file ../../pyproject.toml",
  100. ]
  101. # Docs
  102. docs-clean = "rm -rf docs/build"
  103. # Inline tables are WAY easier to read but for some reason they break pyright. So we have to write it out this way.
  104. # Example of inline table:
  105. # docs-build = [
  106. # "docs-apidoc-all",
  107. # { cmd = "sphinx-build docs/src docs/build" }
  108. # ]
  109. docs-build = "sphinx-build docs/src docs/build"
  110. docs-serve = "sphinx-autobuild --watch src docs/src docs/build --port 8000 --jobs auto"
  111. docs-check = "sphinx-build --fail-on-warning docs/src docs/build"
  112. docs-check-examples = "sphinx-build -b code_lint docs/src docs/build"