redis / redis-om-python

Object mapping, and more, for Redis and Python
MIT License
1.11k stars 109 forks source link

redis-om 0.3.2 no longer supports pydantic<2 #646

Open woutdenolf opened 1 month ago

woutdenolf commented 1 month ago

https://github.com/redis/redis-om-python/blob/c5068e561116d6d19e571aa336175de91311d695/pyproject.toml#L40

pip install "redis-om" "pydantic<2"
from redis_om import JsonModel
  File.../site-packages/redis_om/__init__.py", line 4, in <module>
    from .model.migrations.migrator import MigrationError, Migrator
  File.../site-packages/redis_om/model/__init__.py", line 2, in <module>
    from .model import (
  File.../site-packages/redis_om/model/model.py", line 2216, in <module>
    class EmbeddedJsonModel(JsonModel, abc.ABC):
  File.../site-packages/redis_om/model/model.py", line 1311, in __new__
    new_class = super().__new__(cls, name, bases, attrs, **kwargs)
  File "pydantic/main.py", line 282, in pydantic.main.ModelMetaclass.__new__
  File "/usr/lib/python3.10/abc.py", line 106, in __new__
    cls = super().__new__(mcls, name, bases, namespace, **kwargs)
  File.../site-packages/redis_om/model/model.py", line 1896, in __init_subclass__
    cls.redisearch_schema()
  File.../site-packages/redis_om/model/model.py", line 1965, in redisearch_schema
    schema_parts = [schema_prefix] + cls.schema_for_fields()
  File.../site-packages/redis_om/model/model.py", line 1983, in schema_for_fields
    fields[name] = PydanticFieldInfo.from_annotation(field)
AttributeError: type object 'FieldInfo' has no attribute 'from_annotation'

It works for redis-om 0.3.1 so the issue was introduced in 0.3.2.

XChikuX commented 3 weeks ago

@slorello89 Same issue I ran into for my v1 project.

areski commented 2 weeks ago

Same issue too!

dearkafka commented 1 week ago

same issue!