This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""A quick benchmark comparing the performance of: | |
- msgspec: https://github.com/jcrist/msgspec | |
- pydantic V1: https://docs.pydantic.dev/1.10/ | |
- pydantic V2: https://docs.pydantic.dev/dev-v2/ | |
The benchmark is modified from the one in the msgspec repo here: | |
https://github.com/jcrist/msgspec/blob/main/benchmarks/bench_validation.py | |
I make no claims that it's illustrative of all use cases. I wrote this up |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""WARNING: not thoroughly tested and does not support full translation | |
between the two libraries. | |
Uses a pydantic root_validator to init the marshmallow schema. It attempts | |
to map marshmallow field types to pydantic field types as well, but not all | |
field types are supported. | |
You can either use the pydantic_from_marshmallow function that does all of | |
the above or just subclass MarshmallowModel and manually define your pydantic | |
fields/types/etc. |