Skip to main content

Fast JSON library with SIMD acceleration - drop-in orjson replacement + extended features

Project description

fionn-py

Python bindings for fionn - Fast JSON library with SIMD acceleration.

Features

  • Drop-in orjson replacement: import fionn works like import orjson
  • ISONL streaming: 11.9x faster than fastest JSON parser (sonic-rs)
  • JSONL streaming: Schema-filtered parsing with batch processing
  • Multi-format: YAML, TOML, CSV, ISON, TOON parsing
  • Extended ops: Gron, Diff/Patch, CRDT, Tape API

Installation

# Using uv (recommended)
uv pip install fionn

# Using pip
pip install fionn

Quick Start

orjson-compatible API

import fionn

# Parse JSON
data = fionn.loads(b'{"name": "Alice", "age": 30}')

# Serialize JSON
output = fionn.dumps(data, option=fionn.OPT_INDENT_2)

ISONL Streaming (11.9x faster)

import fionn.ext as fx

# Read ISONL (schema-embedded, zero inference overhead)
for batch in fx.IsonlReader("data.isonl"):
    for record in batch:
        process(record)

# Convert JSONL to ISONL for 11.9x speedup on repeated reads
fx.jsonl_to_isonl("input.jsonl", "output.isonl", table="events", infer_schema=True)

Performance

Operation Baseline fionn Speedup
JSON loads orjson match 1x
JSONL streaming sonic-rs match 1x
ISONL streaming sonic-rs 11.9x faster 11.9x

Development

# Install dev dependencies
uv sync --dev

# Build
maturin develop

# Test
pytest

# Lint
ruff check .

# Type check
mypy .

License

MIT OR Apache-2.0

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

fionn-0.1.0.tar.gz (24.2 MB view details)

Uploaded Source

Built Distributions

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

fionn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (813.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

fionn-0.1.0-cp39-abi3-win_amd64.whl (705.5 kB view details)

Uploaded CPython 3.9+Windows x86-64

fionn-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (819.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

fionn-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (755.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fionn-0.1.0-cp39-abi3-macosx_11_0_arm64.whl (732.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fionn-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl (806.7 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file fionn-0.1.0.tar.gz.

File metadata

  • Download URL: fionn-0.1.0.tar.gz
  • Upload date:
  • Size: 24.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fionn-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6f9f79b9bb6b29dafce09ef98c276a791cbe63b6cc198bb1fcd42eb310c2c37c
MD5 d289bf4284910a6dcdc3da477faf09e0
BLAKE2b-256 63236bcae2acd70618454ac30a0cc15e60413f7b490e5c9da4fd6ad26cbd983b

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fionn-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4de25b5cd43f79cea4131e5c3614ad58f6c0a54c78ca65981aa430ab76e5c7e3
MD5 9898e0c2c866850d8b568214481dfda0
BLAKE2b-256 cd9b0353bd339c05ff70d5e51320aaec2feac81167bab1a526f1790a26348625

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: fionn-0.1.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 705.5 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fionn-0.1.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 28ba50e76676eb81ad3b9667baed175bf71dba1ff32d45a00326a223af62f2b7
MD5 4f9b86425233ff2ff515ebfc55c0c489
BLAKE2b-256 e08ca01587c943ee36aa55ba77e548363d70d40b930cb88216ebacca12a2c15b

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fionn-0.1.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5df22b2f7d933f426d3382315e58c6eb8dad882137236dcc8d5db8b1b261c50f
MD5 a60af191e083e4204852afe2e6118092
BLAKE2b-256 3f13bdb83687d408a3f0160f1cc22a7d7dfa061b5a0300543c8fde3b1a9a51b0

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fionn-0.1.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9bc8b7c0ff149aefd4aacf4a4ffa2f964a0084c0f4284172d2bde84a8551c475
MD5 5c994a7027c6d6be9bfa22f6d35f9587
BLAKE2b-256 3dbe58700f7b21229550e2f9f510478c514500a0adf0ec6270c17546fd58cd67

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fionn-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 732.1 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fionn-0.1.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b8c10e5afd8f71fd554958c937913f1c238951c4ae1cc070a41a9b6963b40809
MD5 5f7fb1340939914be94cbab9b0c4f361
BLAKE2b-256 70796fdc382b4d988f137048f02286d4761d080bc67fd80de822b484318deaaa

See more details on using hashes here.

File details

Details for the file fionn-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for fionn-0.1.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc41d569ab88dc6666f8103f163a7ea38bcaa4fd18b3824e1a7a46e1f55bdc07
MD5 5a5648964400e70cfa18c77955b677f9
BLAKE2b-256 e7173884bef5d1e34a10e7a5a743a093464fea6957a721f745049912b56a9e14

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