UV Migration Step 1.1: Add PEP 621 [project] section for UV compatibility (#12414)

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
Saurya Velagapudi
2026-01-14 12:59:15 -08:00
committed by GitHub
parent f28ab56cc3
commit 3da24da4a0
2 changed files with 90 additions and 1 deletions

2
poetry.lock generated
View File

@@ -16846,4 +16846,4 @@ third-party-runtimes = ["daytona", "e2b-code-interpreter", "modal", "runloop-api
[metadata]
lock-version = "2.1"
python-versions = "^3.12,<3.14"
content-hash = "78c01d3e121d5f27a4120d043408ac0aa93fa95fe0c2c7d678161b08ccb582c1"
content-hash = "fcdaa3169daa077382807ac1248456d944290e023bf6a5fbbe72b47d455259ae"

View File

@@ -1,9 +1,93 @@
[build-system]
build-backend = "poetry.core.masonry.api"
# PEP 621 project metadata (for UV compatibility)
# This section coexists with [tool.poetry] during the migration period
requires = [
"poetry-core",
]
[project]
name = "openhands-ai"
description = "OpenHands: Code Less, Make More"
readme = "README.md"
license = "MIT"
authors = [ { name = "OpenHands", email = "contact@all-hands.dev" } ]
requires-python = ">=3.12,<3.14"
classifiers = [
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
# Version is managed dynamically by poetry-dynamic-versioning
dynamic = [ "version" ]
urls.Homepage = "https://github.com/OpenHands/OpenHands"
# PEP 735 dependency groups (for UV compatibility)
# These coexist with [tool.poetry.group.*] during the migration period
urls.Repository = "https://github.com/OpenHands/OpenHands"
[dependency-groups]
dev = [
"build",
"mypy==1.17",
"pre-commit==4.2",
"pytest>=8.4",
"pytest-asyncio>=1.3",
"ruff==0.12.5",
"types-setuptools",
]
test = [
"gevent>=24.2.1,<26",
"pandas",
"pytest",
"pytest-asyncio",
"pytest-cov",
"pytest-forked",
"pytest-playwright>=0.7",
"pytest-timeout>=2.4",
"pytest-xdist",
"reportlab",
]
runtime = [
"flake8",
"jupyterlab",
"notebook",
]
evaluation = [
"boto3-stubs[s3]>=1.37.19",
"browsergym==0.13.3",
"browsergym-miniwob==0.13.3",
"browsergym-visualwebarena==0.13.3",
"browsergym-webarena==0.13.3",
"commit0",
"datasets",
"evaluate",
"func-timeout",
"gdown",
"joblib",
"matplotlib",
"multi-swe-bench==0.1.2",
"pandas",
"pyarrow==21",
"retry",
"seaborn",
"streamlit",
"swebench",
"swegym",
"sympy",
"tabulate",
"visualswebench",
"whatthepatch",
]
testgeneval = [
"fuzzywuzzy>=0.18",
"python-levenshtein>=0.26.1,<0.28",
"rouge>=1.0.1",
"tree-sitter-python>=0.23.6",
]
# UV source configuration for git dependencies in evaluation group
[tool.poetry]
name = "openhands-ai"
version = "1.1.0"
@@ -221,3 +305,8 @@ lint.pydocstyle.convention = "google"
concurrency = [ "gevent" ]
relative_files = true
omit = [ "enterprise/tests/*", "**/test_*" ]
[tool.uv.sources]
visualswebench = { git = "https://github.com/luolin101/Visual-SWE-bench.git" }
swegym = { git = "https://github.com/SWE-Gym/SWE-Bench-Package.git" }
swebench = { git = "https://github.com/ryanhoangt/SWE-bench.git", rev = "fix-modal-patch-eval" }