Skip to main content

A high-performance Python JSON library that fully leverages modern processor capabilities.

Project description

ssrJSON

PyPI - Version PyPI - Wheel codecov

A SIMD boosted high-performance and correct Python JSON parsing library that fully leverages modern processor capabilities.

Introduction

ssrJSON is a Python JSON library that leverages modern hardware capabilities to achieve peak performance, implemented primarily in C with some components written in C++. It offers a fully compatible interface to Python’s standard json module, making it a seamless drop-in replacement, while providing exceptional performance for JSON encoding and decoding.

How Fast is ssrJSON?

TL;DR: ssrJSON is faster than or nearly as fast as orjson (which announces itself as the fastest Python library for JSON) on most benchmark cases.

ssrJSON is the first JSON parsing library that handles non-ASCII str object directly using SIMD without any translation between str and it's UTF-8 encoding. Other third-party Python JSON libraries are slow when handling non-ASCII strings without UTF-8 cache. (simple_object_zh.json)

Real-world non-ASCII case (twitter.json):

ASCII case I (apache.json):

ASCII case II (github.json):

Floats (canada.json):

Numbers (mesh.json):

ssrjson.dumps() is about 4x-25x as fast as json.dumps() (Python3.14, x86-64, AVX2). ssrjson.loads() is about 2x-8x as fast as json.loads() for str input and is about 2x-8x as fast as json.loads() for bytes input (Python3.14, x86-64, AVX2). ssrJSON also provides ssrjson.dumps_to_bytes(), which encode Python objects directly to bytes object using SIMD instructions, similar to orjson.dumps but without calling slow CPython functions to do the UTF-8 encoding. Typically, ssrJSON is capable of processing non-ASCII strings directly without invoking any slow CPython UTF-8 encoding and decoding interfaces, eliminating the need for intermediate representations. Furthermore, the underlying implementation leverages SIMD acceleration to optimize this process. Details of benchmarking can be found in the benchmark repository. If you wish to run the benchmark tests yourself, you can execute the following commands:

pip install ssrjson-benchmark
python -m ssrjson_benchmark

This will generate a PDF report of the results. If you choose to, you may submit this report to the benchmark repository, allowing others to view the performance metrics of ssrJSON on your device.

Design Goal

The design goal of ssrJSON is to provide a straightforward and highly compatible approach to replace the inherently slower Python standard JSON encoding and decoding implementation with a significantly more efficient and high-performance alternative. If your module exclusively utilizes dumps and loads, you can replace the current JSON implementation by importing ssrJSON as import ssrjson as json. To facilitate this, ssrJSON maintains compatibility with the argument formats of json.dumps and json.loads; however, it does not guarantee identical results to the standard JSON module, as many features are either intentionally omitted or not yet supported. For further information, please refer to the section Features.

Implementation Details

Encoding

The encoding performance of JSON libraries is not significantly limited by CPython, resulting in a very high potential maximum. During string encoding, ssrJSON extensively utilizes SIMD instructions to accelerate copying and conversion operations. The implementation of dumps_to_bytes also tackles challenges related to UTF-8 encoding. ssrJSON includes a comprehensive UTF-8 encoding algorithm optimized for all supported SIMD features as well as Python’s internal string representation format (PyCompactUnicodeObject). For floating-point number encoding, ssrJSON employs a slightly modified version of the DragonBox algorithm, well-known for its high-performance floating-point conversions. When encoding integers, ssrJSON adapts the integer encoding approach from yyjson, a highly optimized C-language JSON parsing library.

Decoding

The main performance bottleneck in JSON decoding is the speed of creating Python objects. To address this, ssrJSON adopts the short-key caching mechanism from orjson, which greatly reduces the overhead of creating Python string objects. For string handling, when the input is a str type, ssrJSON applies SIMD optimizations similar to those used in encoding, speeding up the decoding process. For bytes inputs, ssrJSON uses a customized version of yyjson’s string decoding algorithm. Beyond string handling, ssrJSON extensively leverages yyjson’s codebase, including its numeric decoding algorithms and core decoding logic.

Current Status

ssrJSON is currently operational, although some potentially useful features have yet to be implemented. The development of ssrJSON is still actively ongoing, and your code contributions are highly appreciated.

How To Install

Pre-built wheels are available on PyPI.

pip install ssrjson

Note: ssrJSON requires at least SSE4.2 on x86-64 (x86-64-v2), or aarch64. 32-bit platforms are not supported. ssrJSON does not work with Python implementations other than CPython. Currently supported CPython versions are 3.10, 3.11, 3.12, 3.13, 3.14, 3.15. For Python >= 3.15, you need to build it from source.

Build From Source

Since ssrJSON utilizes Clang's vector extensions, it requires compilation with Clang and cannot be compiled in GCC or pure MSVC environments. On Windows, clang-cl can be used for this purpose. Build can be easily done by the following commands (make sure CMake, Clang and Python are already installed)

# On Linux:
# export CC=clang
# export CXX=clang++
mkdir build
cmake -S . -B build  # On Windows, configure with `cmake -T ClangCL`
cmake --build build

Usage

Basic

>>> import ssrjson
>>> ssrjson.dumps({"key": "value"})
'{"key":"value"}'
>>> ssrjson.loads('{"key":"value"}')
{'key': 'value'}
>>> ssrjson.dumps_to_bytes({"key": "value"})
b'{"key":"value"}'
>>> ssrjson.loads(b'{"key":"value"}')
{'key': 'value'}

Indent

ssrJSON only supports encoding with indent = 2, 4 or no indent (indent=0). When indent is used, a space is inserted between each key and value.

>>> import ssrjson
>>> ssrjson.dumps({"a": "b", "c": {"d": True}, "e": [1, 2]})
'{"a":"b","c":{"d":true},"e":[1,2]}'
>>> print(ssrjson.dumps({"a": "b", "c": {"d": True}, "e": [1, 2]}, indent=2))
{
  "a": "b",
  "c": {
    "d": true
  },
  "e": [
    1,
    2
  ]
}
>>> print(ssrjson.dumps({"a": "b", "c": {"d": True}, "e": [1, 2]}, indent=4))
{
    "a": "b",
    "c": {
        "d": true
    },
    "e": [
        1,
        2
    ]
}
>>> ssrjson.dumps({"a": "b", "c": {"d": True}, "e": [1, 2]}, indent=3)
Traceback (most recent call last):
  File "<python-input>", line 1, in <module>
    ssrjson.dumps({"a": "b", "c": {"d": True}, "e": [1, 2]}, indent=3)
    ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: indent must be 0, 2, or 4

Other Arguments Supported by Python's json

Arguments like ensure_ascii, parse_float provided by json can be recognized but ignored by design.

The functionality of object_hook in json.loads will be supported in future.

Features

Generally, ssrjson.dumps behaves like json.dumps with ensure_ascii=False, and ssrjson.loads behaves like json.loads. Below we explain some feature details of ssrJSON, which might be different from json module or other third-party JSON libraries.

Strings

Code points within the range [0xd800, 0xdfff] cannot be represented in UTF-8 encoding, and the standard JSON specification typically prohibits the presence of such characters. However, since Python's str type is not encoded in UTF-8, ssrJSON aims to maintain compatibility with the Python json module's behavior, while other third-party Python JSON libraries may complain about this. In contrast, for the dumps_to_bytes function, which encodes output in UTF-8, the inclusion of these characters in the input is considered invalid.

>>> s = chr(0xd800)
>>> (json.dumps(s, ensure_ascii=False) == '"' + s + '"', json.dumps(s, ensure_ascii=False))
(True, '"\ud800"')
>>> (ssrjson.dumps(s) == '"' + s + '"', ssrjson.dumps(s))
(True, '"\ud800"')
>>> ssrjson.dumps_to_bytes(s)
Traceback (most recent call last):
  File "<python-input>", line 1, in <module>
    ssrjson.dumps_to_bytes(s)
    ~~~~~~~~~~~~~~~~~~~~~~^^^
ssrjson.JSONEncodeError: Cannot encode unicode character in range [0xd800, 0xdfff] to utf-8
>>> json.loads(json.dumps(s, ensure_ascii=False)) == s
True
>>> ssrjson.loads(ssrjson.dumps(s)) == s
True

Integers

ssrjson.dumps can only handle integers that can be expressed by either uint64_t or int64_t in C.

>>> ssrjson.dumps(-(1<<63)-1)
Traceback (most recent call last):
  File "<python-input>", line 1, in <module>
    ssrjson.dumps(-(1<<63)-1)
    ~~~~~~~~~~~~~^^^^^^^^^^^^
ssrjson.JSONEncodeError: convert value to long long failed
>>> ssrjson.dumps(-(1<<63))
'-9223372036854775808'
>>> ssrjson.dumps((1<<64)-1)
'18446744073709551615'
>>> ssrjson.dumps(1<<64)
Traceback (most recent call last):
  File "<python-input>", line 1, in <module>
    ssrjson.dumps(1<<64)
    ~~~~~~~~~~~~~^^^^^^^
ssrjson.JSONEncodeError: convert value to unsigned long long failed

ssrjson.loads treats overflow integers as float objects.

>>> ssrjson.loads('-9223372036854775809')  # -(1<<63)-1
-9.223372036854776e+18
>>> ssrjson.loads('-9223372036854775808')  # -(1<<63)
-9223372036854775808
>>> ssrjson.loads('18446744073709551615')  # (1<<64)-1
18446744073709551615
>>> ssrjson.loads('18446744073709551616')  # 1<<64
1.8446744073709552e+19

Floats

For floating-point encoding, ssrJSON employs a slightly modified version of the Dragonbox algorithm. Dragonbox is a highly efficient algorithm for converting floating-point to strings, typically producing output in scientific notation. ssrJSON has partially adapted this algorithm to enhance readability by outputting a more user-friendly format when no exponent is present.

Encoding and decoding math.inf are supported. ssrjson.dumps outputs the same result as json.dumps. The input of ssrjson.loads should be "infinity" with lower or upper cases (for each character), and cannot be "inf".

>>> json.dumps(math.inf)
'Infinity'
>>> ssrjson.dumps(math.inf)
'Infinity'
>>> ssrjson.loads("[infinity, Infinity, InFiNiTy, INFINITY]")
[inf, inf, inf, inf]

The case of math.nan is similar.

>>> json.dumps(math.nan)
'NaN'
>>> ssrjson.dumps(math.nan)
'NaN'
>>> ssrjson.loads("[nan, Nan, NaN, NAN]")
[nan, nan, nan, nan]

Limitations

Please note that ssrJSON is currently in the beta stage of development.

Several commonly used features are still under development, including serialization of subclasses of str, the object_hook functionality, and correct error location reporting during decoding. Additionally, ssrJSON will not support encoding or decoding of third-party data structures.

Contributing

Contributions are welcome! Please open issues or submit pull requests for bug fixes, performance improvements, or new features. There will soon be a development documentation.

License

This project is licensed under the MIT License. Licenses of other repositories are under licenses directory.

Acknowledgments

We would like to express our gratitude to the outstanding libraries and their authors:

  • CPython
  • yyjson: ssrJSON draws extensively from yyjson’s highly optimized implementations, including the core decoding logic, the decoding of bytes objects, the integer encoding and number decoding routines.
  • orjson: ssrJSON references parts of orjson’s SIMD-based ASCII string encoding and decoding algorithms, as well as the key caching mechanism. Additionally, ssrJSON utilizes orjson’s pytest framework for testing purposes.
  • Dragonbox: ssrJSON employs Dragonbox for high-performance floating-point encoding.
  • xxHash: ssrJSON leverages xxHash to efficiently compute hash values for key caching.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ssrjson-0.0.7.tar.gz (379.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ssrjson-0.0.7-cp314-cp314-win_amd64.whl (652.1 kB view details)

Uploaded CPython 3.14Windows x86-64

ssrjson-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (660.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

ssrjson-0.0.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (213.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

ssrjson-0.0.7-cp314-cp314-macosx_11_0_universal2.whl (207.4 kB view details)

Uploaded CPython 3.14macOS 11.0+ universal2 (ARM64, x86-64)

ssrjson-0.0.7-cp313-cp313-win_amd64.whl (637.5 kB view details)

Uploaded CPython 3.13Windows x86-64

ssrjson-0.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (660.1 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

ssrjson-0.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (213.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

ssrjson-0.0.7-cp313-cp313-macosx_11_0_universal2.whl (207.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)

ssrjson-0.0.7-cp312-cp312-win_amd64.whl (637.5 kB view details)

Uploaded CPython 3.12Windows x86-64

ssrjson-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (659.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

ssrjson-0.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (213.4 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

ssrjson-0.0.7-cp312-cp312-macosx_11_0_universal2.whl (207.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)

ssrjson-0.0.7-cp311-cp311-win_amd64.whl (631.7 kB view details)

Uploaded CPython 3.11Windows x86-64

ssrjson-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (649.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

ssrjson-0.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (211.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

ssrjson-0.0.7-cp311-cp311-macosx_11_0_universal2.whl (207.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ universal2 (ARM64, x86-64)

ssrjson-0.0.7-cp310-cp310-win_amd64.whl (631.9 kB view details)

Uploaded CPython 3.10Windows x86-64

ssrjson-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (649.2 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

ssrjson-0.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (211.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

ssrjson-0.0.7-cp310-cp310-macosx_11_0_universal2.whl (207.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file ssrjson-0.0.7.tar.gz.

File metadata

  • Download URL: ssrjson-0.0.7.tar.gz
  • Upload date:
  • Size: 379.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7.tar.gz
Algorithm Hash digest
SHA256 b3f3fc1f083265ec49c594d79bbb1b1916d8512354a40fdd1bf08b57d5a4ca32
MD5 7a46ff2e5b486c8c5dfe6d5ae8ef561a
BLAKE2b-256 2a6eab14b516c197b0328fc449930584cce86e32152d6aee2c74ed9d81b42ea2

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: ssrjson-0.0.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 652.1 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 21c90d1aff8e4949526fc0b32251f4b9bdf68457e29f9f8323aea65e0e642f14
MD5 06f504009e6b4d0581e658c2bcc0dbea
BLAKE2b-256 56a6b3720f26c3f1009cf069c177c384d0f50ece116a5c3a45408fa4429f9cab

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 4fc9620f2db022b2b605235891db82f89181cd6361b28ec8caa932114b645b57
MD5 3358a543d725a9fa517bbbc9195e668d
BLAKE2b-256 847389276bcff306e3704fd1d270344ac0d414d07394a66020b0050a9f6548a6

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 787e6ceb8e14b2a2af070ef91e484a60dcfe7328f69bb2158c8812c38f91affe
MD5 256c1ac2b0d0f746072e856eeb12c20e
BLAKE2b-256 f1c6ef550d35abc8c07d9408d007055495de40b63a044ea9a496b59dfecb1a3d

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp314-cp314-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp314-cp314-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 79a905390ee54f823ca9b88a2c301c8686ce12342da5dccf4a64794cc0bcf67b
MD5 e3926127313122c6233acf89a05b25db
BLAKE2b-256 09510efbeab1526019e8d1e8da4aa9b24eb97d1f286f14f8c8083c992ef92fd1

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: ssrjson-0.0.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 637.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3176f287dc7a461f3260e510d5d39f21e2f828bd5a939a36392de41456b9f573
MD5 928af08c0f2c14bc07a2f722e17140b9
BLAKE2b-256 d0f261bab995a97a1622b1c29392ee173898e8047a57ed033a27c7f2c6205bc4

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 342d5231ea77cabf9f453077ea7da43fe11f4b1085117e5ecbe0115c5ad8bd77
MD5 fa7f8edcc463b086af0efacd655304cb
BLAKE2b-256 4b0a1b78f853906af61ae4de6844890e6f89f5a6e08dba9e394baeb84f5e57cb

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2245b0017efad369ede977bd0b80b3e01c4b2de10c6b29b1ca7ff81bd63e32ab
MD5 67d9aa93827cf86c2fa5ba216237ea3a
BLAKE2b-256 1d0d71cde44d6c67c97f2a6aca6f5e54940a45e177b05b61e0bc84da1c6c5515

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 ba2f1b0438b707683e269456e05917e331f612df7fb5e1a897777662b90fcc57
MD5 6c221b894373d89b2b7b1470bd31ddb9
BLAKE2b-256 a70ade90f465a8b63d1e2668a0ef9ea70fd27b074d84dbda61b8c387c81eddde

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: ssrjson-0.0.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 637.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 87a128d40d22e2ac46dd8e61007d065b7b2b2091255561670dce893e5a646b5f
MD5 1690091cc284b0477205406101bf927c
BLAKE2b-256 a040804daeb49fa59627902f7bcbd3b54df08c1c755bda0170b37a5d40f8ccfb

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 102cdcc74009103dddb06011043bdf4373fe15f8314bf130e310a322c2b68bcd
MD5 ede6be811325d322f53add78b60e7edd
BLAKE2b-256 3f7c0af77cc0e83f59ac163b3952f53c29e2d766a88a6d19b5f7dab7e986fcf0

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6055c225ea130239a388f94657bfcbc176f7232a07186a7d5b44e5c0f0c7ae6b
MD5 d4203c52cf468856a1c2d22ba0410776
BLAKE2b-256 3652b51f7f20704238bcbc1d696d1830e7bf7e4c716cb68c1e62fdc481db3334

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 59138c960bae6a86a6c1016b881fe7e4b53aa77ec37b394ed39d29b599aab670
MD5 96af6efbc04f4d341250405785ec0307
BLAKE2b-256 7cd6929f2a28b60945adadb77f68e28e1bb6539dd1afd5bc9f12748b3702869e

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: ssrjson-0.0.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 631.7 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 4100c82540612e86dd7fd76317752b019565d50328ed76be8b07c21095e9872e
MD5 75d8a95115bf1587becf943567c5f669
BLAKE2b-256 cb5d66b33dd4a2e86de2ede2fb63a9a1e3fc2868d811318fabc3fffe253b77f5

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3bb4e1c5942134d3fcad15473acbe8a31953fba20ffa89f959a8e4eebf8d9a0
MD5 4c2181e0d03065cd6ed5dca900fc519c
BLAKE2b-256 1e1ff7df9e35ed15d53f4db4859e0e1699848df17e24e56b1135a2a01532510c

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 308f4bcb8fd922db303a26be73445555295c60734c6d2537cb10334cc45d808a
MD5 d45c9ec96476854c63fece1b561a84d2
BLAKE2b-256 8bd47ba66441cc18de31ec059d26a2d0e7f277eca36b6f007702f9eacdb26410

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp311-cp311-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 ca59c57724d6cf972340d66a50217004b533d5da7cdf20dffa816adfb6de29a5
MD5 eedb6adb479b6d483896c50ba56e3e27
BLAKE2b-256 251008ef842560129f79ae146c8d61bc891ced4ebcd4ffa1ac6cb2f919225e7d

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: ssrjson-0.0.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 631.9 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for ssrjson-0.0.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5db21d3cb636428493f43da993403e8ffd8f9b500d720f30eed1eb9dcd945533
MD5 b1307ddf948991444b4154a810f26106
BLAKE2b-256 5976b7decb50ab130c455dccd3c5f6d159380ba699daccb8f5297043356bf493

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d42ff9738aeba65c9289c5e730f99efd1f1bd22d7934caa5d2f50332b02892dc
MD5 c98d698a55cec9c1d33f4a9b1732ccfd
BLAKE2b-256 fe345c9ba476c7c2c9bba0a83e59d63bb397092d961ebf98aa31571f36039d94

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cdada49a76f5526c04a733f147bfde0c8a9b06252506037f8530a2a5974a5a4b
MD5 6be5e554231ec8b25ec90378aa238274
BLAKE2b-256 f3868aec7adde241dcc9459d51f16e429284694b3ab157db48043c8e09df2b30

See more details on using hashes here.

File details

Details for the file ssrjson-0.0.7-cp310-cp310-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for ssrjson-0.0.7-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 41e978d7f8ae65bbf1b4e0665e45a07de21f26c3fb418e5a92340a0b910ae7f9
MD5 a48bfbd9d44e165eec51e1ce566f82d9
BLAKE2b-256 a4eb849f0ad600f393746a8d18db2b65ace67a2846d527c5c4cb2b2d229cd8d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page