pyproject.toml 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. [tool.poetry]
  2. name = "openhands-ai"
  3. version = "0.15.3"
  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. packages = [
  10. { include = "openhands/**/*" }
  11. ]
  12. [tool.poetry.dependencies]
  13. python = "^3.12"
  14. datasets = "*"
  15. pandas = "*"
  16. litellm = "^1.54.1"
  17. google-generativeai = "*" # To use litellm with Gemini Pro API
  18. google-api-python-client = "*" # For Google Sheets API
  19. google-auth-httplib2 = "*" # For Google Sheets authentication
  20. google-auth-oauthlib = "*" # For Google Sheets OAuth
  21. termcolor = "*"
  22. seaborn = "*"
  23. docker = "*"
  24. fastapi = "*"
  25. toml = "*"
  26. uvicorn = "*"
  27. types-toml = "*"
  28. numpy = "*"
  29. json-repair = "*"
  30. browsergym-core = "0.10.2" # integrate browsergym-core as the browsing interface
  31. html2text = "*"
  32. e2b = ">=1.0.5,<1.1.0"
  33. pexpect = "*"
  34. jinja2 = "^3.1.3"
  35. python-multipart = "*"
  36. boto3 = "*"
  37. minio = "^7.2.8"
  38. gevent = "^24.2.1"
  39. pyarrow = "18.1.0" # transitive dependency, pinned here to avoid conflicts
  40. tenacity = "^8.5.0"
  41. zope-interface = "7.2"
  42. pathspec = "^0.12.1"
  43. google-cloud-aiplatform = "*"
  44. anthropic = {extras = ["vertex"], version = "*"}
  45. grep-ast = "0.3.3"
  46. tree-sitter = "0.21.3"
  47. bashlex = "^0.18"
  48. pyjwt = "^2.9.0"
  49. dirhash = "*"
  50. python-frontmatter = "^1.1.0"
  51. python-docx = "*"
  52. PyPDF2 = "*"
  53. python-pptx = "*"
  54. pylatexenc = "*"
  55. tornado = "*"
  56. python-dotenv = "*"
  57. pylcs = "^0.1.1"
  58. whatthepatch = "^1.0.6"
  59. protobuf = "^4.21.6,<5.0.0" # chromadb currently fails on 5.0+
  60. opentelemetry-api = "1.25.0"
  61. opentelemetry-exporter-otlp-proto-grpc = "1.25.0"
  62. modal = ">=0.66.26,<0.69.0"
  63. runloop-api-client = "0.11.0"
  64. pygithub = "^2.5.0"
  65. joblib = "*"
  66. openhands-aci = "0.1.2"
  67. python-socketio = "^5.11.4"
  68. redis = "^5.2.0"
  69. [tool.poetry.group.llama-index.dependencies]
  70. llama-index = "*"
  71. llama-index-vector-stores-chroma = "*"
  72. chromadb = "*"
  73. llama-index-embeddings-huggingface = "*"
  74. torch = "2.5.1"
  75. llama-index-embeddings-azure-openai = "*"
  76. llama-index-embeddings-ollama = "*"
  77. voyageai = "*"
  78. llama-index-embeddings-voyageai = "*"
  79. [tool.poetry.group.dev.dependencies]
  80. ruff = "0.8.3"
  81. mypy = "1.13.0"
  82. pre-commit = "4.0.1"
  83. build = "*"
  84. [tool.poetry.group.test.dependencies]
  85. pytest = "*"
  86. pytest-cov = "*"
  87. pytest-asyncio = "*"
  88. pytest-forked = "*"
  89. pytest-xdist = "*"
  90. flake8 = "*"
  91. openai = "*"
  92. opencv-python = "*"
  93. pandas = "*"
  94. reportlab = "*"
  95. [tool.coverage.run]
  96. concurrency = ["gevent"]
  97. [tool.poetry.group.runtime.dependencies]
  98. jupyterlab = "*"
  99. notebook = "*"
  100. jupyter_kernel_gateway = "*"
  101. flake8 = "*"
  102. opencv-python = "*"
  103. [build-system]
  104. build-backend = "poetry.core.masonry.api"
  105. requires = [
  106. "poetry-core",
  107. ]
  108. [tool.autopep8]
  109. # autopep8 fights with mypy on line length issue
  110. ignore = [ "E501" ]
  111. [tool.black]
  112. # prevent black (if installed) from changing single quotes to double quotes
  113. skip-string-normalization = true
  114. [tool.ruff.lint]
  115. select = ["D"]
  116. # ignore warnings for missing docstrings
  117. ignore = ["D1"]
  118. [tool.ruff.lint.pydocstyle]
  119. convention = "google"
  120. [tool.poetry.group.evaluation.dependencies]
  121. streamlit = "*"
  122. whatthepatch = "*"
  123. retry = "*"
  124. evaluate = "*"
  125. swebench = { git = "https://github.com/All-Hands-AI/SWE-bench.git" }
  126. commit0 = "*"
  127. func_timeout = "*"
  128. sympy = "*"
  129. gdown = "*"
  130. matplotlib = "*"
  131. seaborn = "*"
  132. tabulate = "*"
  133. browsergym-webarena = "0.10.2"
  134. browsergym-miniwob = "0.10.2"
  135. [tool.poetry-dynamic-versioning]
  136. enable = true
  137. style = "semver"
  138. [tool.poetry.scripts]
  139. openhands = "openhands.core.cli:main"