jiter

raw JSON →
0.13.0 verified Tue May 12 auth: no python install: verified quickstart: verified

jiter is a fast iterable JSON parser for Python, currently at version 0.13.0, released on February 2, 2026. It is actively maintained with a release cadence of approximately every 2-3 months.

pip install jiter
error ModuleNotFoundError: No module named 'jiter'
cause The 'jiter' package is not installed in the current Python environment or is not accessible to the running script.
fix
Install the package using pip: pip install jiter
error ERROR: Failed to build 'jiter' when installing build dependencies
cause This error often occurs during installation when `pip` or `poetry` cannot compile the underlying Rust extension for 'jiter', possibly due to missing build tools (like Rust toolchain or C compiler) or environment-specific issues (e.g., specific Python versions or operating systems).
fix
Ensure you have the Rust toolchain installed (e.g., curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh). If using poetry, try poetry add jiter --build=venv or manually install with pip if the environment is complex. For some environments like Chaquopy, specific openai versions might resolve conflicts.
error ValueError: JSON input is incomplete
cause The `jiter.from_json()` function was called with JSON bytes that are syntactically incomplete, and `partial_mode` was set to `False` (the default), which requires well-formed JSON.
fix
Provide complete and valid JSON bytes to jiter.from_json(), or set partial_mode=True to allow parsing of incomplete JSON and discard the trailing incomplete string, or partial_mode='trailing-strings' to include it. Example:
import jiter
# Fix: Provide complete JSON
complete_json = b'{"key": "value"}'
parsed_data = jiter.from_json(complete_json)

# Alternative: Allow partial JSON
partial_json = b'{"key": "incomplete st'
parsed_data_partial = jiter.from_json(partial_json, partial_mode=True)
error ValueError: Duplicate key found
cause The `jiter.from_json()` function encountered a JSON object containing duplicate keys, and the `catch_duplicate_keys` option was set to `True`.
fix
Ensure the JSON input does not contain objects with duplicate keys, or set catch_duplicate_keys=False to allow jiter to silently handle (typically by using the last encountered value) duplicate keys. Example:
import jiter
# Fix: Remove duplicate key
valid_json = b'{"key1": "value1", "key2": "value2"}'
parsed_data = jiter.from_json(valid_json, catch_duplicate_keys=True)

# Alternative: Allow duplicate keys (last one wins by default if not caught)
duplicate_key_json = b'{"key": "value1", "key": "value2"}'
parsed_data_allowed = jiter.from_json(duplicate_key_json, catch_duplicate_keys=False)
breaking In version 0.13.0, PyO3 was bumped to 0.28, which may require adjustments in Rust bindings if used.
fix Update your Rust dependencies to be compatible with PyO3 0.28.
deprecated The 'jiter-pupy' package is a pure Python implementation of jiter and is no longer maintained.
fix Use the official 'jiter' package for continued support and updates.
python os / libc status wheel install import disk
3.10 alpine (musl) - - 0.00s 19.1M
3.10 slim (glibc) - - 0.00s 19M
3.11 alpine (musl) - - 0.00s 20.9M
3.11 slim (glibc) - - 0.00s 21M
3.12 alpine (musl) - - 0.00s 12.8M
3.12 slim (glibc) - - 0.00s 13M
3.13 alpine (musl) - - 0.00s 12.4M
3.13 slim (glibc) - - 0.00s 12M
3.9 alpine (musl) - - 0.00s 18.6M
3.9 slim (glibc) - - 0.00s 19M

A simple example demonstrating how to parse JSON data using jiter.

import os
from jiter import from_json

json_data = b'{"name": "John", "age": 30}'
parsed_data = from_json(json_data)
print(parsed_data)  # Output: {'name': 'John', 'age': 30}