Skip to content

Commit a478517

Browse files
asim-ceman-extVladX09
authored andcommitted
feat: make python http generator compatible with pydantic v2
1 parent 05b2c51 commit a478517

File tree

9 files changed

+27
-9
lines changed

9 files changed

+27
-9
lines changed

python_client_generator/templates/base_client.py.mustache

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@ from uuid import UUID
44

55
import httpx
66

7-
from pydantic import BaseModel
7+
try:
8+
from pydantic.v1 import BaseModel
9+
except ImportError:
10+
from pydantic import BaseModel
811

912

1013
class BaseClient(httpx.{{#async}}Async{{/async}}Client):

python_client_generator/templates/models.py.mustache

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@ from enum import Enum
33
from typing import Any, Dict, List, Literal, Optional, Union
44
from uuid import UUID
55

6-
from pydantic import BaseModel, Field
6+
try:
7+
from pydantic.v1 import BaseModel, Field
8+
except ImportError:
9+
from pydantic import BaseModel, Field
710

811

912
{{#enums}}

python_client_generator/templates/pyproject.toml.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors = ["Autogenerated Client <[email protected]>"]
77
[tool.poetry.dependencies]
88
python = "^3.7"
99
httpx = ">=0.22, <1"
10-
pydantic = "^1"
10+
pydantic = ">1,<3"
1111
1212
[tool.poetry.scripts]
1313
poetry = "poetry.console:main"

tests/expected/fastapi_app_client/base_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44

55
import httpx
66

7-
from pydantic import BaseModel
7+
try:
8+
from pydantic.v1 import BaseModel
9+
except ImportError:
10+
from pydantic import BaseModel
811

912

1013
class BaseClient(httpx.AsyncClient):

tests/expected/fastapi_app_client/models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
from typing import Any, Dict, List, Literal, Optional, Union
44
from uuid import UUID
55

6-
from pydantic import BaseModel, Field
6+
try:
7+
from pydantic.v1 import BaseModel, Field
8+
except ImportError:
9+
from pydantic import BaseModel, Field
710

811

912
class FooEnum(str, Enum):

tests/expected/fastapi_app_client/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors = ["Autogenerated Client <[email protected]>"]
77
[tool.poetry.dependencies]
88
python = "^3.7"
99
httpx = ">=0.22, <1"
10-
pydantic = "^1"
10+
pydantic = ">1,<3"
1111

1212
[tool.poetry.scripts]
1313
poetry = "poetry.console:main"

tests/expected/swagger_petstore_client/base_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44

55
import httpx
66

7-
from pydantic import BaseModel
7+
try:
8+
from pydantic.v1 import BaseModel
9+
except ImportError:
10+
from pydantic import BaseModel
811

912

1013
class BaseClient(httpx.AsyncClient):

tests/expected/swagger_petstore_client/models.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
from typing import Any, Dict, List, Literal, Optional, Union
44
from uuid import UUID
55

6-
from pydantic import BaseModel, Field
6+
try:
7+
from pydantic.v1 import BaseModel, Field
8+
except ImportError:
9+
from pydantic import BaseModel, Field
710

811

912
class Order(BaseModel):

tests/expected/swagger_petstore_client/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ authors = ["Autogenerated Client <[email protected]>"]
77
[tool.poetry.dependencies]
88
python = "^3.7"
99
httpx = ">=0.22, <1"
10-
pydantic = "^1"
10+
pydantic = ">1,<3"
1111

1212
[tool.poetry.scripts]
1313
poetry = "poetry.console:main"

0 commit comments

Comments
 (0)