Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.

Conversation

@mvilanova
Copy link
Contributor

No description provided.

mvilanova and others added 22 commits July 25, 2025 14:00
- Updated pyproject.toml with project metadata and dependencies
- Modified CI/CD workflows to use uv instead of pip
- Updated Dockerfile to install and use uv
- Updated all documentation to use uv commands
- Added MIGRATION_TO_UV.md guide
- Created compile-requirements.sh script for uv
- Updated .gitignore to exclude uv.lock

This migration provides significant performance improvements while maintaining
backward compatibility with existing requirements files.
- Simplified pyproject.toml to avoid conflicts with setup.py
- Maintained hybrid approach for complex build system compatibility
- Verified full installation and functionality with uv
- Added verification script for testing uv setup
- Updated migration guide with working configuration

All tests pass:
✅ uv pip install -e ".[dev]" works correctly
✅ dispatch CLI command functional
✅ All 28 plugins discovered properly
✅ ~10x faster than pip installation
- spacy==3.8.5 was yanked due to incorrect Python 3.13 support
- Updated to spacy==3.8.7 which is the latest stable version
- Recompiled requirements-base.txt with uv
🚀 BREAKING CHANGE: Fully migrated from setup.py to pyproject.toml

## What's New
✅ Full modern uv support: uv add, uv remove, uv sync, uv lock
✅ Complete pyproject.toml configuration with all dependencies
✅ Lock file generation with uv.lock for reproducible builds
✅ All 28 plugins and entry points migrated
✅ Faster dependency management (~10x speedup)

## Migration Details
- Moved setup.py → setup.py.bak (deprecated)
- Added complete [project] table to pyproject.toml
- All dependencies now in pyproject.toml instead of requirements files
- Plugin entry points fully migrated
- Updated verification script for modern workflow

## New Commands Available
- uv sync --dev          # Install all dependencies
- uv add package-name    # Add new dependency
- uv remove package-name # Remove dependency
- uv lock --upgrade      # Update lock file

## Backward Compatibility
- Legacy 'uv pip install -e .[dev]' still works
- All existing functionality preserved
- CI/CD workflows updated but compatible

This completes the full modernization of Dispatch's Python packaging.
🧹 Major Cleanup: Complete transition to pyproject.toml

## Files Removed
❌ setup.cfg - moved configurations to pyproject.toml
❌ requirements-*.in/txt - dependencies now in pyproject.toml
❌ scripts/compile-requirements.sh - replaced by uv lock
❌ package.json/package-lock.json - accidentally committed files

## Configurations Migrated
✅ Moved pytest config from setup.cfg to pyproject.toml
✅ Moved coverage config from setup.cfg to pyproject.toml
✅ Black config already in pyproject.toml

## Modern Workflow
- Dependencies: pyproject.toml (declarative)
- Lock file: uv.lock (generated)
- Testing: pytest with pyproject.toml config
- Coverage: coverage with pyproject.toml config

## Benefits
- 🗂️ Single source of truth: pyproject.toml
- 🔒 Reproducible builds: uv.lock
- 🧹 Cleaner repository: fewer config files
- 📈 Modern standard: PEP 518/621 compliant

This completes the full migration to modern Python packaging standards.
@mvilanova mvilanova requested a review from whitdog47 August 4, 2025 17:52
@mvilanova mvilanova self-assigned this Aug 4, 2025
@mvilanova mvilanova added the enhancement New feature or request label Aug 4, 2025
@mvilanova mvilanova merged commit 7ad2041 into main Aug 5, 2025
14 checks passed
@mvilanova mvilanova deleted the feature/migrate-pip-to-uv branch August 5, 2025 17:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants