Skip to content

v0.2.0 - Modern Build System with UV + PDM Support

Choose a tag to compare

@rafiattrach rafiattrach released this 11 Jul 21:52
· 47 commits to main since this release
e20f5a1

🚀 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-mcp

Modern (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: setuptoolspdm-backend (more reliable, faster builds)
  • Dependency Management: Migrated to PEP 735 dependency-groups standard
  • 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 install commands 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]"
pytest

Option 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.0

For Developers (Fast):

git clone https://github.com/rafiattrach/m3.git
cd m3 && uv venv && uv sync

Full Changelog: v0.1.5...v0.2.0

Questions? Open an issue or check our documentation.