fix: add explicit marshmallow<4 constraint to prevent import errors#5992
fix: add explicit marshmallow<4 constraint to prevent import errors#5992
Conversation
…egenerate requirements Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com>
|
@copilot you need to run |
Done in commit 017b72a. All 15 requirements files (ci, regular, minimal, minimal-sdist, minimal-sdist-build for py3.10/3.11/3.12) have been regenerated following the same commands as Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR fixes an ImportError caused by marshmallow 4.0.0's removal of __version_info__, which breaks packages that depend on it. The fix adds an explicit marshmallow<4 constraint to the ge (great_expectations) extra in pyproject.toml and regenerates the CI requirements lock files.
Changes:
- Added
marshmallow<4constraint to thegeoptional dependency group in pyproject.toml - Regenerated CI requirements files for Python 3.10, 3.11, and 3.12 with marshmallow pinned to 3.26.2
- Updated dependency metadata to show marshmallow is now explicitly required by feast, not just transitively via great_expectations
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| pyproject.toml | Added explicit marshmallow<4 constraint to the ge extra to prevent compatibility issues with marshmallow 4.0.0 |
| sdk/python/requirements/py3.10-ci-requirements.txt | Regenerated with marshmallow 3.26.2 pinned and updated dependency metadata |
| sdk/python/requirements/py3.11-ci-requirements.txt | Regenerated with marshmallow 3.26.2 pinned and updated dependency metadata |
| sdk/python/requirements/py3.12-ci-requirements.txt | Regenerated with marshmallow 3.26.2 pinned and updated dependency metadata |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What this PR does / why we need it:
Marshmallow 4.0.0 (released April 2025) removed
__version_info__, breaking packages that rely on it (e.g._SUPPORTS_LOAD_DEFAULT = ma.__version_info__ >= (3, 13)). Without an explicit upper bound, fresh installs could resolve to marshmallow 4.x, causingImportError: cannot import name 'MilvusOnlineStoreConfig'when loading the milvus online store.pyproject.toml: Addmarshmallow<4explicitly to thegeextra.great_expectationsalready transitively required this, but it was invisible in the manifest.ci,requirements,minimal,minimal-sdist,minimal-sdist-buildfor py3.10/3.11/3.12) have been regenerated following the same steps asmake lock-python-dependencies-all. Marshmallow is now pinned to3.26.2withfeast (pyproject.toml)listed as an explicit source in the CI requirements files.Which issue(s) this PR fixes:
Misc
Requirements regenerated via
uv pip compileandpybuild-deps compiledirectly (equivalent tomake lock-python-dependencies-all), sincepixirequires conda-forge which is not accessible in the sandbox environment.Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.