Skip to main content

yyjson bindings for python

Project description

PyPI - License Tests

py_yyjson

Python bindings for the excellent yyjson project.

Documentation

Find the latest documentation at https://py_yyjson.tkte.ch.

💡 Why should I use this?

Like everything, it has pros and cons versus other Python JSON parsers. Some of the pros:

  • Good configurable support for non-standard JSON, such as comments, NaN, Infinity, and numbers of any size.
  • Fast. yyjson has excellent performance, especially compared to Python's built-in JSON library.
  • Support for JSON Merge-Patch.

For more technical users, some additional pros:

  • Building from source is architecture independent (ex, no dependency on SIMD instructions) and requires just a C89 compiler.
  • Uses the Python memory allocator, so Python memory profiling tool will work as expected.

🎉 Installation

If binary wheels are available for your platform, you can install from pip with no further requirements:

pip install yyjson

Pre-built binary wheels are available for:

py3.6 py3.7 py3.8 py3.9 py3.10 pypy3
OS X (x86_64)
OS X (ARM)
Windows (x86_64)
Linux (x86_64)
Linux (aarch64)
Linux (ppc64le)
Linux (S390x)

If binary wheels are not available for your platform, you'll need any C89-compatible compiler.

pip install 'yyjson' --no-binary :all:

⚗ Development and Testing

To install test requirements, use:

pip install -e ".[test]"

To run the tests, just type pytest. To prepare for a release or to rebuild documentation, you need a few extra dependencies:

pip install -e ".[release]"

You can then rebuild the documentation by running make html within the docs/ directory.

📈 Benchmarks

py_yyjson compares well against most libraries. The full benchmarks can be found in its sister project json_benchmark.

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

yyjson-1.0.1.tar.gz (97.5 kB view hashes)

Uploaded Source

Built Distributions

yyjson-1.0.1-pp39-pypy39_pp73-win_amd64.whl (63.7 kB view hashes)

Uploaded PyPy Windows x86-64

yyjson-1.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (85.7 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (96.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (83.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

yyjson-1.0.1-pp38-pypy38_pp73-win_amd64.whl (63.7 kB view hashes)

Uploaded PyPy Windows x86-64

yyjson-1.0.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (85.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (96.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (83.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

yyjson-1.0.1-pp37-pypy37_pp73-win_amd64.whl (63.7 kB view hashes)

Uploaded PyPy Windows x86-64

yyjson-1.0.1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (82.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (85.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (96.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (83.0 kB view hashes)

Uploaded PyPy macOS 10.9+ x86-64

yyjson-1.0.1-cp310-cp310-win_amd64.whl (63.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

yyjson-1.0.1-cp310-cp310-win32.whl (76.6 kB view hashes)

Uploaded CPython 3.10 Windows x86

yyjson-1.0.1-cp310-cp310-musllinux_1_1_x86_64.whl (495.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

yyjson-1.0.1-cp310-cp310-musllinux_1_1_s390x.whl (519.2 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ s390x

yyjson-1.0.1-cp310-cp310-musllinux_1_1_ppc64le.whl (514.9 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ppc64le

yyjson-1.0.1-cp310-cp310-musllinux_1_1_i686.whl (495.8 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

yyjson-1.0.1-cp310-cp310-musllinux_1_1_aarch64.whl (491.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

yyjson-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (493.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (530.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

yyjson-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (521.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

yyjson-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (467.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-cp310-cp310-macosx_11_0_arm64.whl (69.0 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

yyjson-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl (82.4 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

yyjson-1.0.1-cp310-cp310-macosx_10_9_universal2.whl (147.6 kB view hashes)

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

yyjson-1.0.1-cp39-cp39-win_amd64.whl (63.6 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

yyjson-1.0.1-cp39-cp39-win32.whl (76.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

yyjson-1.0.1-cp39-cp39-musllinux_1_1_x86_64.whl (492.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

yyjson-1.0.1-cp39-cp39-musllinux_1_1_s390x.whl (517.2 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ s390x

yyjson-1.0.1-cp39-cp39-musllinux_1_1_ppc64le.whl (513.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ppc64le

yyjson-1.0.1-cp39-cp39-musllinux_1_1_i686.whl (494.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

yyjson-1.0.1-cp39-cp39-musllinux_1_1_aarch64.whl (489.9 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

yyjson-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (491.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (528.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

yyjson-1.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (519.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

yyjson-1.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (485.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (466.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-cp39-cp39-macosx_11_0_arm64.whl (69.0 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

yyjson-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl (82.4 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

yyjson-1.0.1-cp39-cp39-macosx_10_9_universal2.whl (147.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)

yyjson-1.0.1-cp38-cp38-win_amd64.whl (63.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

yyjson-1.0.1-cp38-cp38-win32.whl (76.6 kB view hashes)

Uploaded CPython 3.8 Windows x86

yyjson-1.0.1-cp38-cp38-musllinux_1_1_x86_64.whl (495.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

yyjson-1.0.1-cp38-cp38-musllinux_1_1_s390x.whl (520.2 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ s390x

yyjson-1.0.1-cp38-cp38-musllinux_1_1_ppc64le.whl (516.5 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ppc64le

yyjson-1.0.1-cp38-cp38-musllinux_1_1_i686.whl (494.7 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

yyjson-1.0.1-cp38-cp38-musllinux_1_1_aarch64.whl (493.0 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

yyjson-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (494.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (530.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

yyjson-1.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (522.1 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

yyjson-1.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (487.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (466.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-cp38-cp38-macosx_11_0_arm64.whl (69.0 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

yyjson-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl (82.4 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

yyjson-1.0.1-cp38-cp38-macosx_10_9_universal2.whl (147.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)

yyjson-1.0.1-cp37-cp37m-win_amd64.whl (63.6 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

yyjson-1.0.1-cp37-cp37m-win32.whl (76.6 kB view hashes)

Uploaded CPython 3.7m Windows x86

yyjson-1.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl (480.3 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

yyjson-1.0.1-cp37-cp37m-musllinux_1_1_s390x.whl (504.3 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ s390x

yyjson-1.0.1-cp37-cp37m-musllinux_1_1_ppc64le.whl (503.1 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ppc64le

yyjson-1.0.1-cp37-cp37m-musllinux_1_1_i686.whl (494.2 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ i686

yyjson-1.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl (477.4 kB view hashes)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

yyjson-1.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.2 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl (485.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ s390x

yyjson-1.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (481.5 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ppc64le

yyjson-1.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.1 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (465.0 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (82.3 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

yyjson-1.0.1-cp36-cp36m-win_amd64.whl (104.3 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

yyjson-1.0.1-cp36-cp36m-win32.whl (130.8 kB view hashes)

Uploaded CPython 3.6m Windows x86

yyjson-1.0.1-cp36-cp36m-musllinux_1_1_x86_64.whl (474.1 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

yyjson-1.0.1-cp36-cp36m-musllinux_1_1_s390x.whl (497.4 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ s390x

yyjson-1.0.1-cp36-cp36m-musllinux_1_1_ppc64le.whl (496.6 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ ppc64le

yyjson-1.0.1-cp36-cp36m-musllinux_1_1_i686.whl (488.4 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ i686

yyjson-1.0.1-cp36-cp36m-musllinux_1_1_aarch64.whl (471.3 kB view hashes)

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

yyjson-1.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (468.1 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

yyjson-1.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl (485.4 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ s390x

yyjson-1.0.1-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (481.4 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ppc64le

yyjson-1.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (462.0 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

yyjson-1.0.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (464.9 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

yyjson-1.0.1-cp36-cp36m-macosx_10_9_x86_64.whl (82.3 kB view hashes)

Uploaded CPython 3.6m macOS 10.9+ x86-64

Supported by

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