patx/micropie
introduce orjson as an optional replacement for stdlib json, useful for those who need performance api
Commit baf9351 · patx · 2025-05-22T20:12:04-04:00
Comments
No comments yet.
Diff
diff --git a/MicroPie.py b/MicroPie.py
index 12b35d6..7f76b78 100644
--- a/MicroPie.py
+++ b/MicroPie.py
@@ -34,7 +34,6 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import asyncio
import contextvars
import inspect
-import json
import os
import re
import time
@@ -43,6 +42,11 @@ from abc import ABC, abstractmethod
from typing import Any, Awaitable, Callable, Dict, List, Optional, Tuple
from urllib.parse import parse_qs
+try:
+ import orjson as json # Use `orjson` if installed as it is faster
+except ImportError:
+ import json
+
try:
from jinja2 import Environment, FileSystemLoader, select_autoescape
JINJA_INSTALLED = True
diff --git a/pyproject.toml b/pyproject.toml
index 8d8f7cd..2e66675 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
[project]
name = "MicroPie"
-version = "0.9.9.7.3"
+version = "0.9.9.8"
description = "An ultra micro ASGI web framework"
keywords = ["micropie", "asgi", "microframework", "http"]
readme = "README.md"
@@ -18,7 +18,7 @@ classifiers = [
]
[project.optional-dependencies]
-all = ["jinja2", "multipart", "aiofiles"]
+all = ["jinja2", "multipart", "aiofiles", "orjson"]
[project.urls]
Homepage = "https://patx.github.io/micropie"