Flask-ORJSON

2.0.0 · active · verified Thu Apr 16

Flask-ORJSON is a Flask JSON provider that leverages the `orjson` library for significantly faster JSON serialization and deserialization. It replaces Flask's default `json` module with `orjson`, offering performance improvements, especially for high-throughput applications handling large JSON payloads. The current version is 2.0.0, and it is actively maintained by the Pallets-eco team, following a release cadence tied to Flask and `orjson` updates.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to initialize `flask-orjson` by setting `app.json` to an instance of `OrjsonProvider`. Once configured, all Flask serialization (e.g., `jsonify`, dictionary returns) will automatically use `orjson`. It also showcases `flask-orjson`'s native support for common types like `datetime`, `date`, and `Decimal`.

from flask import Flask, jsonify
from flask_orjson import OrjsonProvider
from datetime import datetime, date
from decimal import Decimal

app = Flask(__name__)
app.json = OrjsonProvider(app)

@app.route("/")
def hello_world():
    # This will use OrjsonProvider for serialization
    return jsonify({"hello": "world", "current_time": datetime.now()})

@app.route("/data")
def get_data():
    # OrjsonProvider natively supports datetime, date, Decimal, UUID, etc.
    return {
        "timestamp": datetime.now(),
        "today": date.today(),
        "amount": Decimal("123.45"),
        "complex_list": [{"id": 1, "name": "item 1"}, {"id": 2, "name": "item 2"}]
    }

if __name__ == "__main__":
    app.run(debug=True)

view raw JSON →