Skip to content

Replace rye with uv for environment management and relax requires-python to >=3.8#61

Open
urasakikeisuke wants to merge 2 commits intomainfrom
chore/migrate-rye-to-uv
Open

Replace rye with uv for environment management and relax requires-python to >=3.8#61
urasakikeisuke wants to merge 2 commits intomainfrom
chore/migrate-rye-to-uv

Conversation

@urasakikeisuke
Copy link
Copy Markdown
Collaborator

@urasakikeisuke urasakikeisuke commented Apr 22, 2026

Summary

  • Remove [tool.rye] and [tool.rye.scripts] from pyproject.toml; migrate dev dependencies to [dependency-groups].dev (PEP 735)
  • Replace requirements.lock / requirements-dev.lock with a single uv.lock
  • Update CI to use astral-sh/setup-uv@v3 instead of eifinger/setup-rye@v2
  • Relax hatchling build requirement from ==1.26.3 (rye-specific workaround) to >=1.27
  • Update README contributing section to use uv commands
  • Relax requires-python from >= 3.8.2 to >= 3.8 to fix compatibility with pdm and similar resolvers (fixes Required-python Issue #60)

Motivation

rye officially recommends migrating to uv (Astral). uv covers Python interpreter management, virtual environment creation, locking, and execution in a single binary, with significantly faster resolution.

Test plan

  • All matrix jobs pass (Python 3.8 – 3.13) for both lint and test workflows
  • Coverage comment is posted on the PR as before

Migration notes for contributors

Replace rye sync with uv sync --dev and rye run <cmd> with uv run <cmd>. The old requirements.lock / requirements-dev.lock files are superseded by uv.lock.

urasakikeisuke and others added 2 commits April 22, 2026 15:58
- Remove [tool.rye] and [tool.rye.scripts] from pyproject.toml
- Migrate dev-dependencies to [dependency-groups].dev (PEP 735)
- Remove [project.optional-dependencies].dev (consolidated into dev group)
- Relax hatchling build requirement from ==1.26.3 pin to >=1.27 (rye workaround no longer needed)
- Replace requirements.lock / requirements-dev.lock with uv.lock
- Update CI to use astral-sh/setup-uv@v3 instead of eifinger/setup-rye@v2
- Update README contributing section to use uv commands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The 3.8.2 lower bound was overly specific and caused dependency
resolution failures in tools like pdm. No features depend on any
patch release above 3.8.0.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@urasakikeisuke urasakikeisuke requested a review from amc-nu April 22, 2026 07:06
@urasakikeisuke urasakikeisuke self-assigned this Apr 22, 2026
@urasakikeisuke urasakikeisuke added rd/chore Updating grunt tasks etc; no production code change rd/patch labels Apr 22, 2026
Copy link
Copy Markdown

@windsurf-bot windsurf-bot Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 file skipped due to size limits:
  • uv.lock

Looks good to me 🤙

💡 To request another review, post a new comment with "/windsurf-review".

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 22, 2026

Tests Skipped Failures Errors Time
67 1 💤 0 ❌ 0 🔥 1.027s ⏱️

@github-actions
Copy link
Copy Markdown

Tests Skipped Failures Errors Time
67 1 💤 0 ❌ 0 🔥 0.810s ⏱️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rd/chore Updating grunt tasks etc; no production code change rd/patch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Required-python Issue

1 participant