camel-ai / camel-ai/seta

[issue] Improve unified environment setup with uv and external AReaL release

Open Beginner friendly
#10 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
147
Forks
23
PR merge metrics
No merged PRs in 30d

Description

**Description:**
This PR updates the `pyproject.toml` configuration for the `seta` monorepo to simplify dependency resolution when using `uv` in a unified environment.

**Motivation:**

* Current `uv` setup struggles with external git-locked versions (AReaL) and conflicting dependencies.
* Pinning to specific commits/versions in workspace leads to unsatisfiable resolutions when combined with vLLM or CUDA extras.
* Using the latest stable branch/tag from the AReaL GitHub repository should reduce conflicts and simplify installs.

**Changes:**

* Keep `camel-ai` and `terminal-bench` as workspace members.
* Install AReaL directly from the GitHub release (`v1.0.4`) instead of a workspace checkout.
* Allow pre-releases for conflict resolution (`prerelease = "allow"`).
* Use `resolution = "highest"` to pick latest compatible versions for transitive dependencies.

**Proposed `pyproject.toml` snippet:**

```toml
[project]
name = "seta"
version = "0.1.0"
description = "Seta monorepo (AReaL + Gemma + vLLM + RL stack)"
requires-python = ">=3.12,<=3.15"
dependencies = [
"camel-ai",
"terminal-bench",
]

[build-system]
requires = ["setuptools>=65.5", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["."]
include = [
"assets*",
"dataset*",
"training*",
"external*",
"evaluation*"
]
exclude = [
"docs*",
"tests*"
]

[tool.uv]
resolution = "highest"
prerelease = "allow" # Allow pre-releases to resolve conflicts

[tool.uv.sources]
# Install AReaL directly from Git release instead of workspace
areal = { git = "https://github.com/inclusionAI/AReaL.git", tag = "v1.0.4" }
camel-ai = { workspace = true }
terminal-bench = { workspace = true }
```

**Notes:**

* This approach fixes conflicts arising from pinned workspace versions and dependency mismatches between SGLang and vLLM variants of AReaL.
* Using a release tag ensures a reproducible environment while keeping workspace packages flexible.

---

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the repository's pyproject.toml and compare the existing workspace and uv configuration with the proposed settings. Validate dependency resolution and installation with uv, confirming that AReaL uses the v1.0.4 Git tag, camel-ai and terminal-bench remain workspace members, and the unified environment resolves successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, github, python
Domain
build-system
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.