Skip to content
This repository was archived by the owner on Mar 19, 2026. It is now read-only.

Commit 38cd88b

Browse files
authored
Merge pull request #64 from PrefectHQ/pydantic-v2-compatibility
Conditional imports to support operating with `pydantic>2` installed
2 parents def1ac2 + ff381a1 commit 38cd88b

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

prefect_sqlalchemy/credentials.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@
55
from typing import Any, Dict, Optional, Union
66

77
from prefect.blocks.core import Block
8-
from pydantic import AnyUrl, BaseModel, Field, SecretStr
8+
from pydantic import VERSION as PYDANTIC_VERSION
9+
10+
if PYDANTIC_VERSION.startswith("2."):
11+
from pydantic.v1 import AnyUrl, BaseModel, Field, SecretStr
12+
else:
13+
from pydantic import AnyUrl, BaseModel, Field, SecretStr
14+
915
from sqlalchemy.engine import Connection, create_engine
1016
from sqlalchemy.engine.url import URL, make_url
1117
from sqlalchemy.ext.asyncio import AsyncConnection, create_async_engine

prefect_sqlalchemy/database.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,13 @@
99
from prefect.blocks.abstract import CredentialsBlock, DatabaseBlock
1010
from prefect.utilities.asyncutils import sync_compatible
1111
from prefect.utilities.hashing import hash_objects
12-
from pydantic import AnyUrl, Field, SecretStr
12+
from pydantic import VERSION as PYDANTIC_VERSION
13+
14+
if PYDANTIC_VERSION.startswith("2."):
15+
from pydantic.v1 import AnyUrl, Field, SecretStr
16+
else:
17+
from pydantic import AnyUrl, Field, SecretStr
18+
1319
from sqlalchemy.engine import Connection, Engine, create_engine
1420
from sqlalchemy.engine.cursor import CursorResult
1521
from sqlalchemy.engine.url import URL, make_url

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
prefect>=2.7.0
2-
sqlalchemy>=1.4.31
2+
sqlalchemy>=1.4.31,<2

0 commit comments

Comments
 (0)