pyproject.toml 2.5 KB

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