NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3899 most downloaded on PyPI
A faster tokenizer for the json-stream Python library
Last release 1 months ago
10 Aug 2026
Release timing varies
gaps range from 1 weeks to 11 months
Rarely documented
notes for 7 of 51 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
51 releases · first in 2022
One column per quarter.
Wheels now include SBOM metadata according to PEP 770.
Nothing published for this version
All releases prior to this one were in violation of the Rust dependencies' licenses, because they didn't include the respective license texts. This ha
Added support for parsing NaN and Infinity/-Infinity as float("nan") and float("inf")/float("-inf"), respectively (same as Python's own json module).
NaN and Infinity/-Infinity as
float("nan") and float("inf")/float("-inf"), respectively (same as
Python's own json module).Changed the default of correct_cursor from True to False.
Changed the default of correct_cursor from True to False.
Previously, correct_cursor defaulting to True meant that the tokenizer
would take care of always leaving the stream cursor of unseekable streams
(and only those!) at a position matching the extent to which it has parsed
that stream into tokens, and no further. This came at the cost of severely
degraded performance, because it meant reading the stream byte-by-byte
instead of the much more performant option of buffering ahead in large
chunks.
For seekable streams, nothing changes, because for those,
correct_cursor=True always used buffering (and still does) and doesn't
actually leave the cursor in the "correct" position (matching the
tokenization extent) by default: The only effect of correct_cursor=True
for seekable streams was and is to "remember" the position up to which the
stream has been tokenized, and only a call of RustTokenizer.park_cursor()
causes the cursor to be "reset" back to this position.
If you've been relying on the previous behavior for unseekable streams,
you can recover it by explicitly instantiating RustTokenizer with
correct_cursor=True. As json-stream is normally what instantiates the
tokenizer (the tokenizer parameter of its load function actually takes
a tokenizer "factory"), you can cause it to instantiate it with
correct_cursor set using functools.partial:
from functools import partial
from json_stream import load
load(..., tokenizer=partial(RustTokenizer, correct_cursor=True))
Added type stub files (written by hand so may contain errors)
…is up for debate, so it's not considered a breaking change.
<3.15) which will only be raised
after testing that a new Python version works fine.*I only started writing a changelog starting at 0.4.31. For older versions, please have a look at the commit history and the v-prefixed tags attached
I only started writing a changelog starting at 0.4.31. For older versions,
please have a look at the commit history and the v-prefixed tags attached to
commits.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →