[PR #2843] [MERGED] Add orjson #15845

Closed
opened 2026-05-02 08:02:28 -05:00 by GiteaMirror · 0 comments
Owner

📋 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: masterHead: master


📝 Commits (1)

  • a085ede Add orjson library to serialization section

📊 Changes

1 file changed (+1 additions, -0 deletions)

View changed files

📝 README.md (+1 -0)

📄 Description

Checklist

  • One link per Pull Request
  • PR title format: Add project-name
  • Entry format: * [project-name](url) - Description ending with period.
  • Description is concise and short

Why This Project Is Awesome

Which criterion does it meet? (pick one)

  • Industry Standard - The go-to tool for a specific use case
  • Rising Star - 5000+ stars in < 2 years, significant adoption
  • Hidden Gem - Exceptional quality, solves niche problems elegantly

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.

## 📋 Pull Request Information **Original PR:** https://github.com/vinta/awesome-python/pull/2843 **Author:** [@JinyangWang27](https://github.com/JinyangWang27) **Created:** 1/11/2026 **Status:** ✅ Merged **Merged:** 1/12/2026 **Merged by:** [@vinta](https://github.com/vinta) **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (1) - [`a085ede`](https://github.com/vinta/awesome-python/commit/a085ede8af706d9a57d58bd02637cde8cd56ede5) Add orjson library to serialization section ### 📊 Changes **1 file changed** (+1 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `README.md` (+1 -0) </details> ### 📄 Description ## Checklist - [X] One link per Pull Request - [X] PR title format: `Add project-name` - [X] Entry format: `* [project-name](url) - Description ending with period.` - [X] Description is concise and short ## Why This Project Is Awesome Which criterion does it meet? (pick one) - [X] **Industry Standard** - The go-to tool for a specific use case - [ ] **Rising Star** - 5000+ stars in < 2 years, significant adoption - [ ] **Hidden Gem** - Exceptional quality, solves niche problems elegantly 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. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-05-02 08:02:28 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/awesome-python#15845