koda-validate
katara
Our great sponsors
koda-validate | katara | |
---|---|---|
10 | 4 | |
108 | 130 | |
- | 0.0% | |
5.2 | 0.7 | |
21 days ago | about 1 year ago | |
Python | Python | |
MIT License | Apache License 2.0 |
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.
koda-validate
-
Pydantic V2 leverages Rust's Superpowers [video]
As someone who built a pure python validation library[0] that's much faster than pydantic (~1.5x - 12x depending on the benchmark), I have to say that this whole focus on Rust seems premature. There's clearly a lot of room for pydantic to optimize its Python implementation.
Beyond that, rust seems like a great fit for tooling (i.e. ruff), but as a library used at runtime, it seems a little odd to make a validation library (which can expect to receive any kind of data valid python data) to also be constrained by a separate set of data types which are valid in rust.
[0]: https://github.com/keithasaurus/koda-validate
-
beartype: It has documentation now. It only took two years, my last hair follicle, precious sanity points (SPs), and working with Sphinx. Don't be like @leycec. Go hard on documentation early.
For the sake of comparison I built a validate_signature function as part of koda-validate, which has a lot of overlap with beartype. I haven't really compared it to beartype, so I'd be interested to see people's thoughts on how the two approaches compare.
-
Pydantic vs Protobuf vs Namedtuples vs Dataclasses
FYI I wrote koda-validate, which is significantly faster than pydantic, has a similar API, and is pure python.
- Koda Validate: Alternative to Pydantic that is faster, more flexible, and async-compatible.
- I built a composable validation library. It plays nice with type hints and asyncio. Would love some feedback!
- Koda Validate: Flexible, Explicit, Async-compatible Validation in Python
- Show HN: Koda Validate 2.0 – Async Validation in Python
-
This Week In Python
koda-validate – Typesafe Validation
- Show HN: Koda Validate – Typesafe, combinable validation for Python
katara
-
Hydroflow: Dataflow Runtime in Rust
Oh, I realize this comes out the Hydro Project that produced a previous HN submission I thought was cool:
Katara is a project to synthesize CRDTs from a C++ implementation of a regular plain-old data structure along with a few annotations
https://news.ycombinator.com/item?id=32977887
https://github.com/hydro-project/katara
-
This Week In Python
katara – Synthesize CRDTs from classic data types with verified lifting
- Katara: Synthesize CRDTs from Sequential Types
- Katara: Synthesizing CRDTs with Verified Lifting
What are some alternatives?
pydantic-core - Core validation logic for pydantic written in rust
database-stream-processor - Streaming and Incremental Computation Framework
flake8-comments - Report redundant comments in python code
puff - ☁ Puff ☁ - The deep stack framework.
serialite - Serialization and deserialization library for Python
django-pgtransaction - A context manager/decorator which extends Django's atomic function with the ability to set isolation level and retries for a given transaction.
typedload - Python library to load dynamically typed data into statically typed data structures
hydroflow - Hydro's low-level dataflow runtime
differential-dataflow - An implementation of differential dataflow using timely dataflow on Rust.
msgspec - A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML
metalift - A program synthesis framework for verified lifting applications