Sunday, April 06, 2025

Re: relax py-pydantic version requirement on py-pydantic-core

On 4/5/25 6:30 PM, Landry Breuil wrote:
> hi,
>
> while working on an update to py-rio-cogeo, runtime testing blowed
> strangely:
>
> geo/py-rasterio/ $rio cogeo --help
>
> Warning: entry point could not be loaded. Contact its author for help.
> Traceback (most recent call last):
> File "/usr/local/lib/python3.12/site-packages/click_plugins/core.py", line 37, in decorator
> group.add_command(entry_point.load())
> ^^^^^^^^^^^^^^^^^^
> File "/usr/local/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2775, in load
> self.require(*args, **kwargs) # type: ignore[arg-type]
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/local/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2803, in require
> items = working_set.resolve(reqs, env, installer, extras=self.extras)
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> File "/usr/local/lib/python3.12/site-packages/pkg_resources/__init__.py", line 892, in resolve
> dist = self._resolve_dist(
> ^^^^^^^^^^^^^^^^^^^
> File "/usr/local/lib/python3.12/site-packages/pkg_resources/__init__.py", line 938, in _resolve_dist
> raise VersionConflict(dist, req).with_context(dependent_req)
> pkg_resources.ContextualVersionConflict: (pydantic-core 2.27.0 (/usr/local/lib/python3.12/site-packages), Requirement.parse('pydantic-core==2.23.4'), {'pydantic'})
>
> digging further i found the 'hard' requirement here:
> /usr/local/lib/python3.12/site-packages/pydantic-2.9.2.dist-info/METADATA:Requires-Dist: pydantic-core==2.23.4
>
> seems upstream sets hard requirements between both modules, and recently started enforcing it even more:
> https://github.com/pydantic/pydantic/commit/ea3f18dea95e253d300c0a90095bb7005b1da90b
>
> something to fix/comment in the port for forthcoming updates, but for release
> maybe this is ok ? it fixes 'rio cogeo' here at least, and i dunno what other
> ports having an RDEP on pydantic might be affected by that.
>

That should be OK given we didn't change anything else, so it should not
affect other ports if they were already working.

No comments:

Post a Comment