pyproject.toml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. [tool.poetry]
  2. name = "openhands-ai"
  3. version = "0.9.8"
  4. description = "OpenHands: Code Less, Make More"
  5. authors = ["OpenHands"]
  6. license = "MIT"
  7. readme = "README.md"
  8. repository = "https://github.com/All-Hands-AI/OpenHands"
  9. include = ["poetry.lock"]
  10. packages = [
  11. { include = "openhands/**/*" }
  12. ]
  13. [tool.poetry.dependencies]
  14. python = "^3.12"
  15. datasets = "*"
  16. pandas = "*"
  17. litellm = "*"
  18. google-generativeai = "*" # To use litellm with Gemini Pro API
  19. termcolor = "*"
  20. seaborn = "*"
  21. docker = "*"
  22. fastapi = "*"
  23. toml = "*"
  24. uvicorn = "*"
  25. types-toml = "*"
  26. numpy = "*"
  27. json-repair = "*"
  28. browsergym = "0.7.1" # integrate browsergym as the browsing interface
  29. html2text = "*"
  30. e2b = "^0.17.1"
  31. pexpect = "*"
  32. jinja2 = "^3.1.3"
  33. python-multipart = "*"
  34. boto3 = "*"
  35. minio = "^7.2.8"
  36. gevent = "^24.2.1"
  37. pyarrow = "17.0.0" # transitive dependency, pinned here to avoid conflicts
  38. tenacity = "^8.5.0"
  39. zope-interface = "7.0.3"
  40. pathspec = "^0.12.1"
  41. google-cloud-aiplatform = "*"
  42. anthropic = {extras = ["vertex"], version = "*"}
  43. grep-ast = "0.3.3"
  44. tree-sitter = "0.21.3"
  45. bashlex = "^0.18"
  46. pyjwt = "^2.9.0"
  47. dirhash = "*"
  48. python-frontmatter = "^1.1.0"
  49. python-docx = "*"
  50. PyPDF2 = "*"
  51. python-pptx = "*"
  52. pylatexenc = "*"
  53. tornado = "*"
  54. python-dotenv = "*"
  55. protobuf = ">=4.21.6,<6.0.0" # chromadb currently fails on 5.0+
  56. [tool.poetry.group.llama-index.dependencies]
  57. llama-index = "*"
  58. llama-index-vector-stores-chroma = "*"
  59. chromadb = "*"
  60. llama-index-embeddings-huggingface = "*"
  61. torch = "2.2.2"
  62. llama-index-embeddings-azure-openai = "*"
  63. llama-index-embeddings-ollama = "*"
  64. [tool.poetry.group.dev.dependencies]
  65. ruff = "0.6.9"
  66. mypy = "1.11.2"
  67. pre-commit = "4.0.0"
  68. build = "*"
  69. [tool.poetry.group.test.dependencies]
  70. pytest = "*"
  71. pytest-cov = "*"
  72. pytest-asyncio = "*"
  73. pytest-forked = "*"
  74. pytest-xdist = "*"
  75. flake8 = "*"
  76. openai = "*"
  77. opencv-python = "*"
  78. pandas = "*"
  79. reportlab = "*"
  80. [tool.coverage.run]
  81. concurrency = ["gevent"]
  82. [tool.poetry.group.runtime.dependencies]
  83. jupyterlab = "*"
  84. notebook = "*"
  85. jupyter_kernel_gateway = "*"
  86. flake8 = "*"
  87. opencv-python = "*"
  88. [build-system]
  89. build-backend = "poetry.core.masonry.api"
  90. requires = [
  91. "poetry-core",
  92. ]
  93. [tool.autopep8]
  94. # autopep8 fights with mypy on line length issue
  95. ignore = [ "E501" ]
  96. [tool.black]
  97. # prevent black (if installed) from changing single quotes to double quotes
  98. skip-string-normalization = true
  99. [tool.ruff.lint]
  100. select = ["D"]
  101. # ignore warnings for missing docstrings
  102. ignore = ["D1"]
  103. [tool.ruff.lint.pydocstyle]
  104. convention = "google"
  105. [tool.poetry.group.evaluation.dependencies]
  106. streamlit = "*"
  107. whatthepatch = "*"
  108. retry = "*"
  109. evaluate = "*"
  110. swebench = { git = "https://github.com/All-Hands-AI/SWE-bench.git" }
  111. func_timeout = "*"
  112. sympy = "*"
  113. gdown = "*"
  114. matplotlib = "*"
  115. seaborn = "*"
  116. [tool.poetry-dynamic-versioning]
  117. enable = true
  118. style = "semver"
  119. [tool.poetry.scripts]
  120. openhands = "openhands.core.cli:main"