Skip to content

Commit 44a71ce

Browse files
authored
Merge pull request #11 from taskiq-python/feature/pydanticv2
2 parents 367efa4 + fcc5eb7 commit 44a71ce

File tree

7 files changed

+405
-308
lines changed

7 files changed

+405
-308
lines changed

poetry.lock

Lines changed: 392 additions & 297 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ keywords = ["taskiq", "pipelines", "tasks", "distributed", "async"]
2727
python = "^3.8.1"
2828
taskiq = ">=0.0.8, <1"
2929
typing-extensions = "^4.3.0"
30-
pydantic = "^1.6.2"
30+
pydantic = "^2"
3131

3232
[tool.poetry.dev-dependencies]
3333
pytest = "^7"

taskiq_pipelines/middleware.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@ async def post_save( # noqa: C901, WPS212
4242
return
4343
pipeline_data = message.labels[PIPELINE_DATA]
4444
try:
45-
steps_data = pydantic.parse_raw_as(List[DumpedStep], pipeline_data)
45+
steps_data = pydantic.TypeAdapter(List[DumpedStep]).validate_json(
46+
pipeline_data,
47+
)
4648
except ValueError:
4749
return
4850
if current_step_num + 1 >= len(steps_data):
@@ -99,7 +101,7 @@ async def on_error(
99101
return
100102
pipe_data = message.labels[PIPELINE_DATA]
101103
try:
102-
steps = pydantic.parse_raw_as(List[DumpedStep], pipe_data)
104+
steps = pydantic.TypeAdapter(List[DumpedStep]).validate_json(pipe_data)
103105
except ValueError:
104106
return
105107
if current_step_num == len(steps) - 1:

taskiq_pipelines/pipeliner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ def dumps(self) -> str:
328328
:returns: serialized pipeline.
329329
"""
330330
return json.dumps(
331-
[step.dict() for step in self.steps],
331+
[step.model_dump() for step in self.steps],
332332
)
333333

334334
@classmethod
@@ -344,7 +344,7 @@ def loads(cls, broker: AsyncBroker, pipe_data: str) -> "Pipeline[Any, Any]":
344344
:return: new
345345
"""
346346
pipe: "Pipeline[Any, Any]" = Pipeline(broker)
347-
pipe.steps = pydantic.parse_raw_as(List[DumpedStep], pipe_data)
347+
pipe.steps = pydantic.TypeAdapter(List[DumpedStep]).validate_json(pipe_data)
348348
return pipe
349349

350350
async def kiq(

taskiq_pipelines/steps/filter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def dumps(self) -> str:
8484
8585
:return: returns json.
8686
"""
87-
return self.json()
87+
return self.model_dump_json()
8888

8989
@classmethod
9090
def loads(cls, data: str) -> "FilterStep":
@@ -94,7 +94,7 @@ def loads(cls, data: str) -> "FilterStep":
9494
:param data: dumped data.
9595
:return: parsed step.
9696
"""
97-
return pydantic.parse_raw_as(FilterStep, data)
97+
return pydantic.TypeAdapter(FilterStep).validate_json(data)
9898

9999
async def act(
100100
self,

taskiq_pipelines/steps/mapper.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def dumps(self) -> str:
8181
8282
:return: returns json.
8383
"""
84-
return self.json()
84+
return self.model_dump_json()
8585

8686
@classmethod
8787
def loads(cls, data: str) -> "MapperStep":
@@ -91,7 +91,7 @@ def loads(cls, data: str) -> "MapperStep":
9191
:param data: dumped data.
9292
:return: parsed step.
9393
"""
94-
return pydantic.parse_raw_as(MapperStep, data)
94+
return pydantic.TypeAdapter(MapperStep).validate_json(data)
9595

9696
async def act(
9797
self,

taskiq_pipelines/steps/sequential.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def dumps(self) -> str:
4646
4747
:return: returns json.
4848
"""
49-
return self.json()
49+
return self.model_dump_json()
5050

5151
@classmethod
5252
def loads(cls, data: str) -> "SequentialStep":
@@ -56,7 +56,7 @@ def loads(cls, data: str) -> "SequentialStep":
5656
:param data: dumped data.
5757
:return: parsed step.
5858
"""
59-
return pydantic.parse_raw_as(SequentialStep, data)
59+
return pydantic.TypeAdapter(SequentialStep).validate_json(data)
6060

6161
async def act(
6262
self,

0 commit comments

Comments
 (0)