chore: move dev deps to [dependency-groups] so uv sync gives a working test env - #2217
Conversation
…g test env [project.optional-dependencies] dev is now [dependency-groups] dev (PEP 735), which uv installs by default. This eliminates the four places that had to remember --extra dev (ci.yml shards + lint jobs, CONTRIBUTING.md, README.md) and prevents a fresh clone from silently running zero tests. worker, proxy, torrent, and e2e remain optional extras. uv.lock regenerated.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughThe project moves end-to-end dependencies into an optional group and removes ChangesDependency sync configuration
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Summary by QodoMove dev dependencies to PEP 735 dependency-groups for default uv sync
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
|
nemotron-ultra-kilo review VERDICT: Breaking change — CI and docs now run
Automated first-pass review by the nemotron-ultra-kilo lane. The lead still reviews before merge. |
|
nemotron-super review VERDICT: Blocking issues found.
Automated first-pass review by the nemotron-super lane. The lead still reviews before merge. |
|
nemotron-ultra-orB review VERDICT: Breaking change — CI and docs now skip dev dependencies entirely, causing test failures
Automated first-pass review by the nemotron-ultra-orB lane. The lead still reviews before merge. |
| # release (see the fastapi 0.137 incident, #903). | ||
| - name: Install dependencies | ||
| run: uv sync --frozen --extra dev --python ${{ matrix.python-version }} | ||
| run: uv sync --frozen --python ${{ matrix.python-version }} |
There was a problem hiding this comment.
CRITICAL: uv sync does not install [dependency-groups] dev by default
PEP 735 dependency groups require --group <name> or --all-groups to install. The dev group is not special — it is not installed automatically. CI will fail because pytest and other test dependencies will be missing.
| run: uv sync --frozen --python ${{ matrix.python-version }} | |
| run: uv sync --frozen --group dev --python ${{ matrix.python-version }} |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
|
|
||
| - name: Install dependencies | ||
| run: uv sync --frozen --extra dev --python 3.12 | ||
| run: uv sync --frozen --python 3.12 |
There was a problem hiding this comment.
CRITICAL: uv sync does not install [dependency-groups] dev by default
Same issue as the shards job — lint step will fail without test dependencies.
| run: uv sync --frozen --python 3.12 | |
| run: uv sync --frozen --group dev --python 3.12 |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| "pytest-playwright>=0.5.0", | ||
| ] | ||
|
|
||
| [dependency-groups] |
There was a problem hiding this comment.
CRITICAL: dev moved to [dependency-groups] but not installed by default
PEP 735 does not auto-install named groups. uv sync installs only the default group. To install dev, callers must pass --group dev or --all-groups.
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
| git clone https://github.com/jaylfc/taOS.git | ||
| cd tinyagentos | ||
| uv sync --extra dev | ||
| uv sync |
There was a problem hiding this comment.
CRITICAL: uv sync no longer installs dev dependencies
With deps moved to [dependency-groups], uv sync alone won't install pytest. Contributors following these instructions will be unable to run tests.
| uv sync | |
| uv sync --group dev |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
|
|
||
| ```bash | ||
| uv sync --extra dev | ||
| uv sync |
There was a problem hiding this comment.
CRITICAL: uv sync no longer installs dev dependencies
Same issue as CONTRIBUTING.md — developers following these instructions won't get test tooling.
| uv sync | |
| uv sync --group dev |
Reply with @kilocode-bot fix it to have Kilo Code address this issue.
Code Review SummaryStatus: 5 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (4 files)
Fix these issues in Kilo Cloud Previous Review Summary (commit e054f27)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit e054f27)Status: 1 Issue Found | Recommendation: Address before merge Overview
Issue Details (click to expand)CRITICAL
Files Reviewed (4 files)
Reviewed by step-3.7-flash · Input: 55.3K · Output: 5.6K · Cached: 394.4K |
Code Review by Qodo
1.
|
| [dependency-groups] | ||
| dev = [ | ||
| "pytest>=9.1.1", | ||
| "pytest-asyncio>=0.23.0", |
There was a problem hiding this comment.
2. Security job uses dev extra 🐞 Bug ≡ Correctness
The repo still references installing the removed dev project extra (in the security workflow via pip install -e "\.[dev,proxy,worker]" and in internal docs via uv sync --extra dev), but dev is no longer defined as an optional extra in pyproject.toml after being moved to [dependency-groups].dev. This makes CI dependency installation and contributor setup instructions incorrect (and potentially failing), reducing audit reliability and blocking dev/test environment setup.
Agent Prompt
## Issue description
The repository still installs/requests the removed `dev` *project extra* in multiple places (CI security workflow uses `pip install -e ".[dev,proxy,worker]"`, and internal docs instruct `uv sync --extra dev`), but this PR moves dev dependencies to `[dependency-groups].dev` and removes `optional-dependencies.dev`. Update CI and docs so they install the intended dev dependencies using the new dependency-group approach (or reintroduce a compatible `dev` extra if that interface must remain supported).
## Issue Context
- Dependency groups are not the same as project extras; pip extras require entries under `[project.optional-dependencies]`.
- The security job needs an environment containing the dependencies it intends to audit; installing a non-existent extra can produce an incomplete environment or fail.
- Internal contributor/agent guidance appears likely to be reused/copy-pasted, so stale commands can block setting up a working dev/test environment.
- Choose an approach:
- Prefer aligning CI with dependency groups (e.g., use `uv` in the workflow and sync the appropriate groups), then run `pip-audit` in that environment.
- Alternatively, reintroduce a `dev` optional extra (potentially mirroring the dependency-group list) to keep `pip install -e ".[dev,...]"` / `--extra dev` working.
## Fix Focus Areas
- .github/workflows/security.yml[36-52]
- .claude/skills/taos-development-skill/SKILL.md[441-564]
- .claude/skills/taos-development-skill/soul.md[47-70]
- pyproject.toml[57-83]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
…zen now installs test deps)
Autonomous build of board card tsk-sz5nvh.
[project.optional-dependencies] dev is now [dependency-groups] dev (PEP 735),
which uv installs by default. This eliminates the four places that had to
remember --extra dev (ci.yml shards + lint jobs, CONTRIBUTING.md, README.md)
and prevents a fresh clone from silently running zero tests.
worker, proxy, torrent, and e2e remain optional extras. uv.lock regenerated.
Files:
.github/workflows/ci.yml | 4 ++--
CONTRIBUTING.md | 2 +-
README.md | 2 +-
pyproject.toml | 10 ++++++----
4 files changed, 10 insertions(+), 8 deletions(-)
Summary by CodeRabbit
Documentation
uv synccommand.Chores