Migrate from setuptools to uv with hatch build backend#4
Merged
Conversation
- Replace setup.py with modern pyproject.toml configuration - Update to use hatch as build backend (following injecty style) - Migrate GitHub workflows to use uv for dependency management - Update Python requirement to >=3.10 (required for hatch) - Remove legacy MANIFEST.in file (replaced by hatch build config) - Add uv.lock for reproducible builds - Update CI to test Python 3.10-3.13 - Modernize GitHub Actions to v4/v5 Co-authored-by: openhands <openhands@all-hands.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚀 Migration: setuptools → uv + hatch
This PR modernizes the project's build system and dependency management by migrating from setuptools to uv with hatch as the build backend, following the same configuration style as the injecty repository.
📋 Changes Made
✅ Build System Modernization
setup.pywith modernpyproject.tomlconfigurationMANIFEST.in(replaced by hatch build configuration)uv.lockfor reproducible builds✅ Dependency Management
>=3.10(required for hatch)✅ CI/CD Improvements
🔧 Technical Details
Build Configuration
Workflow Changes
uv run black,uv run pytest,uv run pylintuv buildanduv publishuv sync --extra dev✅ Verification
All functionality has been tested and verified:
uv sync --extra devblack --check)uv build)🎯 Benefits
🔄 Migration Impact
This migration brings the project in line with modern Python packaging best practices while maintaining full backward compatibility.
@tofarr can click here to continue refining the PR