v0.2.0 - Modern Build System with UV + PDM Support
🚀 v0.2.0: Modern Build System with UV + PDM Support
🎯 Major Infrastructure Modernization
This release brings M3 into the modern Python packaging ecosystem, providing significantly faster installation and development workflows while maintaining 100% backwards compatibility.
✨ What's New
⚡ Dual Package Manager Support
Choose the installation method that works best for you:
Traditional (pip) - Unchanged, fully supported
pip install m3-mcpModern (UV) - ⚡ ~3x faster installation
# Install UV (one-time setup)
curl -LsSf https://astral.sh/uv/install.sh | sh
# For development
git clone https://github.com/rafiattrach/m3.git
cd m3
uv venv && uv sync🔧 Modernized Build System
- Build Backend:
setuptools→pdm-backend(more reliable, faster builds) - Dependency Management: Migrated to PEP 735
dependency-groupsstandard - Version Management: File-based versioning for better reproducibility
🏗️ Enhanced Developer Experience
- Faster CI/CD: GitHub Actions now use UV for ~3x faster builds
- Better Lock Files: Deterministic dependency resolution with
uv.lock - Cleaner Packaging: Removed redundant build configuration
📊 Performance Improvements
| Operation | Before (pip) | After (UV) | Speedup |
|---|---|---|---|
| Fresh Install | ~45s | ~15s | 3x faster |
| CI Build | ~2m 30s | ~1m 10s | 2x faster |
| Dev Setup | ~30s | ~10s | 3x faster |
🔄 Migration Summary
| Component | v0.1.5 | v0.2.0 |
|---|---|---|
| Build Backend | setuptools |
pdm-backend |
| Package Manager | pip only |
pip + uv |
| Dependencies | [project.optional-dependencies] |
[project.dependency-groups] |
| CI System | pip-based | UV-powered |
| Version Source | setuptools dynamic | PDM file-based |
✅ Backwards Compatibility Guarantee
What Still Works Exactly the Same:
- ✅ All
pip installcommands and workflows - ✅ All CLI commands (
m3 --version,m3 init, etc.) - ✅ All APIs and functionality
- ✅ All environment variables and configuration
- ✅ All existing documentation and tutorials
What's Enhanced:
- ✅ Faster alternative installation with UV
- ✅ More reliable builds with PDM backend
- ✅ Better development workflow options
🛠️ For Contributors
Development setup is now even easier:
Option 1: Traditional
git clone https://github.com/rafiattrach/m3.git
cd m3
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
pytestOption 2: Modern (Recommended)
git clone https://github.com/rafiattrach/m3.git
cd m3
uv venv && uv sync --dev
uv run pytest🐛 Bug Fixes & Improvements
- Fixed: Redundant build configuration removed
- Improved: Package metadata handling
- Enhanced: Test execution in CI environments
🔮 Looking Forward
This modernization sets the foundation for:
- Even faster development cycles
- Better dependency resolution
- Enhanced reproducibility across environments
- Future Python packaging standard adoption
📦 Installation
For End Users:
pip install m3-mcp==0.2.0For Developers (Fast):
git clone https://github.com/rafiattrach/m3.git
cd m3 && uv venv && uv syncFull Changelog: v0.1.5...v0.2.0
Questions? Open an issue or check our documentation.