mirror of
https://github.com/vinta/awesome-python.git
synced 2026-05-06 07:53:28 -05:00
[PR #2843] [MERGED] Add orjson #13510
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/2843
Author: @JinyangWang27
Created: 1/11/2026
Status: ✅ Merged
Merged: 1/12/2026
Merged by: @vinta
Base:
master← Head:master📝 Commits (1)
a085edeAdd orjson library to serialization section📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
Checklist
Add project-name* [project-name](url) - Description ending with period.Why This Project Is Awesome
Which criterion does it meet? (pick one)
Explain:
How It Differs
The existing JSON bullets mostly emphasize speed or bindings (e.g., RapidJSON/simdjson/ujson). orjson explicitly positions itself as both very fast and more correct than the stdlib json and other third-party libs.
Native serialization of common “pain” types (without custom hooks everywhere). orjson natively serializes things like dataclass, datetime/date/time, numpy, and UUID—types that otherwise often require default= handlers or extra conversion steps.
A forward-looking replacement for UltraJSON/ujson. UltraJSON (ujson) is in “maintenance-only mode” and its own maintainers encourage migration to orjson for both performance and security-risk reasons. That’s a strong differentiator relative to ultrajson already listed.
Not a drop-in json replacement (important practical distinction). orjson.dumps() returns bytes, not str, which makes it meaningfully different from many alternatives in how you integrate it (HTTP responses, file writing, etc.). This is a “gotcha” but also part of its design/performance profile.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.