| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- [tool.poetry]
- name = "openhands-ai"
- version = "0.15.3"
- description = "OpenHands: Code Less, Make More"
- authors = ["OpenHands"]
- license = "MIT"
- readme = "README.md"
- repository = "https://github.com/All-Hands-AI/OpenHands"
- packages = [
- { include = "openhands/**/*" }
- ]
- [tool.poetry.dependencies]
- python = "^3.12"
- datasets = "*"
- pandas = "*"
- litellm = "^1.54.1"
- google-generativeai = "*" # To use litellm with Gemini Pro API
- google-api-python-client = "*" # For Google Sheets API
- google-auth-httplib2 = "*" # For Google Sheets authentication
- google-auth-oauthlib = "*" # For Google Sheets OAuth
- termcolor = "*"
- seaborn = "*"
- docker = "*"
- fastapi = "*"
- toml = "*"
- uvicorn = "*"
- types-toml = "*"
- numpy = "*"
- json-repair = "*"
- browsergym-core = "0.10.2" # integrate browsergym-core as the browsing interface
- html2text = "*"
- e2b = ">=1.0.5,<1.1.0"
- pexpect = "*"
- jinja2 = "^3.1.3"
- python-multipart = "*"
- boto3 = "*"
- minio = "^7.2.8"
- gevent = "^24.2.1"
- pyarrow = "18.1.0" # transitive dependency, pinned here to avoid conflicts
- tenacity = "^8.5.0"
- zope-interface = "7.2"
- pathspec = "^0.12.1"
- google-cloud-aiplatform = "*"
- anthropic = {extras = ["vertex"], version = "*"}
- grep-ast = "0.3.3"
- tree-sitter = "0.21.3"
- bashlex = "^0.18"
- pyjwt = "^2.9.0"
- dirhash = "*"
- python-frontmatter = "^1.1.0"
- python-docx = "*"
- PyPDF2 = "*"
- python-pptx = "*"
- pylatexenc = "*"
- tornado = "*"
- python-dotenv = "*"
- pylcs = "^0.1.1"
- whatthepatch = "^1.0.6"
- protobuf = "^4.21.6,<5.0.0" # chromadb currently fails on 5.0+
- opentelemetry-api = "1.25.0"
- opentelemetry-exporter-otlp-proto-grpc = "1.25.0"
- modal = ">=0.66.26,<0.69.0"
- runloop-api-client = "0.11.0"
- pygithub = "^2.5.0"
- joblib = "*"
- openhands-aci = "0.1.2"
- python-socketio = "^5.11.4"
- redis = "^5.2.0"
- [tool.poetry.group.llama-index.dependencies]
- llama-index = "*"
- llama-index-vector-stores-chroma = "*"
- chromadb = "*"
- llama-index-embeddings-huggingface = "*"
- torch = "2.5.1"
- llama-index-embeddings-azure-openai = "*"
- llama-index-embeddings-ollama = "*"
- voyageai = "*"
- llama-index-embeddings-voyageai = "*"
- [tool.poetry.group.dev.dependencies]
- ruff = "0.8.3"
- mypy = "1.13.0"
- pre-commit = "4.0.1"
- build = "*"
- [tool.poetry.group.test.dependencies]
- pytest = "*"
- pytest-cov = "*"
- pytest-asyncio = "*"
- pytest-forked = "*"
- pytest-xdist = "*"
- flake8 = "*"
- openai = "*"
- opencv-python = "*"
- pandas = "*"
- reportlab = "*"
- [tool.coverage.run]
- concurrency = ["gevent"]
- [tool.poetry.group.runtime.dependencies]
- jupyterlab = "*"
- notebook = "*"
- jupyter_kernel_gateway = "*"
- flake8 = "*"
- opencv-python = "*"
- [build-system]
- build-backend = "poetry.core.masonry.api"
- requires = [
- "poetry-core",
- ]
- [tool.autopep8]
- # autopep8 fights with mypy on line length issue
- ignore = [ "E501" ]
- [tool.black]
- # prevent black (if installed) from changing single quotes to double quotes
- skip-string-normalization = true
- [tool.ruff.lint]
- select = ["D"]
- # ignore warnings for missing docstrings
- ignore = ["D1"]
- [tool.ruff.lint.pydocstyle]
- convention = "google"
- [tool.poetry.group.evaluation.dependencies]
- streamlit = "*"
- whatthepatch = "*"
- retry = "*"
- evaluate = "*"
- swebench = { git = "https://github.com/All-Hands-AI/SWE-bench.git" }
- commit0 = "*"
- func_timeout = "*"
- sympy = "*"
- gdown = "*"
- matplotlib = "*"
- seaborn = "*"
- tabulate = "*"
- browsergym-webarena = "0.10.2"
- browsergym-miniwob = "0.10.2"
- [tool.poetry-dynamic-versioning]
- enable = true
- style = "semver"
- [tool.poetry.scripts]
- openhands = "openhands.core.cli:main"
|