fastsimdjson
Fast JSON for Python, built on simdjson,
the parser that reads JSON at gigabytes per second. fastsimdjson is a drop-in
replacement for the json module (loads, load, dumps, dump) that
gives the same results 3.5 to 4.3 times faster, and it goes further: lazy
parsing, streams of documents on many threads, Apache Arrow tables and
MessagePack, in one package with no dependencies.
How it compares
fastsimdjson is often two to four times faster than the alternatives:
Against the standard json module, loads is 3.5 times faster and parse
25 times faster. The files, the versions and the scripts are under
Benchmarks.
- Same results.
loadsreturns whatjson.loadsreturns,dumpsthe samestrasjson.dumps, character for character, anddumpbthe same bytes asorjson.dumps. Switching changes the speed, not the output. - Typed.
loads(data, type=T)builds dataclasses, TypedDicts and other typed values straight from the parser, with the types checked: 1.6 to 2.1 times as fast as msgspec, 3.9 to 5.2 times as fast as pydantic. - Only what you need.
parsegives lazy views and builds only the values you read;fields=extracts only some fields from each document of a stream. - Many threads. On free-threaded Python, streams of documents (NDJSON,
JSON Lines) are read and written on many threads: up to 21 GB/s on 64
cores. Arrow and MessagePack conversions release the GIL and use many
threads on any Python: on 32 cores,
loads_arrowreads NDJSON into Arrow at up to 28.6 GB/s, 2.3 to 2.8 times as fast as pyarrow. - Arrow without pyarrow.
loads_arrowanddumpb_arrowconvert NDJSON to Arrow tables and back, for pyarrow, polars or DuckDB, without a copy. - MessagePack without Python objects.
json_to_msgpackandmsgpack_to_jsonconvert directly, without building Python objects. - Minify without parsing.
minifystrips insignificant whitespace and returnsbytes, without building Python objects. - Everywhere. No dependencies; wheels for Linux (x64 and ARM), macOS (Intel and Apple silicon) and Windows, Python 3.10 to 3.15, including free-threaded Python, and for Pyodide (WebAssembly).
Installation
With pip:
pip install fastsimdjson
With uv:
uv pip install fastsimdjson # in a uv project: uv add fastsimdjson
Wheels are available for Linux, macOS and Windows, for Python 3.10 to 3.15, including free-threaded Python 3.14 and 3.15.
Wheels are also available for Pyodide (WebAssembly, in the browser or in Node), for Python 3.13 to 3.15:
import micropip
await micropip.install("fastsimdjson")
Under Pyodide, Python cannot start threads: threads= runs on the calling
thread.
Usage
loads: the whole document
import fastsimdjson
fastsimdjson.loads(b'{"a": [1, 2.5, "x", true, null]}')
# {'a': [1, 2.5, 'x', True, None]}
loads(data) accepts bytes, bytearray, memoryview and str, and
returns the same value as json.loads, with the same types and key order.
Integers that do not fit in 64 bits become exact Python ints. NaN,
Infinity and -Infinity are accepted, in any capitalization.
Invalid input raises fastsimdjson.JSONDecodeError, a subclass of
json.JSONDecodeError. When simdjson rejects a document, the same input is
parsed with json.loads. If that succeeds, loads returns its value (this
is how a number that overflows a double becomes inf). If it raises
JSONDecodeError, the exception is re-raised with Python's message and byte
position. Any other exception from json.loads propagates.
parse: lazy views
When you need only part of a document, parse avoids building the rest.
It accepts the same inputs as loads and returns read-only views:
fastsimdjson.Object (a Mapping) and fastsimdjson.Array (a
Sequence). Values are converted when you access them; nested objects and
arrays are returned as views. A scalar root is returned as a plain value.
doc = fastsimdjson.parse(open("twitter.json", "rb").read())
ids = [(s["id"], s["user"]["screen_name"]) for s in doc["statuses"]]
doc.at_pointer("/statuses/0/user/name") # JSON Pointer (RFC 6901)
doc["search_metadata"].as_dict() # convert a subtree, like loads
Object supports obj[key], get, in, len, iteration over the keys,
keys(), values(), items() (iterators), at_pointer and as_dict().
Array supports arr[i] (negative indexes and slices), len, iteration,
at_pointer and as_list(). Both work with match statements.
- A view keeps its document alive; the document owns its own buffers, so it remains valid while other documents are parsed.
- A key lookup scans the object. With duplicate keys, lookups return the
first value, whereas
as_dict()(likejson.loads) keeps the last. - Indexing an array walks it from the last index reached, so a loop over
arr[i]is linear; iteration is the fastest way to visit an array. - Errors are handled as in
loads. A document that simdjson rejects butjson.loadsaccepts (an overflowing number, an unpaired surrogate) is returned as plain Python objects, asloadswould return it.
type=: typed decoding
loads(data, type=T) returns the document as an instance of T, checked
on the way. It builds dataclasses straight from the simdjson tape, without
an intermediate dict, and is 1.6 to 2.1 times as fast as msgspec on one core
(see Typed decoding).
from dataclasses import dataclass, field
from typing import Literal, Optional
@dataclass
class User:
id: int
login: str
followers: int = 0
@dataclass
class Repo:
id: int
name: str
owner: User
topics: list[str] = field(default_factory=list)
visibility: Literal["public", "private"] = "public"
license: Optional[str] = None
repo = fastsimdjson.loads(data, type=Repo)
repos = fastsimdjson.loads(data, type=list[Repo])
events = list(fastsimdjson.loads_many(ndjson, type=Repo))
type accepts:
int,float(an integer becomes a float),str,bool,type(None)(JSONnull;Nonetoo inside a type, as inlist[None]), andAnyorobject(no check: the value asloadsreturns it).type=None, the default, means no type;list,tuple(fixed length ortuple[T, ...]),set,frozenset,dictwithstrkeys, and their abstract counterparts (Sequence,Mapping, ...);Optional[T], unions (int | str, at most one type per JSON kind; an integer goes tointrather than tofloat) andLiteral(ofstr,int,boolandNone: JSON1is notTrue);- enums (by value:
str,int,boolorNone), dataclasses (including frozen ones and those with__slots__),TypedDict(fromtypingortyping_extensions) andNamedTuple(from an array); Annotated,NewTypeandtypealiases, and recursive types.
Dataclass fields take their defaults (and default factories) when the key
is missing, keys that are not fields are ignored, __post_init__ runs, and
init=False fields get their default. The fields are set as the generated
__init__ sets them: an __init__ of your own is not called. A TypedDict becomes a dict with
its keys only. A value of the wrong type raises
fastsimdjson.ValidationError (a ValueError) with its path:
ValidationError: Expected `int`, got `str` - at `$.owner.id`
A ValueError or TypeError raised by __post_init__ becomes a
ValidationError too, with the path. Invalid JSON raises
JSONDecodeError, and the documents that only json accepts (NaN, a
number that overflows a double) are converted the same way, from what
json returns; past what Python's stack allows, those raise
RecursionError, as json does. A set of values that cannot be hashed
(set[list[int]]) or a union that contains itself is a TypeError. The
description of each type is computed once and cached (the cache starts over
past 1024 types, so that types made on the fly do not pile up). load,
load_file, loads_many and map_many accept type= too; a
ValidationError ends the iteration of loads_many, as any error does. With
threads=N on free-threaded Python, the instances are built on N threads
(not with fields= or lazy=True).
dumps and dump: like json.dumps
fastsimdjson.dumps({"a": [1, 2.5, None]}) # '{"a": [1, 2.5, null]}'
fastsimdjson.dumps(obj, indent=2, sort_keys=True)
with open("out.json", "w", encoding="utf-8") as f:
fastsimdjson.dump(obj, f)
dumps(obj, **kw) takes the arguments of json.dumps and returns the same
str, character for character, including the float format (repr), the
escapes and the default separators. ensure_ascii, indent, separators,
sort_keys, allow_nan and default are handled in C. Everything else is
passed to json.dumps itself, which produces the result or raises its usual
exception: a cls argument or other encoder options, skipkeys, a circular
reference, NaN with allow_nan=False, a key or a value that json cannot
serialize. dump(obj, fp, **kw) writes dumps(obj, **kw) to fp.
dumpb: like orjson.dumps
fastsimdjson.dumpb({"a": [1, 2.5, None]}) # b'{"a":[1,2.5,null]}'
fastsimdjson.dumpb(obj, option=fastsimdjson.OPT_INDENT_2 | fastsimdjson.OPT_SORT_KEYS)
fastsimdjson.dumpb({1, 2}, default=sorted) # b'[1,2]'
dumpb(obj, default=None, option=None) has the arguments, the output and the
errors of orjson.dumps (orjson 3.12): orjson.dumps(obj, ...) can be
replaced by fastsimdjson.dumpb(obj, ...) for the types below. It returns
compact UTF-8 bytes, writes floats as orjson does (1e-6, 1e+16, NaN
and infinities as null), and raises TypeError with orjson's messages:
integers beyond 64 bits, a dict key that is not a str, invalid UTF-8 (a lone
surrogate), nesting deeper than 254, a type it cannot serialize. orjson.JSONEncodeError is a subclass of TypeError, so
except TypeError catches the errors of both.
It serializes str, int, float, bool, None, dict, list, tuple,
enums, and subclasses of str, int, dict and list. Anything else goes
to default, as in orjson: its result is serialized in place of the object,
and an exception it raises becomes the __cause__ of the TypeError. The
options are exported under orjson's names and values (OPT_APPEND_NEWLINE,
OPT_INDENT_2, OPT_NON_STR_KEYS, OPT_PASSTHROUGH_SUBCLASS,
OPT_SORT_KEYS, OPT_STRICT_INTEGER, ...). Unlike orjson, dumpb does not
serialize dataclasses, datetime, date, time, UUID, numpy arrays or
orjson.Fragment itself: they go to default, as if
OPT_PASSTHROUGH_DATACLASS and OPT_PASSTHROUGH_DATETIME were set, and the
options that concern only these types are accepted and have no effect.
minify: strip whitespace without parsing
fastsimdjson.minify(b'{ "a" : [1, 2] }') # b'{"a":[1,2]}'
minify(data) removes insignificant whitespace (spaces, tabs, newlines and
carriage returns outside of strings) and returns bytes. It accepts bytes,
bytearray, memoryview and str. It does not parse the document and does
not validate it: numbers, escapes, duplicate keys and key order are left as
they are, and input that is not valid JSON is minified the same way. An
unterminated string raises JSONDecodeError (the minifier does not report
where the string started, so the position is 0). The call releases the GIL.
dumpb_many: NDJSON, on several threads
data = fastsimdjson.dumpb_many(records) # b'{...}\n{...}\n'
data = fastsimdjson.dumpb_many(records, threads=16) # free-threaded Python
dumpb_many(records, default=None, option=None, *, threads=None) returns
the records (a list, a tuple or any iterable) as NDJSON bytes: each record
as dumpb writes it, followed by a newline, so that the output reads back
with loads_many(data, format="lines"). default and option are those of
dumpb, except OPT_INDENT_2, which would spread a record over several
lines (ValueError); OPT_APPEND_NEWLINE changes nothing.
On free-threaded Python, threads=N writes chunks of records on N threads at
once (threads=0 or None: one per processor), with the worker threads of
map_many. The output and the errors are those of one thread: when records
cannot be serialized, the error of the first of them is raised (default may
then have been called on later records, in other threads, and it must be
safe to call from several threads at once). With the GIL, the calling thread
does all the work. Like dumpb, dumpb_many does not crash when other
threads change the records meanwhile, but the output then reflects some of
the changes and not others.
Files
with open("data.json", "rb") as f:
doc = fastsimdjson.load(f) # like json.load: f.read(), then loads
doc = fastsimdjson.load_file("data.json")
view = fastsimdjson.parse_file("data.json") # lazy, like parse
load_file(path) and parse_file(path) accept a str, bytes or
os.PathLike path and raise OSError (e.g. FileNotFoundError) when the
file cannot be read.
loads_many and parse_many: streams of documents
for record in fastsimdjson.loads_many(open("log.ndjson", "rb").read()):
...
for view in fastsimdjson.parse_many(data): # lazy views, like parse
...
Both return an iterator over the documents of data (bytes, bytearray,
memoryview or str). The format keyword selects how documents are
separated:
format |
input |
|---|---|
"whitespace" (default) |
documents separated by white space, including NDJSON and JSON Lines |
"lines" |
one document per line (NDJSON, JSON Lines) |
"json_seq" |
RFC 7464 JSON text sequences (each document preceded by \x1e) |
"comma" |
documents separated by commas: {...}, {...} (simdjson also accepts white space between them) |
"array" |
the elements of one array: [{...}, {...}] |
To read a file without copying it, map it in memory:
import mmap
with open("log.ndjson", "rb") as f, mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) as m:
names = fastsimdjson.map_many(fn, memoryview(m), threads=64)
A memoryview of bytes, or of a file mapped with mmap.ACCESS_READ (as
here), is read in place, and the mapped file must not change meanwhile;
other buffers (a bytearray, a view of a writable mmap) are copied first.
simdjson parses the input in batches (batch_size, 1 MB by default); a
larger document is handled automatically. In every format, documents that
simdjson rejects are handled as in loads: a document that json accepts is
returned, otherwise JSONDecodeError reports json's message and the
position in the whole input. A truncated last document is an error. The
views returned by parse_many remain valid after the iterator moves on.
Streams on several threads: threads=N and map_many
On free-threaded Python (3.14t and newer), a stream can be parsed by several threads at once:
docs = fastsimdjson.loads_many(data, threads=16) # a list, in order
views = fastsimdjson.parse_many(data, threads=16) # a list of views
# fn runs in the threads too, on each document; its results, in order:
scores = fastsimdjson.map_many(score, data, threads=16)
With threads, loads_many and parse_many return a list of all the
documents instead of an iterator. map_many(fn, data, **kw) returns
[fn(doc) for doc in loads_many(data, **kw)] (parse_many with
lazy=True), with fn called in the threads. threads=0 (or None) uses
one thread per processor; small inputs use fewer threads (about one per
512 KB). The workers share one counter. Each claims the next 256 KB and
moves both ends forward to a newline (to the next \x1e for json_seq);
the pieces are adjacent. On lines and json_seq a document is never cut,
and one longer than 256 KB is parsed with the piece that started before it.
threads works with the formats "whitespace", "lines" and "json_seq".
The results, and the exceptions, are those of one thread: when a chunk
contains an error or a document that only json accepts, the documents
before it are kept and the rest is parsed in the calling thread, as without
threads. An exception raised by fn is raised again, for the first document
where it happened; fn may then have been called on later documents, in
other threads, and it must be safe to call from several threads at once.
The worker threads are started by the first call that needs them and kept
for later calls (they wait, detached from the interpreter, between calls,
and stop at exit). map_many scales best: each document is built, used and
freed in the same thread, and only fn's results come back. loads_many must return every
document, and the Python objects of all of them, to the calling thread.
With the GIL (the default build of Python), the calling thread does all the
work: threads has no effect on speed.
With drop_none=True, map_many leaves out the results that are None:
when fn keeps only a few documents, the threads do not build a list
entry for each of the others, and the calling thread has fewer to collect.
def starred(event):
kind, repo = event
return repo if kind == "WatchEvent" else None
names = fastsimdjson.map_many(starred, data, threads=64, drop_none=True,
fields=["/type", "/repo/name"])
Only some fields: fields=
When you need a few values from each document, fields extracts them
without building the documents: only the values found become Python
objects.
events = fastsimdjson.loads_many(data, fields=["/type", "/payload/action"])
# (type, action) for each document
def count(t):
kind, action, language = t
...
fastsimdjson.map_many(count, data, threads=64,
fields=["/type", "/payload/action",
"/payload/pull_request/base/repo/language"])
loads_many and map_many accept fields: a JSON Pointer (RFC 6901), or a
list or tuple of them. Each document then becomes the value at the pointer,
or a tuple of the values at the pointers, in order. A value that is an
object or an array is built in full. A pointer that leads nowhere (a
missing key, an index past the end, or a step into a scalar) gives
default, None unless you pass another value; a JSON null gives None.
As with at_pointer, a key that appears twice in an object refers to its
first occurrence. fields cannot be combined with lazy=True.
With the formats "whitespace" and "lines", fields reads the documents
with simdjson's On-Demand API: the top level of each document, the keys on
the way to the pointers and the values found there are read and validated,
so a malformed or incomplete document is still an error. The values that no
pointer reaches are skipped without being checked, so an invalid value
elsewhere in a document ({"a": 1, "b": tru} with fields="/a") goes
unnoticed. A value that is read is handled as without fields: an error
raises JSONDecodeError, and a document that only json accepts is decoded
by json. The whole documents are parsed (and validated) with the other
formats, and when a pointer is "" or leads into the value of another
pointer (["/a", "/a/b"]).
On 7.6 GB of GitHub events, map_many with three fields ran at 3.0 GB/s on
one core of an Intel Xeon Gold 6548N, against 1.8 GB/s with lazy views
(lazy=True). With 64 threads (free-threaded Python 3.14.10t), it ran at
113 GB/s (lazy views: 81 GB/s).
Arrow: loads_arrow, load_arrow_file and dumpb_arrow
import pyarrow as pa
table = pa.table(fastsimdjson.loads_arrow(data)) # inferring the schema
schema = pa.schema([("id", pa.int64()), ("name", pa.string())])
table = pa.table(fastsimdjson.load_arrow_file("log.ndjson", schema, threads=8))
frame = polars.DataFrame(fastsimdjson.loads_arrow(data, schema))
data = fastsimdjson.dumpb_arrow(table) # b'{"id":1,"name":"x"}\n...'
data = fastsimdjson.dumpb_arrow(frame, threads=8) # a polars.DataFrame
loads_arrow(data, schema=None, *, block_size=1048576, error_on_unknown_fields=False, validate_skipped=True, threads=None) reads
NDJSON (one object per record) into Arrow record batches. The input is
bytes, bytearray, memoryview or str, read in place.
load_arrow_file(path, ...) maps the file in memory and reads it the same way
(the file must not shrink meanwhile). Both return a fastsimdjson.ArrowStream,
which goes to any library that supports the Arrow PyCapsule
interface,
without a copy: pyarrow.table(s), pyarrow.RecordBatchReader.from_stream(s),
polars.DataFrame(s), duckdb.from_arrow(s)... Like a RecordBatchReader,
it hands over its batches once (ValueError afterwards); pyarrow.schema(s)
gives its schema at any time, and s.num_rows the number of records (None
once the batches are taken). fastsimdjson does not depend on pyarrow.
- The schema is a
pyarrow.Schema(or any object with__arrow_c_schema__) whose fields are booleans, 64-bit integers, unsigned 64-bit integers, doubles, strings, timestamps, structs and lists of these, or null. A field absent from a record is null; a key absent from the schema is skipped, or an error witherror_on_unknown_fields=True. Skipped values are checked to be valid JSON, unlessvalidate_skipped=False(then only their structure is). - Without a schema, it is inferred as pyarrow's JSON reader does:
null,true/false, integers that fit in 64 bits (int64), other numbers (double), strings, objects (structs, with the union of their fields in order of first appearance) and arrays (lists). A field of nulls takes the type of its other values and integers become doubles next to other numbers; other mixes of types raiseValueError. Strings stay strings (no timestamps). - A timestamp field (
pa.timestamp("us", tz="UTC"), any unit, with or without a time zone) reads ISO 8601 strings, such as thecreated_atof GH Archive events ("2015-01-01T15:00:00Z"): a date (a four-digit year), then optionally a time (Tor a space, then15,15:00,15:00:00or15:00:00.123456), then optionallyZor an offset (+05:00). A time withoutZor an offset is UTC. An integer is a count of units since 1970. As withpyarrow.json.read_json(which returns the same table from the strings it accepts; a lowercasetorzand a comma before the fraction are accepted here too), a fraction with more digits than the unit raisesValueError, as does an invalid date. Reading the timestamps costs next to nothing: GH Archive withcreated_atastimestamp[us, UTC]reads at 2.11 GB/s on one core, as with strings, against 0.45 GB/s for pyarrow and 0.21 GB/s for polars. - A new batch starts every
block_sizebytes of input. Withthreads=N(threads=0orNone: one per processor), N threads read blocks ofblock_sizebytes, cut at line ends: a record must then fit on one line. When that fails, the input is read again on one thread, so that the errors (ValueError, with the record number and the field) are the same with any number of threads.
dumpb_arrow(data, *, write_nulls=True, threads=None) writes Arrow data as
NDJSON bytes, one object per row: a pyarrow.Table, RecordBatch,
RecordBatchReader or StructArray, a polars.DataFrame, a DuckDB
relation, an ArrowStream, or any object with __arrow_c_stream__ or
__arrow_c_array__. It writes integers of 8 to 64 bits, floats and doubles
(as dumpb writes them, NaN and infinities as null), booleans, strings
(including large strings and string views), timestamps (ISO 8601 in UTC,
"2015-01-01T15:00:00.250000Z", with Z when the timestamp has a time zone
and the fraction when it is not zero), dates ("2015-01-01"), structs and
lists (including large and fixed-size lists); other types raise
ValueError. With
write_nulls=False, null fields are omitted. With threads=N, N threads
write ranges of rows into the result. The output reads back with
loads_arrow, and with loads_many(data, format="lines"), except for
timestamps and dates outside the years 0000 to 9999: their year is written
with more digits or a minus sign, which loads_arrow does not read (nor
does pyarrow).
These functions release the GIL and run their threads outside Python, with or without free threading. They are built on simdjson_arrow, a C++ library (vendored).
MessagePack: json_to_msgpack and msgpack_to_json
packed = fastsimdjson.json_to_msgpack(b'{"id": 1, "tags": ["a", "b"], "score": 2.5}')
# b'\x83\xa2id\x01\xa4tags\x92\xa1a\xa1b\xa5score\xcb@\x04\x00\x00\x00\x00\x00\x00'
msgpack.unpackb(packed) # {'id': 1, 'tags': ['a', 'b'], 'score': 2.5}
fastsimdjson.msgpack_to_json(packed) # b'{"id":1,"tags":["a","b"],"score":2.5}'
stream = fastsimdjson.json_to_msgpack(ndjson, ndjson=True, threads=8) # one value per document
lines = fastsimdjson.msgpack_to_json(stream, stream=True, threads=8) # NDJSON again
json_to_msgpack(data, *, ndjson=False, block_size=1048576, threads=None)
converts JSON (bytes, bytearray, memoryview or str, read in place) to
MessagePack bytes in the most compact encoding: the same bytes as
msgpack.packb(json.loads(data)) (but for duplicate keys, which
json.loads drops, and integers beyond 64 bits). Integers take the smallest integer encoding
(integers beyond 64 bits become doubles), other numbers are doubles, and
strings, arrays and objects take the smallest header for their size; keys keep
their order, duplicates too. With ndjson=True, the input holds documents
separated by whitespace (NDJSON, JSON Lines), and each becomes one MessagePack
value, one after the other.
msgpack_to_json(data, *, stream=False, validate_utf8=True, binary_as_base64=True, ext_as_null=False, block_size=1048576, threads=None)
converts MessagePack (any bytes-like object) to compact JSON bytes. Floats
get the shortest representation that gives them back, as Python's repr
(1.0, not 1; 1e-05; NaN and infinities as null), binary values as base64 strings, map keys that are not strings as
strings ("1", "true", "null"); extension values (timestamps too) raise
ValueError, or become null with ext_as_null=True. Strings must be valid
UTF-8 (unless validate_utf8=False). With stream=True, the input holds a
sequence of values (what json_to_msgpack(..., ndjson=True) or several
msgpack.packb calls give), and each becomes one line of NDJSON.
- Invalid input raises
ValueError:"TAPE_ERROR: ... (document 12)"for JSON,"truncated string (byte 1234)"for MessagePack. - With
threads=N(threads=0orNone: one per processor), NDJSON and streams are converted on N threads, in blocks of aboutblock_sizebytes. A JSON document must then fit on one line; when that fails, the input is converted again on one thread, so that errors are the same with any number of threads. Single documents use one thread. - The functions release the GIL and run their threads outside Python, with or
without free threading, and write their result straight into the
bytesobject (no copy). No Python object is made from the data.
They are built on simdjson_msgpack, a C++ library (vendored).
Threads and free-threaded Python
The module is marked free-threading compatible (Py_MOD_GIL_NOT_USED on
Python 3.13 and newer), so importing it on a free-threaded build does not
re-enable the GIL. It is tested with many threads parsing, serializing and
sharing views and stream iterators on free-threaded Python 3.14 and 3.15.
bytes and str inputs are read in place. A bytearray or memoryview
could be changed by another thread while we read it, so it is copied first:
always by loads_many, parse_many and map_many (the iterator outlives
the call) and by loads_arrow, json_to_msgpack and msgpack_to_json
(which release the GIL), and only on a free-threaded build by loads and
parse. The exception: loads_many, parse_many and map_many read a
read-only, contiguous memoryview of bytes, or of a file mapped with
mmap.ACCESS_READ, in place (the file must not change meanwhile). Other
read-only views (memoryview(bytearray).toreadonly(), a read-only view of a
writable mmap) are copied, since what they show can still change. Likewise, on a free-threaded build, dumps and dumpb hold
references to the items of the containers they serialize.
release
release() frees the simdjson parser and the string caches kept by the
calling thread. On free-threaded Python, it also has the idle worker threads
of the parallel streams (threads=N) free theirs; a worker busy with a
stream of another thread does so when it is done. Views returned by parse
remain valid.
Build and test
Python 3.10 or newer, and a C++17 compiler (clang, GCC or MSVC). The simdjson
5.1.1 and simdutf 9.2.1 amalgamations, simdjson_arrow 0.1.5 (NDJSON to Arrow
and back: simdjson_arrow.h and simdjson_arrow.cpp) and simdjson_msgpack
0.1.1 (JSON to MessagePack and back: simdjson_msgpack.h and
simdjson_msgpack.cpp), both under the Apache-2.0 license, are already in
vendor/. simdjson_arrow includes zmij 1.2 (shortest float formatting, MIT
license), which simdjson_msgpack, dumps and dumpb also use
(vendor/zmij.h).
The tests of the Arrow functions (tests/test_arrow.py) run when pyarrow is
installed (and polars, for one of them); otherwise they are skipped.
pip:
python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U pip setuptools
python -m pip install -e ".[test]"
pytest tests
uv:
uv venv
. .venv/bin/activate
uv pip install -e ".[test]"
pytest tests
Either one builds the extension and makes import fastsimdjson work in the
virtualenv. uv uses the setuptools build requirement from pyproject.toml,
so it does not need a separate setuptools install for this path.
To compile the extension in the tree instead, install setuptools and pytest into the same virtualenv, then:
python -m pip install setuptools pytest
python setup.py build_ext --inplace
PYTHONPATH=src python -m pytest tests
uv pip install setuptools pytest
python setup.py build_ext --inplace
PYTHONPATH=src python -m pytest tests
Recent setuptools copies the .so next to src/fastsimdjson.cpp, which is
why PYTHONPATH=src is required for the in-place build.
tests/test_loads.py compares loads with json.loads on types and key
order; tests/test_lazy.py checks the views returned by parse the same way,
tests/test_dumps.py compares dumps with json.dumps and dumpb with
orjson (output and exceptions; the orjson comparisons are skipped when orjson
is not installed, and recorded orjson results are checked either way), and
tests/test_stream.py and tests/test_files.py cover streams and files, and
tests/test_minify.py covers minify. The suite
covers scalars, integers past 64 bits, UTF-8 strings at every length from 0 to
199, the key cache, random documents, rejected input, deep
nesting, padding at a page boundary, a saturated array count, reference
counts, and release of a parser that has grown past 64 MB. The corpus test
is skipped until simdjson-data is checked out beside the project:
git clone --depth 1 https://github.com/simdjson/simdjson-data.git
pytest tests
# or: JSONDIR=/path/to/jsonexamples pytest tests
The suite builds an ~80 MB document and a list of 16,777,221 integers, so give it some RAM.
The benchmark scripts need simdjson-data and the bench extra (orjson,
jiter, msgspec, pysimdjson, cysimdjson). bench.py times loads against
json.loads, orjson and jiter, bench_lazy.py times parse against pysimdjson and
cysimdjson, bench_dumps.py times dumps against json.dumps and dumpb
against orjson and msgspec, bench_many.py times loads_many, and
bench_minify.py times minify against parsing and serializing again.
pip:
python -m pip install -e ".[bench]"
python bench.py
python bench_lazy.py
python bench_dumps.py
python bench_many.py
python bench_minify.py
uv:
uv pip install -e ".[bench]"
python bench.py
python bench_lazy.py
python bench_dumps.py
python bench_many.py
python bench_minify.py
Benchmarks
Intel Xeon Gold 6548N (Emerald Rapids), one core unless stated otherwise, Python 3.14.10 (free-threaded Python 3.14.10t for the streams on several threads), fastsimdjson 2.0.1 (simdjson 5.1.1) built with GCC 16.2, the 22 files of simdjson-data. The scripts are in this repository and in the blog repository.
Whole documents
Each parser produces the whole document as Python objects. Speed is the geometric mean over the 22 files (higher is better).
| parser | GB/s | vs json.loads |
|---|---|---|
| json (standard library) | 0.22 | 1.00× |
| simplejson 4.3.0 | 0.23 | 1.04× |
| python-rapidjson 1.26 | 0.24 | 1.08× |
| ujson 6.1.0 | 0.37 | 1.65× |
| cysimdjson 26.27 | 0.43 | 1.95× |
| pysimdjson 8.0.0 | 0.44 | 1.99× |
| jiter 0.19.0 (no string cache) | 0.44 | 1.99× |
| msgspec 0.22.0 | 0.53 | 2.38× |
| jiter 0.19.0 (string cache, the default) | 0.54 | 2.44× |
| orjson 3.13.0 | 0.60 | 2.70× |
fastsimdjson loads |
0.77 | 3.47× |
fastsimdjson is the fastest on 21 of the 22 files. orjson is 13% faster on
numbers.json, an array of floating-point numbers. On numbers, both spend
most of their time creating Python floats, which costs the same in both:
simdjson parses the numbers of these files faster than orjson's parser
(yyjson), but that is a small part of the total. Part of the gain comes from
pausing the garbage collector while the objects are built. fastsimdjson's
lead over orjson is 1.28× with the collector enabled and 1.17× with it
disabled (geometric means); without the collector, orjson is also 4 to 5%
faster on canada.json and mesh.json. yyjson 4.0.6 is left out: it
returns wrong strings for non-ASCII text. jiter (the parser of pydantic)
caches strings by default; turning the cache off (cache_mode=False) makes it
slower here.
Parsing is no longer the bottleneck. simdjson alone parses these files at
3.1 GB/s. It accounts for about a third of the time of loads; the rest goes
into creating Python objects. Freeing those objects later costs about a sixth
of the total. Even if parsing took no time at all, loads would be less than
1.5 times faster.
Parts of documents with parse
If you only need a few values, parse creates only those. Extracting the id
and the screen name of the 100 statuses of twitter.json:
| method | µs |
|---|---|
json.loads |
3977 |
| jiter (no string cache) | 1580 |
| jiter (string cache) | 1148 |
| orjson | 981 |
fastsimdjson loads |
843 |
msgspec (typed Struct) |
336 |
| cysimdjson (lazy) | 235 |
| pysimdjson (lazy) | 170 |
fastsimdjson parse |
156 |
Here parse is about 25 times faster than json.loads and 5.4 times faster
than loads. Most of its time is the simdjson parse itself.
Typed decoding
loads(data, type=T) against msgspec (msgspec.json.Decoder(T) with the
same dataclasses, and with the equivalent msgspec.Struct classes), pydantic
(TypeAdapter(...).validate_json, with the equivalent models) and
cattrs.structure(orjson.loads(data), T). Three cases:
- twitter:
twitter.jsonas a dataclass of 100 statuses, six fields of each status and four of its user, the rest skipped. - citm:
citm_catalog.jsontyped in full (dicts of dataclasses, lists of nested dataclasses). - gh: 64 MB of GH Archive events (NDJSON), six fields of each event
(
loads_many(data, type=T), one call per line for the others).
MB/s, one core of an Intel Xeon Gold 6548N, Python 3.14.10, best of 3 runs
of 7 (python bench_typed.py simdjson-data/jsonexamples gharchive.ndjson):
| citm | gh | ||
|---|---|---|---|
fastsimdjson loads(type=) |
2594 | 996 | 2055 |
| msgspec (Struct) | 1530 | 636 | 1295 |
| msgspec (dataclass) | 1431 | 470 | 1158 |
| pydantic 2.14 | 662 | 192 | 517 |
| orjson + cattrs | 567 | 187 | 420 |
fastsimdjson loads (dicts, untyped) |
932 | 1066 | 432 |
fastsimdjson is 1.6 to 1.7 times as fast as msgspec with Structs, 1.8 to 2.1 times as fast with the same dataclasses, and 3.9 to 5.2 times as fast as pydantic. When most of the document is not needed (twitter, gh), typed decoding is also 2.8 to 4.8 times as fast as building the dicts.
On free-threaded Python 3.14.10t, loads_many(data, type=T, threads=N) read
the 886 MB GH Archive file into dataclasses at 1.82 GB/s on one thread,
12.6 GB/s on 8, 41.8 GB/s on 32 and 49.8 GB/s on 64.
dumps against json.dumps
dumps returns exactly the str of json.dumps and is 4.3 times faster
(geometric mean over the 22 files; from 2.7 times on citm_catalog.json to
10.4 times on canada.json).
dumpb against orjson and msgspec
dumpb, orjson.dumps and msgspec.json.encode produce compact UTF-8
bytes; dumpb and orjson produce identical bytes on every file. With the
standard library, the same compact bytes come from
json.dumps(obj, separators=(",", ":"), ensure_ascii=False).encode().
Each call encodes a fresh copy of the document (bench_dumps.py), so no
encoder gains from what it cached on the objects at a previous call. One
core of an Intel Xeon Gold 6548N, Python 3.14.10, GCC 16.2, fastsimdjson
2.0.1, orjson 3.13.0, msgspec 0.22.0. Microseconds:
| file | json.dumps(...).encode() |
fastsimdjson dumpb |
orjson | msgspec |
|---|---|---|---|---|
| 1859 | 259 | 313 | 385 | |
| citm_catalog | 3129 | 642 | 675 | 724 |
| github_events | 213 | 22 | 20 | 32 |
| gsoc-2018 | 12129 | 953 | 1273 | 2100 |
| update-center | 2679 | 328 | 320 | 532 |
| canada | 37695 | 2781 | 2478 | 3986 |
| mesh | 8962 | 875 | 1055 | 1405 |
| numbers | 2478 | 201 | 201 | 334 |
Over the 22 files, dumpb is 9% faster than orjson (geometric mean), from
11% slower on canada.json (mostly floating-point numbers) and up to 6%
slower on the smallest files (twitter_api_response.json,
github_events.json) to 34% faster on gsoc-2018.json, whose strings are
mostly not ASCII, and on semanticscholar-corpus.json. dumpb is
1.5 times faster than msgspec (orjson 1.4 times) and 8 times faster than
json. The comparison was run on a processor
with AVX-512, which dumpb and orjson both use to escape strings; other x64
processors use SSE2 and ARM processors NEON.
minify
minify only removes whitespace. The other columns parse the document and
serialize it again, which also validates it and rewrites numbers. Geometric
mean over the 22 files, one core of an Intel Xeon Gold 6548N, Python 3.14.10,
GCC 16.2, orjson 3.13.0 (bench_minify.py):
| method | GB/s |
|---|---|
fastsimdjson minify |
18.58 |
loads + dumpb |
0.54 |
orjson loads + dumps |
0.44 |
json.loads + json.dumps |
0.11 |
Per file, minify runs from 15.7 GB/s (repeat.json) to 20.3 GB/s
(numbers.json).
Writing NDJSON with dumpb_many
The 593,945 events of two hours of GH Archive
(1.87 GB of NDJSON), written back as NDJSON from Python objects. With the
GIL (Python 3.14.10), one thread: orjson.dumps on each record, joined, runs
at 0.93 GB/s, dumpb on each record at 0.93 GB/s, and dumpb_many at
1.49 GB/s. On free-threaded Python 3.14.10t, GB/s (up to 32 threads on the
cores of one socket, 64 on both):
| threads | 1 | 8 | 32 | 64 |
|---|---|---|---|---|
dumpb_many(records, threads=N) |
1.45 | 5.6 | 11.2 | 10.3 |
NDJSON to Arrow and back
Two files: 4 million flat records (611 MB, 9 scalar fields), and 304,929 GH
Archive events (886 MB), read with a schema of 6 of their fields (two of them
structs; the rest of each event is skipped), or inferring the schema. Reading
gives a pyarrow.Table (pyarrow.table(fastsimdjson.loads_arrow(data, schema, threads=N))); the time includes the import into pyarrow. Writing
starts from that table: fastsimdjson dumpb_arrow, polars write_ndjson and
DuckDB COPY ... TO (on tmpfs). Python 3.14.10, pyarrow 26.0, polars 2.1,
DuckDB 2.0, fastsimdjson 2.0.1, Intel Xeon Gold 6548N (up to 32 threads on
the 32 cores of one socket; 64 threads on both sockets).
All the numbers, in GB/s:
| threads | 1 | 8 | 32 | 64 | |
|---|---|---|---|---|---|
| flat, read | fastsimdjson loads_arrow |
0.79 | 5.7 | 14.7 | 17.5 |
pyarrow read_json |
0.18 | 1.4 | 5.2 | 7.6 | |
polars read_ndjson |
0.27 | 1.9 | 4.0 | 3.1 | |
| flat, read, inferring the schema | fastsimdjson loads_arrow |
0.78 | 5.6 | 14.0 | 12.6 |
pyarrow read_json |
0.18 | 1.3 | 5.0 | 6.6 | |
polars read_ndjson |
0.09 | 0.12 | 0.12 | 0.12 | |
| GH Archive, read | fastsimdjson loads_arrow |
1.98 | 12.6 | 28.6 | 24.5 |
pyarrow read_json |
0.46 | 3.5 | 12.3 | 14.2 | |
polars read_ndjson |
0.54 | 3.5 | 3.9 | 3.0 | |
| flat, write | fastsimdjson dumpb_arrow |
0.92 | 3.6 | 9.5 | 11.3 |
| polars | 0.45 | 1.1 | 1.5 | 1.4 | |
| DuckDB | 0.32 | 2.3 | 4.9 | 3.6 | |
| GH Archive, write | fastsimdjson dumpb_arrow |
1.07 | 3.0 | 4.6 | 4.3 |
| polars | 0.46 | 0.51 | 1.0 | 0.64 | |
| DuckDB | 0.32 | 1.2 | 1.2 | 0.99 |
load_arrow_file on the same files, from the page cache, reads at 0.70 and
1.5 GB/s on one thread, 9.1 and 12.6 GB/s on 32 threads. The benchmark is
THREADS=N python bench_arrow.py flat.ndjson:flat gharchive.ndjson:gh flat.ndjson:infer; path:infer times any NDJSON file without a schema. The
flat file comes from
simdjson_arrow's benchmarks/gendata.py
and the events from GH Archive
(curl -sSfL https://data.gharchive.org/2024-03-13-12.json.gz | gunzip > gharchive.ndjson).
The charts come from python doc/make_charts.py arrow.
JSON to MessagePack and back
From JSON bytes to MessagePack bytes, and back, against the usual ways in
Python, which decode into Python objects, then encode them:
ormsgpack.packb(orjson.loads(s)), msgspec.msgpack.encode(msgspec.json.decode(s))
and so on. The 22 files of simdjson-data, geometric means of the speeds, in
GB/s of JSON (read when writing MessagePack, written when writing JSON).
Python 3.14.10, msgpack 1.2, orjson 3.13, ormsgpack 1.13, msgspec 0.22, Intel
Xeon Gold 6548N, one core.
Streams: the 304,929 events of an hour of GH Archive (886 MB of NDJSON), with
json_to_msgpack(data, ndjson=True, threads=N) and
msgpack_to_json(packed, stream=True, threads=N), against orjson with
ormsgpack (each document) and msgpack.Unpacker with orjson (each value), on
one thread (one thread per core of one socket up to 32 threads, then both
sockets):
| threads | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
|---|---|---|---|---|---|---|---|
| NDJSON to MessagePack | 1.32 | 2.45 | 4.8 | 8.7 | 14.1 | 16.1 | 22.2 |
| MessagePack to NDJSON | 1.51 | 2.27 | 4.4 | 6.0 | 6.0 | 6.0 | 5.9 |
MessagePack to NDJSON stops scaling at about eight threads: one thread must
find where the values end (MessagePack has no line ends) before the others
can convert them. The benchmark is python bench_msgpack.py (the files of
JSONDIR, by default simdjson-data/jsonexamples) and
python bench_msgpack.py --ndjson gharchive.ndjson 1 8 32; the charts come
from python doc/make_charts.py msgpack.
Streams with loads_many
20 MB of NDJSON (5268 objects and arrays, one per line), made from the same files; best of three runs:
| method | ms | GB/s |
|---|---|---|
json.loads on each line |
163 | 0.12 |
| jiter on each line (no string cache) | 94 | 0.21 |
| jiter on each line (string cache) | 84 | 0.24 |
msgspec decode on each line |
74 | 0.27 |
| orjson on each line | 74 | 0.27 |
fastsimdjson loads on each line |
58 | 0.34 |
msgspec decode_lines |
55 | 0.36 |
fastsimdjson loads_many |
49 | 0.40 |
fastsimdjson parse_many (views only) |
17 | 1.14 |
loads_many is 13% faster than msgspec's decode_lines. parse_many only creates the views; reading values from them adds to
its time.
Streams on several threads
300 MB of NDJSON (146,624 records: tweets, GitHub events, citm performances, gsoc and update-center entries), free-threaded Python 3.14.10t, collector disabled (see below), Intel Xeon Gold 6548N (64 cores); GB/s:
| threads | 1 | 2 | 4 | 8 | 16 | 32 | 64 |
|---|---|---|---|---|---|---|---|
map_many(len, data, threads=N) |
0.91 | 1.42 | 2.33 | 4.17 | 6.16 | 10.0 | 17.6 |
parse_many(data, threads=N) |
1.70 | 3.02 | 4.15 | 5.52 | 10.5 | 16.0 | 21.1 |
loads_many(data, threads=N) |
0.76 | 1.55 | 2.60 | 4.37 | 7.57 | 10.9 | 10.8 |
map_many is 19 times faster on 64 threads than on one, and parse_many 12
times. loads_many builds every document for the calling thread and is 14
times faster. On 64 threads, these numbers vary by up to a third from one
run to the next. With the collector enabled,
Python collects after the call returns: it examines the millions of objects
just created, which takes about 0.1 s here, with or without threads.
Limitations
- The simdjson parser and the key and string caches are thread-local.
release()frees the parser and the cached strings retained by the calling thread and by the worker threads of the parallel streams, and they are freed when a Python thread exits. A parser that grows past 64 MB is freed on its own at the end of that call; its caches stay. - On free-threaded Python, the worker threads of the parallel streams
(
threads=N) are started at the first call that needs them and kept until the interpreter exits: starting threads costs about as much as the parsing. Idle workers wait without using the processor. Each one keeps a parser (about a megabyte) and its caches untilrelease(). Free-threaded CPython also keeps the memory of freed objects for reuse, in the thread that allocated it, rather than returning it to the system (the standardjsonmodule shows the same): after a large threaded call, the process stays larger, and the next calls reuse that memory. - Subinterpreters are not supported: the module keeps per-process state (its types, and per-thread parsers and string caches).
Metadata
Release files for fastsimdjson 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| fastsimdjson-2.0.1.tar.gz | 3.3 MB | Without provenance | Details for fastsimdjson-2.0.1.tar.gz |
Built distributions (wheels)
Total release size: 235.9 MB
Release files / fastsimdjson-2.0.1.tar.gz
| Download URL | fastsimdjson-2.0.1.tar.gz |
|---|---|
| Size | 3.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c43058c0f73212a4687395773e9cba0bffde00b986339bebe76ca7b952e4b250
|
|
BLAKE2b-256 checksum How to use checksums |
ebc5c91d90f7592e1a0523d412914b2936925edd32589f412788d97f69cee2fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-win_amd64.whl |
|---|---|
| Size | 747.7 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d699895339817081c298f8cacb05a9e0c4e0f3601f5760defeb892787c3decdc
|
|
BLAKE2b-256 checksum How to use checksums |
64f44a670f4b9f14ae62e2cc72bf54fbee08fe30cea141b2125146dd8f85eb02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.7 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
402c16ace42375e2dab5b114db39360004c9166d98d62bfcbea5b54325d0b34c
|
|
BLAKE2b-256 checksum How to use checksums |
5d84bf8ff00e193a09373074d068501c3328937211659861f7dc02fe1ccf0cff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
2064b094a2f9f118d9168385d3d15de695be267fa6a6d1a9bf0928c780d87e58
|
|
BLAKE2b-256 checksum How to use checksums |
1a78757cb605568db850cd28e0b49aa4b79806caf9122648e1233bab17b7ed43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
76b0c16e3311b517112aafc75ccc3598961b78bc3574ebfc5b20b88d473fde0e
|
|
BLAKE2b-256 checksum How to use checksums |
f15bb852954ea9bd23b938052cd9652632bff0a451f96fafa698845a3d233ebd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
95d980dff7466e5717e1cab6df6561261ab94dce76a9fcbf0c70bd75131a8e86
|
|
BLAKE2b-256 checksum How to use checksums |
eb2066840f2e57953863aa205e82f8349a33ace786353cbc15fcf3f19e40cf20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-macosx_11_0_arm64.whl |
|---|---|
| Size | 403.5 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
85f292b7f8f5272bfd5485631c340eeb1f0de17e2eaa0e82721f3eff65f42f36
|
|
BLAKE2b-256 checksum How to use checksums |
02b62214a504f5a7b728825eb6a98ff9be5204b05bea8badbf2b07462af2231c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-macosx_10_15_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-macosx_10_15_x86_64.whl |
|---|---|
| Size | 702.3 kB |
| Tags | CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
9b43ab35a52fdcebdeabeb7ac84e957dae889f1956766b6b3b3cdf03a1977de1
|
|
BLAKE2b-256 checksum How to use checksums |
ce92b77798598dda91f2fa1c48db84fe5e8b7cf70802daa6bce8b72d3c204adc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315t-macosx_10_15_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315t-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
bb1734ea4b3fc8ca0a8928e044ea11f656d2db89a50b59fe3f6f949b7a8d2afa
|
|
BLAKE2b-256 checksum How to use checksums |
caedd73dea75319f66da094aba6182e47c5d91a1196fb9804dd9e8bb3b53a7d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-win_amd64.whl |
|---|---|
| Size | 734.1 kB |
| Tags | CPython 3.15 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0e819565c161dbf984c01828e16a10d5aa1987b97937c40f40a9f225578e8139
|
|
BLAKE2b-256 checksum How to use checksums |
2dc28e560412c70ad0ea3b54d3cef9bedbe7a707b79928d47826a44683508de3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-pyemscripten_2026_5_wasm32.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-pyemscripten_2026_5_wasm32.whl |
|---|---|
| Size | 223.9 kB |
| Tags | CPython 3.15 PyEmscripten 2026.5+ WebAssembly |
|
SHA-256 checksum How to use checksums |
9f796e0f80e7f984f967bbad45fb3cd563c324c932c4595bd056f2cddfcc0f73
|
|
BLAKE2b-256 checksum How to use checksums |
6e9c78151b85b6777cfce4e7c170b1ee9b276dd9603da815433273443b5c2d31
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.6 MB |
| Tags | CPython 3.15 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
3a98e6a945d2b0eb954ded23ab4411d0e94cc4a59975d3ae76666635ab7b8745
|
|
BLAKE2b-256 checksum How to use checksums |
5b7dd4a0d78bf232a0c16dc70626c69467f8a502e816c40024d553b6ae9a4e85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.15 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
df87e39b1e57d9db2334a9e336cd0e0ee5ad38fab561fd3060a1d2d7c515f00b
|
|
BLAKE2b-256 checksum How to use checksums |
df96b7e1a0a95b9aa714cb6bcd78b5f2634bc265a1047ca72b223fce299c0e1a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
bfe725186a927fdad2fdb4cb7db0acfc095e4f02b5c63e99dc2b9ee6e4511d2e
|
|
BLAKE2b-256 checksum How to use checksums |
0f424bdbf590e3617d975c7dfdfdae5e66776a65880e8dfc2f9e472a1db4826e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.15 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6544c9a3731b8239e135ad37890bde269b826ddd971a9249e3f0a446f81366d5
|
|
BLAKE2b-256 checksum How to use checksums |
07a4c3a9f73fb6dae541247e6711e7a113885a05ed894709a2c85956e8381fa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-macosx_11_0_arm64.whl |
|---|---|
| Size | 388.8 kB |
| Tags | CPython 3.15 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
23513637c745277c6743a4fe6d6124dc7277dae32965851117ac419b991b1b6b
|
|
BLAKE2b-256 checksum How to use checksums |
94bc55be8e772be3e5b0609ae7b98f3b56a69e8b43ec982febe6a4cb14ba700c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-macosx_10_15_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-macosx_10_15_x86_64.whl |
|---|---|
| Size | 686.1 kB |
| Tags | CPython 3.15 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
a7e55be3e7ca22b4a01c7499dc44d715aedfe1bf918e32192457777a606dbead
|
|
BLAKE2b-256 checksum How to use checksums |
491065f6ecd104c3a46e7c4058feac64e08a7df95f58ff6725b8f8b1b5e8e2bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp315-cp315-macosx_10_15_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp315-cp315-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.15 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
8adfbb29d9c4aa61d17ecb267c00d2ec7bf6aa71ad919d0d975f83c7c78e4420
|
|
BLAKE2b-256 checksum How to use checksums |
467a00999ed275c2e99e257264a11b2ec895873817bbde9b7725f47177737f65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 747.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d7bc1237e0f319fd95e854aeb838f62a7b675aae0184983b8ba5d5b0c6587716
|
|
BLAKE2b-256 checksum How to use checksums |
0f3b34c7ddf4fa4af42cbe5866ff2c84569545a52449a69dff0b99ad229c63a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.7 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
ee48599827aa4343064f0902195cf6e8c6f7611828ab0dd1a17db65043c8ea33
|
|
BLAKE2b-256 checksum How to use checksums |
b6e1cdfc76ab8e546dbe4d6d37d8a8548d24c494a333b7085f23da6442935381
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.4 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
39f1dd376a83d96849a5e2df4d61b5b2f9a90dde53e8be80647f7c6395be670d
|
|
BLAKE2b-256 checksum How to use checksums |
598d1886001e363b953dba353b44faaec5a7ab08c079273200429339e2653d29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5c5152e38ff553d242738c221175bca27217ce343074f7a38606e184733d8526
|
|
BLAKE2b-256 checksum How to use checksums |
d99bb4f9475c62d5ed92e8ed326db43a585d0dcc056b935f98ffe084151e3ec7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
9a04deb17438ae1f05b41c0ebb153ca461351207a4b459d7e6da177d39403ac7
|
|
BLAKE2b-256 checksum How to use checksums |
4fd4d85dacb2b606a50bf11b8c536082448660299d614abe59233035d6e84396
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 403.1 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
51c8bbbe1de49cc4f8c429b10888a9fdd8422a437731a1c9d027fcabfe315c65
|
|
BLAKE2b-256 checksum How to use checksums |
8534896cec92f4e968a0e3358259ce67c6408821a5d04767b419ff2eac7d7fb4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-macosx_10_15_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-macosx_10_15_x86_64.whl |
|---|---|
| Size | 702.4 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
48ffc9f0f5ea3101b55c2a9f927bec508ddee41d9a8518140f4aaec69d1ae836
|
|
BLAKE2b-256 checksum How to use checksums |
3666875826cf0024ce04b15b2eb6733fe9a39e727877f8e6f57f4eff6ad652f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314t-macosx_10_15_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314t-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
e04d5a3f8b1ce7462827b2e2c31f757116e564446bcf5e9c47ed62f96fcd50e0
|
|
BLAKE2b-256 checksum How to use checksums |
997fbbf169d1395013cf753ebeb2e2526a7c3693cdb75ddfeb3f43d7d519bf06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 734.2 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d3d2c5484357edbb04755c12fb9fa75ba80053f1fdb6ce4486e9f6a6297f87ed
|
|
BLAKE2b-256 checksum How to use checksums |
e9c1d8a9ba8d750af5fca7e43b796746e4008f6436ee05233e9c27bbe4d64747
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 224.1 kB |
| Tags | CPython 3.14 PyEmscripten 2026.0+ WebAssembly |
|
SHA-256 checksum How to use checksums |
730ca3dda38e263468f1bf0db9c5d19698d2c1ec64cc2ab577da434105b7b219
|
|
BLAKE2b-256 checksum How to use checksums |
d96e2cd543170c6b5b4373fea0c654eae5ba458b8e77bf39cd1859a138f87f7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.6 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
b4dbde8272f98791f708c295808ff503a74cc56ca3bff898954d09844534171d
|
|
BLAKE2b-256 checksum How to use checksums |
bb5a81572b2ad073823a7f1d2deabde0f9bb7ae0d9049d6133b07b1927ab4ef5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.14 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
132c71c5537ef8eb148e3052ce9f9af92afe6daf549f0f7c12aead8956a1c6b9
|
|
BLAKE2b-256 checksum How to use checksums |
a4ca9375247f8ba7b509df42a4b4b2e05b61b12651b5f87f2114716caf10fe3a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b69835cb2c3685551521fddf1166bd0cfb8d820211a50d67cd7daa3d24ed832f
|
|
BLAKE2b-256 checksum How to use checksums |
f52f33e0b33897690fa966c432bb8fc21e25f12f0b05688d2eca5a5b91470e55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
0023444664e992969ac70f508c685d0823bdd446473a17d8976d2542415e8565
|
|
BLAKE2b-256 checksum How to use checksums |
f06927ca7693030ddfeca88e795f691b2bee3f8f696e90f0a6036f1a5e4583f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 388.7 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f44eca9dd46296c6a8b2cc412e385b9a45bc0943860aab40393f5a3df7778483
|
|
BLAKE2b-256 checksum How to use checksums |
f27e7919cb7f95c19d62b45e5795c8356800eb5fb5d66dca0cc39c36e23818d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 686.1 kB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
f4e71ea65042a9bf648bba211ca4878ed68e277f9e6912cf5be4f394482273ec
|
|
BLAKE2b-256 checksum How to use checksums |
f03b6e93793f65ce9f5e8d49fc8f35342f5c9a7609c83911f30fc4756b255ee8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
08c4b6fffb3f194e46d03c9168498997295e0876c80ddbad00ea316b6f3fc4e2
|
|
BLAKE2b-256 checksum How to use checksums |
f23b55152c88eeb010084e4ce8ed54c1c51c4500b3b30c1543277ea2ba88a267
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 714.2 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
8fe59ca2041e1e40fe1c1e8437065dc4a94a623e74c7c25274003b5a96e26cdc
|
|
BLAKE2b-256 checksum How to use checksums |
996e762d15d26c44a0a8fbdb25f8d7c2b5410e88f9361ca3f2c57aa665cbdb61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-pyemscripten_2025_0_wasm32.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-pyemscripten_2025_0_wasm32.whl |
|---|---|
| Size | 227.7 kB |
| Tags | CPython 3.13 PyEmscripten 2025.0+ WebAssembly |
|
SHA-256 checksum How to use checksums |
0f431c61396272f871f4e2fd61d4af0ca56f9444d770b00345c13947f9ebf93b
|
|
BLAKE2b-256 checksum How to use checksums |
a04cea423300e32522d8cf1de03bfd0371c3ea87d23b7803d315b9802553a4d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.6 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fcde4fdf5c43ef7ca7e728641faeea13799c65fdc2abad345ef9599ec4d03201
|
|
BLAKE2b-256 checksum How to use checksums |
a8c58e5153e431efda77328d121887d470ee1890fda0b60511327adffe02cfaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.13 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
63458082e49ef89beb26f7e3a73e55d805d75096bb20217d30bcb8157386ac18
|
|
BLAKE2b-256 checksum How to use checksums |
25ec9a779200fa96c4c3229a15a174c56a0cbcd3de5467d714c345001938dab7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7833db7930d345d86f177ce2d68e057456a46cca03db885810951ebda10172d8
|
|
BLAKE2b-256 checksum How to use checksums |
2e59925bcbd93967ea3f4ab0839a1e9f4436a6dac3014b4713ebdf31bd378e17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
4bd3871e9393fc8735bd036405d3b1385b058ebe9aeeb9f2e2691071b36b888c
|
|
BLAKE2b-256 checksum How to use checksums |
adc44ee026ea2104c553838784fa579514bb94ef2ca84b685c506f6b0c11122b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 388.5 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
e465f84d57106d3f7ecb13f1122b81fd4bbf88ea63da7ef9052dbc333ecfea43
|
|
BLAKE2b-256 checksum How to use checksums |
99efa1782f5ba71fab6ff15db5aa0737f162c48f4389e3d3e4234260f5c126e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 685.8 kB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
221dbe4ab810a533da97d44a040252ad4292fbabe3d048f9b0bd900327c5284d
|
|
BLAKE2b-256 checksum How to use checksums |
c0978d93c7657abd68a5b784ae8a28e85c4d4ac0e437379d3d565aaef0994042
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
82ef16fc9579ce6f2fda03125b3a707ec19e6280287faa92fc4010a16df6af0d
|
|
BLAKE2b-256 checksum How to use checksums |
4e9b24b867fd92baca74dd214191601415179478e228c72940e0510edf67fc3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 714.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6c67fd9bbd00ae7259d5bd1383f7b434ac730a05ab16dfb66fb859f9a4224825
|
|
BLAKE2b-256 checksum How to use checksums |
137a071dc1869e530ce8f59199d07ef79698464135033d0448917533a13be953
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.6 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a2b2e2ff37c4c4fb7ee56b86613d859e4dba3344d70f7095d47cb77866c7c0df
|
|
BLAKE2b-256 checksum How to use checksums |
1c4259681c3ec24284aec77efe2a20cfb9e2b402c299ab1e515e7cbed9688aaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.12 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
16c82e0f1a82578b6b55ea06b4d2a958b4452c459d72be3d00e0a7032165ccc0
|
|
BLAKE2b-256 checksum How to use checksums |
ba0f90520509585a7d7c9b60a10cb5e4d49f11b609d2462558eb3dc986125147
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6442eb5d1865be1205a3601125f21ae83c1bb59c5a62c2ab6d0cec4f1e32be6f
|
|
BLAKE2b-256 checksum How to use checksums |
2bd5066208e92ed2f7d22ad5b39cddc63abac93c5699ddb0888cbaa51b6520f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
431e40bc1adc8d0ac7400ba98763001aff122491f581e35a0b4a5e7062d00bc0
|
|
BLAKE2b-256 checksum How to use checksums |
31993d6b7dae31269493875041d1585c2ea3b3ce1eb8e23eefb8428248f1a964
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 388.5 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4f29ed68af1a07523def1a7744052eca783407ea4f7ff6df7c40d7801e278b71
|
|
BLAKE2b-256 checksum How to use checksums |
5c5e67c8f75e51db56c82d9a56ccd32f3bede3dbe02cd2a59ad35f802f65e11b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 685.8 kB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
05a7e3d1a3663515da2b96fcea88fc3a8bd87541dcac02aee73e5b5a035a6783
|
|
BLAKE2b-256 checksum How to use checksums |
5e0efa5e43d4e977137aaa1f3be8dbc81c9c8c5798354a26ccabe696f9a29290
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
02ec6be3af83c0e622af4348e71cfe89c793fe8d55da459799e7da909e67d0d1
|
|
BLAKE2b-256 checksum How to use checksums |
4121e37aa9267aa1586cb9871fe7b2d06bae668f2bf773263eace9d2681c2b17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 713.8 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6dcfa92a3e03e545099a17b2a37f10f39dfa1e3bb1bbd75b7059670160183f7d
|
|
BLAKE2b-256 checksum How to use checksums |
ff89ac123b3942507ee8aad849c05bddb93e3b70cce6e5b4a898c031d2e20ca3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.5 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
2468d41b4d1ed761231b7269d4d37302e494f8461f06968b30ae27b1477011e2
|
|
BLAKE2b-256 checksum How to use checksums |
ba7975d859ea8df42f232977da3be9aa31daf6d766229d8c56c6bbb72812166e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.11 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
f73913cc20de834b87948db10ed79c411d8a132d3a093621f92748edbf1f648d
|
|
BLAKE2b-256 checksum How to use checksums |
66f71ba2172b894a20b8b1ec59d6a5d0cd890683120942c862a102089b88465b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0f205531ced66d5bee445b7de9e52a1b8b96cbc2e206f778b23ff72ff2a4871d
|
|
BLAKE2b-256 checksum How to use checksums |
2a43c4a3f205279d28ef176772b1ac03e7f7db519e0ddbf82777b46bdfc72d53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
f625aab0a09a6b9e13d8edda50dcd7e06860f5fb58bbfe9896e00174b2019251
|
|
BLAKE2b-256 checksum How to use checksums |
0fa7a8fdddee8e64dee9fc93f3d3105ca5d53cd7c23870d716dbb8f08c89537b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 389.2 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8bd889ce41d9ae15fdfe8a6c51517d1c2559685ad54f3fd061cc42c06877a6a0
|
|
BLAKE2b-256 checksum How to use checksums |
24a233ed9f8a20cf2310633c4edd13463d92cfc097bb5325f6f8269c0f425dce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 683.0 kB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
37d4e818df807504c06c58b77b5589392ed484109d9227d3972fd1425db9f240
|
|
BLAKE2b-256 checksum How to use checksums |
71d3875580dbce6fb48b2d6d13c752d8888cee9e405ea7889d0020481b72fcae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
83fe174f0c712ebab6cbba9d8a15ee3a72e4c3069058f2a4ad02c7226f1d30ac
|
|
BLAKE2b-256 checksum How to use checksums |
3b33940a7efd2f3d22c6cbb24c6f1913e62d11a6b2030ac2cfa36a077502f878
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-win_amd64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 713.8 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ef92ede40184f1fe4f3d8e12f8a2b63bf5b3ba900f4320a15b0b0531de51cb31
|
|
BLAKE2b-256 checksum How to use checksums |
dd79b30e874de5cb2451f8a31877f9309d135de635664c997f35be6796270521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 8.5 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
39a6d25fa43b0a79d29de19121d9f890ef683d8b08cd6645e2a78f783a3bcf3c
|
|
BLAKE2b-256 checksum How to use checksums |
475ecf45b8d486648616f20aa5795316e7f3bdf427a19c822c2197384fe49713
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 5.3 MB |
| Tags | CPython 3.10 Linux musl 1.2+ ARM64 |
|
SHA-256 checksum How to use checksums |
80848ce36745aa46ca1089b428b47ea52221799bf582bbe9c72151e653ad5d7e
|
|
BLAKE2b-256 checksum How to use checksums |
d79a90d0136ebd6c72a91502351083c46631ee63322ce0986c061a6d406c7083
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e0d207a14ee74b8d67d0dba09d3a9b1596fb5a5d02c33be67836535f53d2db47
|
|
BLAKE2b-256 checksum How to use checksums |
2052517c899452cf0cda56e78f35db690057ad449102f1d58fe08bc5116fca97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.4 MB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
97864f77b427a7710a207bfeb5ba277003116ae2d161991aeb54bde691bf701f
|
|
BLAKE2b-256 checksum How to use checksums |
e106e30c79835b60b93c55646edfc69790648a1e290ef1a9561708297461647a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 390.0 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8a2b91c8b2570e78ec28c1e4894bdb1b7e1988ab69ea0d3ce3efb630b05d9626
|
|
BLAKE2b-256 checksum How to use checksums |
86922e6610ad9bca0e3a54883e7ce7dd4534e359b0780aee7067488d9b23732c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 683.5 kB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
236e1ecfd5dad8002de31b90dd9cf367f771379fd5e32e07415e0d802f1e77bf
|
|
BLAKE2b-256 checksum How to use checksums |
e43f54b8231ca8a3096c98b99bd4407662a0406110567b96f7663045eeaac0ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / fastsimdjson-2.0.1-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | fastsimdjson-2.0.1-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
5998c5b6ce728b4e726cf80e1fd56a2aeda550f0a68044e918f7e5c45e161682
|
|
BLAKE2b-256 checksum How to use checksums |
434aff82f692c0ac3913e456f9023a07fe1d0c876fc0cfdd08a116b3f7a2f278
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for fastsimdjson 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.