Implementation:OpenHands OpenHands Pyproject Configuration
| Knowledge Sources | |
|---|---|
| Domains | Configuration, Build_System |
| Last Updated | 2026-02-11 21:00 GMT |
Overview
Poetry-based build configuration and dependency manifest defining the openhands-ai Python package structure, dependencies, and tooling.
Description
The pyproject.toml defines the openhands-ai package (MIT license, Python >=3.12,<3.14) with its complete dependency tree. Core dependencies include litellm for LLM integration, fastapi/uvicorn for the web framework, sqlalchemy[asyncio] for database access, docker/kubernetes for container orchestration, and opentelemetry for observability. Optional dependency groups cover dev tooling (ruff, mypy, pytest), testing (pytest-cov, playwright), and third-party runtimes (Daytona, E2B, Modal, Runloop).
Usage
This file is the entry point for poetry install and defines all project metadata, dependencies, and build configuration. Modify it when adding or updating dependencies for the OpenHands platform.
Code Reference
Source Location
- Repository: OpenHands
- File: pyproject.toml
- Lines: 1-318
Key Configuration
[tool.poetry]
name = "openhands-ai"
version = "1.3.0"
description = "OpenHands: Code Less, Make More"
license = "MIT"
packages = [
{ include = "openhands/**/*" },
{ include = "third_party/**/*" },
]
[tool.poetry.dependencies]
python = ">=3.12,<3.14"
litellm = ">=1.74.3"
fastapi = "*"
sqlalchemy = {extras = ["asyncio"], version = ">=2.0.40"}
docker = "*"
kubernetes = ">=33.1"
Import
# Not imported directly; used by Poetry build system
# pip install openhands-ai
# poetry install
I/O Contract
Inputs
| Section | Key Fields | Description |
|---|---|---|
| [tool.poetry] | name, version, description | Package identity |
| [tool.poetry.dependencies] | python, litellm, fastapi, etc. | Runtime dependencies |
| [tool.poetry.group.dev] | ruff, mypy, pytest | Development tools |
| [tool.poetry.group.test] | pytest-cov, playwright | Testing tools |
| [tool.poetry.group.runtime] | jupyterlab, notebook | Runtime extras |
Outputs
| Name | Type | Description |
|---|---|---|
| openhands-ai package | Python wheel/sdist | Installable Python package |
| openhands CLI | entry point | Command-line interface (if defined) |
Usage Examples
# Install with Poetry
poetry install
# Install with pip
pip install openhands-ai
# Install with dev dependencies
poetry install --with dev,test
# Install with third-party runtimes
poetry install --with third_party_runtimes