Skip to content

Commit

Permalink
compat: do not patch pydantic if the installed version starts with "1…
Browse files Browse the repository at this point in the history
…." (#3482)

In pydantic 1.10.16 (hopefully the last version), they added the `pydantic.v1`
namespace to make transitioning to the v2 package easier without changing code.

However, Reflex was depending on pydantic v1 NOT having `pydantic.v1` to skip
patching names from `v1` into the top level `pydantic` (normally we do this to
force sqlmodel to use v1, even when the v2 package is installed).

Unbreak CI
  • Loading branch information
masenf authored Jun 12, 2024
1 parent bd799a2 commit c3c06a1
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions reflex/utils/compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,11 @@ def pydantic_v1_patch():
try:
import pydantic.v1 # type: ignore

if pydantic.__version__.startswith("1."):
# pydantic v1 is already installed
yield
return

sys.modules["pydantic.fields"] = pydantic.v1.fields # type: ignore
sys.modules["pydantic.main"] = pydantic.v1.main # type: ignore
sys.modules["pydantic.errors"] = pydantic.v1.errors # type: ignore
Expand Down

0 comments on commit c3c06a1

Please sign in to comment.