serialite
pydantic-core
serialite | pydantic-core | |
---|---|---|
1 | 18 | |
7 | 1,286 | |
- | 2.4% | |
5.1 | 9.6 | |
5 days ago | about 22 hours ago | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
serialite
-
Pydantic V2 leverages Rust's Superpowers [video]
Pydantic is so cool and I am really excited to migrate to v2. My biggest pain point in Pydantic is that it has no abstract base class for a serializer/deserializer. There is just BaseModel. This means that there is no "Pydantic interface" to implement. If I need to serialize/deserialize something other than an object with attributes, I basically can't do it in Pydantic, or at least I couldn't figure out how to do it.
In contrast, when I designed Serialite [1], I designed it to have a Serializer base class with two abstract methods: to_data and from_data. Then I added a @serializable decorator that can be applied to any dataclass, which injects concrete implementations of to_data and from_data. The decorator is what I usually use, but I sometimes implement the base class directly when it gets too complicated.
Making Serialite work with FastAPI was almost impossible because there is no interface to implement, duck type or otherwise. In the end, Serialite monkey patches some key FastAPI functions to make them understand Serialite Serializers and that seems to work.
[1] https://github.com/drhagen/serialite
pydantic-core
-
Is there a pydantic.BaseSettings equivalent in rust?
Funny that you ask... https://github.com/pydantic/pydantic-core Unfortunately it seems that the functionality you ask for is not (yet) part of this ...
-
Investigating Pydantic v2's Bold Performance Claims
I encourage you to checkout the official benchmarks for more realistic and detailed examples, and, as always, YMMV.
-
Pydantic V2 leverages Rust's Superpowers [video]
> to also be constrained by a separate set of data types which are legal in rust.
This isn't really how writing rust/python iterop works. You tend to have opaque handles you call python methods on. Here's a decent example I found skimming the code.
https://github.com/pydantic/pydantic-core/blob/main/src/inpu...
-
Pydantic vs Protobuf vs Namedtuples vs Dataclasses
Thanks for pointing out to that, I did not know about it. Also attaching repo in case someone would be interested as well - https://github.com/pydantic/pydantic-core
-
Introducing CodSpeed: Continuous Performance Measurement
pydantic-core: The core validation logic for pydantic, a Python data parsing and validation library.
-
Show HN: Python framework is faster than Golang Fiber
pydandic-core [0] will hopefully solve this issue (written in Rust)
[0] -- https://github.com/pydantic/pydantic-core
- Scala or Rust? which one will rule in future?
-
Rust for Data Engineering—what's the hype about? 🦀
LinkedIn influencers are weird lol. Rust v Python is apples and oranges. Rust would be glued together by python just like it does with C/C++ and Java/Spark today. We’re already seeing some packages go this direction, like pydantic v2 is rewriting its core validation in rust.
- Python file structure with Rust extensions
- Pydantic 2 rewritten in Rust was merged
What are some alternatives?
koda-validate - Typesafe, Composable Validation
aiohttp-apispec - Build and document REST APIs with aiohttp and apispec
Maat - Validation and transformation library powered by deductive ascending parser. Made to be extended for any kind of project.
msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML
pymartini - A Cython port of Martini for fast RTIN terrain mesh generation
modin - Modin: Scale your Pandas workflows by changing a single line of code
typedload - Python library to load dynamically typed data into statically typed data structures
uvloop - Ultra fast asyncio event loop.
pytest-benchmark - py.test fixture for benchmarking code
pydantic - Data validation using Python type hints
pytype - A static type analyzer for Python code