-
Notifications
You must be signed in to change notification settings - Fork 203
Metapackage #1734
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Metapackage #1734
Conversation
…e new mito metapackage command
…fy included files for wheel distribution
… version checks and automated deployment to PyPI
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
…tallation instructions in README, and remove deprecated GitHub workflows. Introduce new scripts for version bumping and consistency checks across packages.
aarondr77
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sweet. Nice work on this. It's going to be great to not have the messy commands. And make upgrading easy for users too!
There's one important change we need to make which is we want to also deploy these packages to testpypi when merging into dev. This is how we do a lot of testing of the tool and sanity check things before deploying to production.
|
Oh and also, if we end up not using the |
…Versioning, clarifying versioning scheme and consistency across Mito packages.
use dev version with timestamp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds a pure “mito” metapackage to install both mitosheet and mito-ai, centralizes versioning, and modernizes CI/CD with a unified SemVer bump and release workflow.
- Introduces
mitometapackage withpyproject.tomland README - Bumps all packages (
mitosheet,mito-ai,mito) to 1.0.0 via a newversion.json - Overhauls deployment scripts and GitHub Actions for coordinated releases
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| version.json | New centralized SemVer version file |
| mitosheet/package.json | Updated version to 1.0.0 |
| mito/pyproject.toml | Added metapackage definition with exact dependencies |
| mito/README.md | Added installation and versioning instructions for the metapackage |
| mito-ai/package.json | Updated version to 1.0.0 |
| deployment/check_versions.py | New script to verify version consistency |
| deployment/bump_version.py | Unified bump script for all packages |
| deployment/README.md | Updated docs for new bump and deploy scripts |
| README.md | Switched install instructions to pip install mito |
| .github/workflows/deploy.yml | New consolidated workflow for auto/manual SemVer releases |
Comments suppressed due to low confidence (4)
.github/workflows/deploy.yml:33
- The
set-outputcommand is deprecated and will break the workflow. Use the new syntax:echo "branch=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_OUTPUT.
run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})"
.github/workflows/deploy.yml:103
- GitHub Actions expressions do not support the
||fallback operator. Sinceversion_typehas a default ofpatch, reference it directly (${{ inputs.version_type }}) or add a conditional step.
python deployment/bump_version.py "${{ inputs.version_type || 'patch' }}"
deployment/README.md:13
- The README references
deploy.py, but no such script exists. Update this entry to match the newbump_version.pyandcheck_versions.pyscripts or remove it.
- **`deploy.py`** - Local deployment script for mitosheet
deployment/bump_version.py:123
- [nitpick] The new version‐bumping logic in
bump_all_versionslacks automated tests. Adding unit tests for each bump type and specific version paths will ensure reliability and catch regressions.
def bump_all_versions(bump_type: str = 'patch', specific_version: Union[str, None] = None) -> str:
| version_data = json.load(f) | ||
| return version_data['version'] | ||
| else: | ||
| return '1.0.0' # Default starting version |
Copilot
AI
Jun 12, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Defaulting to 1.0.0 when version.json is missing may mask configuration errors. Consider raising an explicit error or warning so missing files aren't silently ignored.
Description
This PR introduces the Mito metapackage - a convenience package that automatically installs both
mitosheetandmito-aiwith a singlepip install mitocommand. This addresses user requests for simplified installation and provides a unified entry point for the Mito ecosystem.Key Changes
🎯 Pure Metapackage Implementation
mito/directory with metapackage configurationmitosheetandmito_aidirectly1.0.0,1.0.1)🤖 Automated CI/CD Pipeline
📦 Package Configuration
mito-ai==1.0.0,mitosheet==1.0.0(exact version matching)Motivation
Before: Users needed to install both packages separately:
After: Single command installs everything:
This simplifies:
Testing
✅ Core Functionality Testing
pip install mitosuccessfully installs both dependenciesimport mitosheetandimport mito_aiwork after metapackage installation🏗️ Build & Deployment Testing
python -m buildcreates correct wheel and sdist🤖 CI/CD Workflow Testing
workflow_dispatchwith and without force-deploy🔄 Real-World Scenarios
Documentation
📝 Required Documentation Updates
Installation Documentation
pip install mitoNew Documentation
Developer Documentation
🔗 Documentation Links to Review
🚀 Next Steps After Merge
This metapackage represents a significant improvement in user experience while maintaining full backward compatibility. Users can continue using individual packages or adopt the convenient metapackage approach with unified SemVer versioning.