|Fast JSON schema for Python||pysimdjson|
|3 months ago||30 days ago|
|BSD 3-clause "New" or "Revised" 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.
Fast JSON schema for Python
I wrote okjson - A fast, simple, and pythonic JSON Schema Validator
8 projects | reddit.com/r/Python | 31 Mar 2022
I had a requirement to process and validate large payloads of JSON concurrently for a web service, initially I implemented it using jsonschema and fastjsonschema but I found the whole JSON Schema Specification to be confusing at times and on top of that wanted better performance. Albeit there are ways to compile/cache the schema, I wanted to move away from the schema specification so I wrote a validation library inspired by the design of tiangolo/sqlmodel (type hints) to solve this problem easier.
5 projects | reddit.com/r/emacs | 23 May 2022
You are aware of simdjson being available in python if you really need some json crunching, albeit json module in Python is implemented in C itself, so I don't think understand why do you think Python is slow there?
The fastest tool for querying large JSON files is written in Python (benchmark)
16 projects | news.ycombinator.com | 12 Apr 2022
json: 113.79130696877837 ms
While `orjson`, is faster than `ujson`/`json` here, it's only ~6% faster (in this benchmark). `simdjson` and `msgspec` (my library, see https://jcristharif.com/msgspec/) are much faster due to them avoiding creating PyObjects for fields that are never used.
If spyql's query engine can determine the fields it will access statically before processing, you might find using `msgspec` for JSON gives a nice speedup (it'll also type check the JSON if you know the type of each field). If this information isn't known though, you may find using `pysimdjson` (https://pysimdjson.tkte.ch/) gives an easy speed boost, as it should be more of a drop-in for `orjson`.
How I cut GTA Online loading times by 70%
7 projects | reddit.com/r/programming | 28 Feb 2021
I don't think JSON is really the problem - parsing 10MB of JSON is not so slow. For example, using Python's json.load takes about 800ms for a 47MB file on my system, using something like simdjson cuts that down to ~70ms.
What are some alternatives?
marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
jsonschema - JSON Schema validation library
cattrs - Complex custom class converters for attrs.
serpy - ridiculously fast object serialization
Trafaret - Ultimate transformation library that supports validation, contexts and aiohttp.
ultrajson - Ultra fast JSON decoder and encoder written in C with Python bindings
python-rapidjson - Python wrapper around rapidjson
lupin is a Python JSON object mapper - Python document object mapper (load python object from JSON and vice-versa)
PyValico - Small python wrapper around https://github.com/rustless/valico
RDFLib plugin providing JSON-LD parsing and serialization - JSON-LD parser and serializer plugins for RDFLib
orjson - Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy