Document UV-only workflow and fix Python 3.10 minimum#58
Merged
Conversation
Aligns with pyproject.toml which requires Python >=3.10. Updates default setting, migration guide, and test fixtures.
Documents two installation methods with UV-only as the recommended modern approach. UV automatically downloads Python when needed, eliminating the need for Python pre-installation. Key changes: - Option 1: UV-only (Modern, Recommended) - NO Python needed - Option 2: Traditional pip-based - Requires Python 3.10+ - Updated package installer section with clear UV vs pip comparison - Verified via Docker: works with only make + bash + uv Benefits of UV-only approach: - No Python pre-installation required - UV downloads exact Python version specified - Faster package installation - Ideal for CI/CD and team environments
When using UV with UV_PYTHON explicitly set, PYTHON_MIN_VERSION and PRIMARY_PYTHON are not needed. Updated examples to show minimal configuration and explain when each setting is required.
Add note explaining that PRIMARY_PYTHON and PYTHON_MIN_VERSION are not needed when using UV with UV_PYTHON explicitly set. These settings are only required for pip-based workflows.
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.
Summary
Documents the UV-only workflow where users need NO Python pre-installation and fixes Python version consistency.
Changes
1. Fix Python Version Consistency
File:
src/mxmake/topics/core/mxenv.mkPYTHON_MIN_VERSIONdefault from3.9to3.10pyproject.tomlwhich requires>=3.10File:
docs/source/migration.mdFiles: Test fixtures updated
src/mxmake/tests/expected/Makefilesrc/mxmake/tests/test_templates.py2. Document UV-Only Workflow
File:
docs/source/getting-started.mdKey Finding: UV-Only Workflow Works!
Verification via Docker
Tested in clean Ubuntu 22.04 container with NO Python installed:
Result: ✅ Complete Python environment created with Python 3.14
See
UV_VERIFICATION_PLAN.md(temporary file) for detailed test results.Two Verified Workflows
Workflow 1: New Project (Developer)
uvx mxmake init→ UV downloads Python 3.14PYTHON_PACKAGE_INSTALLER=uv,UV_PYTHON=3.14make install→ UV creates venv with PythonWorkflow 2: Existing Project (Team Member)
make install→ UV downloads Python and sets up everythingBoth workflows require ONLY:
make+bash+uvTesting
Documentation Updates
Related
Ready for review. UV-only workflow is fully functional and documented.