Skip to main content

JSON Tools RS

A high-performance Rust library for advanced JSON manipulation with SIMD-accelerated parsing, providing unified flattening and unflattening operations through a clean builder pattern API. Ships with Rust and Python bindings.

PyPI Crates.io Documentation Book License

Why JSON Tools RS?

JSON Tools RS is designed for developers who need to:

  • Transform nested JSON into flat structures for databases, CSV exports, or analytics
  • Clean and normalize JSON data from external APIs or user input
  • Process large batches of JSON documents efficiently
  • Maintain type safety with perfect roundtrip support (flatten → unflatten → original)
  • Work with both Rust and Python using the same consistent API

Unlike simple JSON parsers, JSON Tools RS provides a complete toolkit for JSON transformation with production-ready performance and error handling.

Features

  • 🚀 Unified API: Single JSONTools entry point for flattening, unflattening, or pass-through transforms (.normal())
  • 🔧 Builder Pattern: Fluent, chainable API for easy configuration and method chaining
  • High Performance: SIMD-accelerated JSON parsing with FxHashMap, SmallVec stack allocation, and tiered caching
  • 🚄 Parallel Processing: Built-in Rayon-based parallelism (persistent work-stealing pool) for faster batch operations and large nested structures
  • 🎯 Complete Roundtrip: Flatten JSON and unflatten back to original structure with perfect fidelity
  • 🧹 Comprehensive Filtering: Remove empty strings, nulls, empty objects, and empty arrays (works for both flatten and unflatten)
  • 🔄 Advanced Replacements: Key/value replacements, literal (exact substring match) by default, or regex by wrapping the pattern in r'...'
  • 🚫 Key/Value Exclusion: Drop entire keys (and their subtree) or key-value pairs by pattern match with .exclude_key()/.exclude_value()
  • 🛡️ Collision Handling: Intelligent .handle_key_collision(true) to collect colliding values into arrays
  • 📅 Date Normalization: Automatic detection and normalization of ISO-8601 dates to UTC
  • 🔀 Automatic Type Conversion: Convert strings to numbers, booleans, and nulls with .auto_convert_types(true)
  • 📦 Batch Processing: Process single JSON or batches; Python also supports dicts and lists of dicts
  • 🐍 Python Bindings: Full Python support with perfect type preservation (input type = output type)
  • 📊 DataFrame/Series Support: Native support for Pandas, Polars, PyArrow, and PySpark DataFrames and Series in Python

Table of Contents

Quick Start

Rust - Unified JSONTools API

The JSONTools struct provides a unified builder pattern API for all JSON manipulation operations. Simply call .flatten() or .unflatten() to set the operation mode, then chain configuration methods and call .execute().

Basic Flattening

use json_tools_rs::{JSONTools, JsonOutput};

let json = r#"{"user": {"name": "John", "profile": {"age": 30, "city": "NYC"}}}"#;
let result = JSONTools::new()
    .flatten()
    .execute(json)?;

if let JsonOutput::Single(flattened) = result {
    println!("{}", flattened);
}
// Output: {"user.name": "John", "user.profile.age": 30, "user.profile.city": "NYC"}

Advanced Flattening with Filtering

use json_tools_rs::{JSONTools, JsonOutput};

let json = r#"{"user": {"name": "John", "details": {"age": null, "city": ""}}}"#;
let result = JSONTools::new()
    .flatten()
    .separator("::")
    .lowercase_keys(true)
    .key_replacement("r'(User|Admin)_'", "")
    .value_replacement("@example.com", "@company.org")
    .remove_empty_strings(true)
    .remove_nulls(true)
    .remove_empty_objects(true)
    .remove_empty_arrays(true)
    .execute(json)?;

if let JsonOutput::Single(flattened) = result {
    println!("{}", flattened);
}
// Output: {"user::name": "John"}

Automatic Type Conversion

Convert string values to numbers, booleans, dates, and null automatically for data cleaning and normalization.

use json_tools_rs::{JSONTools, JsonOutput};

let json = r#"{
    "id": "123",
    "price": "$1,234.56",
    "discount": "15%",
    "active": "yes",
    "verified": "1",
    "created": "2024-01-15T10:30:00+05:00",
    "status": "N/A"
}"#;

let result = JSONTools::new()
    .flatten()
    .auto_convert_types(true)
    .execute(json)?;

if let JsonOutput::Single(flattened) = result {
    println!("{}", flattened);
}
// Output: {
//   "id": 123,
//   "price": 1234.56,
//   "discount": 15.0,
//   "active": true,
//   "verified": 1,
//   "created": "2024-01-15T05:30:00Z", // Normalized to UTC
//   "status": null
// }

Python - Unified JSONTools API

The Python bindings provide the same unified JSONTools API with perfect type matching: input type equals output type.

Basic Usage

import json_tools_rs as jt

# Basic flattening - dict input → dict output
result = jt.JSONTools().flatten().execute({"user": {"name": "John", "age": 30}})
print(result)  # {'user.name': 'John', 'user.age': 30}

# Basic unflattening - dict input → dict output
result = jt.JSONTools().unflatten().execute({"user.name": "John", "user.age": 30})
print(result)  # {'user': {'name': 'John', 'age': 30}}

Advanced Configuration & Parallelism

import json_tools_rs as jt

# Configure tools with parallel processing settings
tools = (jt.JSONTools()
    .flatten()
    .separator("::")
    .lowercase_keys(True)
    .remove_empty_strings(True)
    .parallel_threshold(50)       # Parallelize batches >= 50 items
    .num_threads(4)               # Use 4 threads
    .nested_parallel_threshold(200) # Parallelize large objects
)

# Process a batch of data
batch = [{"data": i} for i in range(100)]
results = tools.execute(batch)

DataFrame & Series Support

import json_tools_rs as jt
import pandas as pd

# Pandas DataFrame input → Pandas DataFrame output
df = pd.DataFrame([
    {"user": {"name": "Alice", "age": 30}},
    {"user": {"name": "Bob", "age": 25}},
])
result = jt.JSONTools().flatten().execute(df)
print(type(result))  # <class 'pandas.core.frame.DataFrame'>

# Also works with Polars, PyArrow Tables, and PySpark DataFrames
# Series input → Series output (Pandas, Polars, PyArrow)

# Or skip having a DataFrame at all -- normalise=True always returns a wide
# DataFrame regardless of input shape (dict, str, list), with target= picking
# the library (pandas/polars/pyarrow/pyspark) or auto-resolving if omitted.
df = jt.JSONTools().flatten().execute(
    {"user": {"name": "Alice", "age": 30}}, normalise=True
)

Runnable Examples

Every builder feature has a standalone, runnable example in both languages, plus curated multi-feature pipelines (not an exhaustive combinatorial sweep -- the builder has ~10 independent toggles -- but realistic groupings commonly used together, and one "kitchen sink" pipeline exercising nearly everything at once). Both language versions use matching inputs and produce matching output.

Individual features Curated combinations
Rust examples/feature_by_feature.rs examples/feature_combinations.rs
Python python/examples/feature_by_feature.py python/examples/feature_combinations.py
# Rust
cargo run --example feature_by_feature
cargo run --example feature_combinations

# Python
python3 python/examples/feature_by_feature.py
python3 python/examples/feature_combinations.py

There are also narrative walkthroughs for a quicker first read: examples/basic_usage.rs / examples/advance_usage.rs (Rust) and python/examples/examples.py (Python).

Quick Reference

Method Cheat Sheet

Method Description Example
.flatten() Set operation mode to flatten JSONTools::new().flatten()
.unflatten() Set operation mode to unflatten JSONTools::new().unflatten()
.normal() Set mode to pass-through (transform only) JSONTools::new().normal()
.separator(sep) Set key separator (default: ".") .separator("::")
.lowercase_keys(bool) Convert keys to lowercase .lowercase_keys(true)
.remove_empty_strings(bool) Remove empty string values .remove_empty_strings(true)
.remove_nulls(bool) Remove null values .remove_nulls(true)
.remove_empty_objects(bool) Remove empty objects {} .remove_empty_objects(true)
.remove_empty_arrays(bool) Remove empty arrays [] .remove_empty_arrays(true)
.key_replacement(find, repl) Replace key patterns (literal, or regex via r'...') .key_replacement("r'user_'", "")
.value_replacement(find, repl) Replace value patterns (literal, or regex via r'...') .value_replacement("@old.com", "@new.com")
.exclude_key(pattern) Drop a key (and its entire subtree) matching a pattern .exclude_key("crypto")
.exclude_value(pattern) Drop a key-value pair whose value matches a pattern .exclude_value("banned")
.handle_key_collision(bool) Collect colliding keys into arrays .handle_key_collision(true)
.always_array_keys([...]) Always render these flattened keys as arrays, even with one value -- consistent shape across documents .always_array_keys(["name"])
.auto_convert_types(bool) Convert types (nums, bools, dates, nulls) -- all 4 categories, default behavior .auto_convert_types(true)
.convert_dates/nulls/booleans/numbers(bool) Convert types independently per category, with optional _config(...) customization .convert_numbers(true)
.parallel_threshold(n) Min batch size for parallelism .parallel_threshold(500)
.num_threads(n) Number of threads (default: CPU count) .num_threads(Some(4))
.nested_parallel_threshold(n) Nested object parallelism size .nested_parallel_threshold(50)
.max_array_index(n) Max array index for unflatten (DoS protection) .max_array_index(100_000)

Automatic Type Conversion

When .auto_convert_types(true) is enabled, the library performs smart parsing on string values. For independent control over each category below (e.g. only converting numbers, or customizing date/null/boolean matching), use .convert_dates()/.convert_nulls()/.convert_booleans()/.convert_numbers() instead -- see Automatic Type Conversion for the full per-category reference across all three language bindings.

  1. Date & Time (ISO-8601):
  • Detects date strings to avoid converting them to numbers (e.g., "2024-01-01").
  • Normalizes datetimes to UTC.
  • Supports offsets (+05:00), Z suffix, and naive datetimes.
  1. Numbers:
  • Basic: "123"123, "45.67"45.67
  • Separators: "1,234.56" (US), "1.234,56" (EU), "1 234.56" (Space)
  • Currency: "$123", "€99", "£50", "¥1000", "R$50"
  • Scientific: "1e5"100000
  • Percentages: "50%"50.0, "12.5%"12.5
  • Basis Points: "50bps"0.005, "100 bp"0.01
  • Suffixes: "1K", "2.5M", "5B" (Thousand, Million, Billion)
  1. Booleans:
  • "true", "false", "yes", "no", "on", "off", "y", "n" (case-insensitive).
  • Note: "1" and "0" are treated as numbers, not booleans.
  1. Nulls:
  • "null", "nil", "none", "N/A" (case-insensitive) → null.

Installation

Rust

cargo add json-tools-rs

Python

pip install json-tools-rs

Architecture

The codebase is organized into focused, single-responsibility modules:

src/
├── lib.rs            Facade: mod declarations + pub use re-exports
├── json_parser.rs    Conditional SIMD parser (sonic-rs on 64-bit, simd-json on 32-bit)
├── types.rs          Core types: JsonInput, JsonOutput
├── error.rs          Error types with codes E001-E008
├── config.rs         Configuration structs and operation modes
├── cache.rs          Tiered regex pattern caching (compile-time table, thread-local, global)
├── convert.rs        Type conversion: numbers, dates, booleans, nulls (SIMD-optimized)
├── transform.rs      Filtering, key/value replacements, collision handling
├── flatten.rs        Flattening algorithm with Rayon parallelism
├── unflatten.rs      Unflattening with SIMD separator detection
├── builder.rs        Public JSONTools builder API and execute() entry point
├── python.rs         Python bindings via PyO3
├── tests.rs          Unit tests
└── main.rs           CLI examples

The processing pipeline:

  1. Parse -- SIMD-accelerated JSON parsing (json_parser)
  2. Flatten/Unflatten -- Recursive traversal with CompactString/arena-backed key storage (flatten/unflatten)
  3. Transform -- Lowercase, replacements (cached regex), collision handling (transform)
  4. Filter -- Remove empty strings, nulls, empty objects/arrays (transform)
  5. Convert -- Type conversion with first-byte discriminators (convert)
  6. Serialize -- Output to JSON string or native Python types

Performance

Benchmark Results

Benchmark Time Description
Deep nesting (100 levels) ~2.17 µs Deeply nested JSON objects
Wide objects (1,000 keys) ~24.8 µs Flat objects with many keys
Large arrays (5,000 items) ~406 µs Arrays with many elements
Parallel batch (10,000 items) ~635 µs Batch processing with Rayon (nested_parallel_threshold)

Measured on Apple Silicon (M4) via cargo bench --bench stress_benchmarks, v0.9.5. Results may vary by platform and data shape.

Optimization Techniques

JSON Tools RS uses several techniques to achieve high performance:

  • SIMD-JSON: Hardware-accelerated parsing via sonic-rs (64-bit) / simd-json (32-bit).
  • SIMD Byte Search: memchr/memmem for SIMD-accelerated string operations and pattern matching.
  • FxHashMap: Faster hashing for string keys via a hand-rolled FxHash-style hasher (src/fxhash.rs; no external hashing crate dependency).
  • Tiered Caching: Three-level regex cache (compile-time pattern table → thread-local FxHashMap → global RwLock<FxHashMap>).
  • SmallVec & Cow: Stack allocation for depth stacks and number buffers; zero-copy string handling.
  • CompactString & Arena Keys: Object keys are inlined via CompactString (no heap allocation up to 24 bytes); flatten's slow path additionally uses a bumpalo arena for deep-nested keys, to minimize allocations in wide/deep JSON.
  • First-Byte Discriminators: Rapid rejection of non-convertible strings during type conversion.
  • Parallelism: Rayon's persistent work-stealing thread pool for batch processing and large nested structures (avoids per-call OS thread spawn cost).

CLI Demo

The crate includes an educational demo binary that showcases library features:

cargo run

This prints progressive examples covering basic flattening, unflattening, custom separators, filtering, replacements, collision handling, type conversion, and batch processing.

Contributing

See CONTRIBUTING.md for development setup, testing, benchmarking, and PR guidelines.

License

Dual-licensed under either MIT or Apache-2.0, at your option.

Changelog

v0.9.30 (Current)

  • Performance: round 16 algorithmic audit of builder.rs and every rayon/parallel-dispatch call site. When .num_threads(Some(n)) is set and a batch of documents individually wide enough to also trigger nested parallelism is processed, every worker thread of the batch-level pool used to independently rebuild another fresh n-thread pool per qualifying document instead of reusing the pool it was already running inside -- up to O(batch_size) pool constructions instead of one. Now reuses the ambient pool when it already matches the requested thread count (confirmed 1.77x-2.09x faster). Also cached available_parallelism() instead of re-querying it per document.

See CHANGELOG.md for the full, itemized list.

v0.9.29

  • Performance: round 15 algorithmic audit, moving from python.rs's DataFrame layer (rounds 13-14) to the core engine (flatten.rs, unflatten.rs, convert.rs, transform.rs). Normal mode's (non-.flatten()/.unflatten()) key-transform/collision path no longer allocates a String for every object key -- switched to Cow<'a, str>, only allocating when a transform actually changed the key, plus removed a redundant hashmap lookup in collision serialization (confirmed 1.4x-1.85x faster). Unflatten's array-to-object conversion (triggered by a digit-only key that overflows usize) now pre-sizes the new map instead of growing from zero capacity (confirmed 1.54x faster).

See CHANGELOG.md for the full, itemized list.

v0.9.28

  • Performance: round 14 algorithmic audit, continuing round 13 into the pandas fast path and general splice/unnest pipeline. Pandas fast-path eligibility now samples before fully extracting an object-dtype column (~2.1x faster for a disqualifying embedded-JSON column at scale). Splicing and un-nesting fused into one parse+reconstruct pass instead of two (~2x faster pandas / ~2.3x faster Polars for a DataFrame with an embedded-JSON string column) -- caught and fixed a real double-un-nesting regression in a second call site (normalise=True on DataFrame input) via the existing test suite before shipping.

See CHANGELOG.md for the full, itemized list.

v0.9.27

  • Performance: round 13 algorithmic audit of the DataFrame/normalise layer. Eliminated duplicate Arrow string-column extraction on the flat-DataFrame fast-path fallback (.flatten().execute(df) with an embedded-JSON string column used to extract every string column twice) -- verified via code tracing; no consistent end-to-end wall-clock signal, reported as a redundant-work fix rather than a speed claim. normalise()'s per-batch column-slot allocation reduced from n_keys separate heap allocations to one, for batches with mostly-disjoint keys -- confirmed ~30-35% faster median and eliminates the wide run-to-run variance the many-allocations version showed. Also a small free memoization fix in unflatten.rs.

See CHANGELOG.md for the full, itemized list.

v0.9.26

  • Maintenance: round 11 of this project's ongoing performance-optimization effort researched and A/B tested several candidates (sonic-rs vs simd-json, simdutf8, mimalloc vs jemalloc, PyO3 free-threaded Python), but profiling confirmed the hot path is already at the ceiling reached by the prior 10 rounds -- nothing measurable to ship. Lifted two dependency pins left artificially stale by the 2026-07-30 MSRV bump to 1.85: sonic-rs 0.5.7 -> 0.5.8, indexmap <2.12 -> <2.15. Verified clean on stable and MSRV 1.85; no measurable latency change (neither dependency sits on this crate's hot path).

See CHANGELOG.md for the full, itemized list.

v0.9.25

  • Concurrency: the flat-DataFrame fast path (.flatten().execute(df) on pandas/Polars/PyArrow, added in 0.9.24) now releases the GIL for its computation, matching every other execution path -- it was the one path that held the GIL for its entire duration, stalling other Python threads in the process for no reason during a large-DataFrame call. Not a latency change (confirmed no regression) -- other Python threads can now make progress while it runs. Measured via a background pure-Python counting thread run concurrently with execute(df) (ratio of concurrent to solo throughput, 20K x 20 DataFrame): Polars 0.21 -> 1.00, PyArrow 0.14 -> 0.97, pandas 0.73 -> 0.76 (smaller, bounded by pandas' own per-cell object construction).
  • Fixed: pandas flat-DataFrame fast path -- a column with both a genuine null and a remove_empty_strings-filtered-to-empty cell now matches the slow path's reconstruction exactly (None vs pandas' own NaN-for-missing-key behavior), a narrow pre-existing 0.9.24 gap caught while implementing the fix above. Polars/PyArrow were never affected.

See CHANGELOG.md for the full, itemized list.

v0.9.24

  • Performance: execute(df) on a pandas/Polars/PyArrow DataFrame with no nested columns now skips the JSON-text round trip entirely -- reads column values directly and applies the same per-cell transform logic natively instead of serialize/parse/deserialize/reconstruct. Measured ~90-99ms of old-path overhead for a 20K-row x 20-col DataFrame down to a fraction of that. Confirmed via interleaved A/B: Polars ~2.7-3.7x faster, PyArrow ~4.2-5.6x faster, pandas ~1.5-2.2x faster (up to ~345x for the pure column-rename case). Strict whole-DataFrame fallback to the existing pipeline for anything nested/uncertain -- no behavior change, differential-tested across 10-11 cases per backend. Also: unflatten() no longer re-checks a container's array-vs-object classification on every visit to an already-created node, found via this project's own tracked CI benchmark history -- ~9-10% faster.

See CHANGELOG.md for the full, itemized list.

v0.9.23

  • Performance: follow-up zero-copy audit of convert.rs/flatten.rs/unflatten.rs/python.rs. auto_convert_types's converted-value chain switched from Cow<str> to a new ConvertedStr type backed by CompactString, so short converted values (bools, small numbers) stay on the stack instead of heap-allocating; flatten.rs's/unflatten.rs's collision-handling value storage got the same treatment. Measured ~11-13% faster for .flatten() with a key transform configured, ~3-9% faster for .normal() mode alone, both via interleaved A/B. A third change (Arrow JSON-string-column extraction in python.rs, same idea) showed no consistent signal under the same measurement and is kept as correct but not claimed as a win. No behavior changes.

See CHANGELOG.md for the full, itemized list.

v0.9.22

  • Added: .always_array_keys([...]) -- flattened key names that must always render as a JSON array, even with only one value present, keeping a key's shape consistent across every document/row of a batch regardless of .handle_key_collision(). Also guarantees normalise() resolves that column to List<T> even when a particular batch has zero collisions for it.
  • Performance: audited every clone/copy site in the codebase. PyJsonOutput.get_single()/get_multiple()/__str__() cloned a result before PyO3's own unavoidable copy at the FFI boundary -- fixed to build the Python object directly from the borrowed value. Measured ~25-27% faster via interleaved A/B, zero behavior change.

See CHANGELOG.md for the full, itemized list.

v0.9.21

  • Performance: three rounds of profiling-driven fixes to hot allocation paths. Date/datetime normalization output no longer re-parses a chrono format string per value (~10.6% faster on date-heavy convert_dates(True) workloads); unflatten() reuses one path buffer across a document instead of allocating one per key (~3.8% faster on wide documents); the Arrow-native normalise() engine no longer double-parses list-valued columns (~5-6% faster on handle_key_collision(True)-heavy data) and no longer re-clones already-seen keys when unioning columns across rows (~13% faster at issue #31's scale, 754 rows x 4,042 columns); DataFrame extraction no longer allocates an owned String per JSON key when un-nesting or splicing embedded columns (~6-9% faster per call, ~8.9% faster end-to-end for embedded-JSON-string-column DataFrames). No behavior changes.

See CHANGELOG.md for the full, itemized list.

v0.9.20

  • Changed (BREAKING): DataFrame column expansion no longer prefixes with the source column's name -- a column named payload holding {"user": {"name": "Alice"}} now expands to user.name, not payload.user.name. Genuine nesting within a column's content still prefixes normally; array-valued columns are unaffected.
  • Changed (BREAKING): normalise=True/target=... reconstruction is now Arrow-native -- one real Arrow RecordBatch built directly in Rust, no new methods. handle_key_collision(True) list columns and recognized date/datetime columns (gated on .convert_dates()) now build as real, correctly-typed List<T>/Date32/Timestamp columns instead of being stringified. target="pandas" output uses Arrow-backed dtypes (a breaking dtype change); target="pandas"/"pyspark" now require pyarrow installed, target="polars" does not.
  • Removed (BREAKING): the JVM/Java/Scala binding has been removed entirely -- the Rust core and Python bindings are unaffected; the published Maven Central artifact will not receive new versions. Databricks/Spark users should switch to the Python bindings wrapped in a pandas_udf.
  • Performance: normalise=True/target=... reconstruction ~1-4% faster end-to-end; .convert_dates(True)'s own detection cost measured at ~0.1-4.5%, not charged when off.

See CHANGELOG.md for the full, itemized list.

v0.9.19

  • Changed: MSRV raised from 1.80 to 1.85, required for current pyo3-arrow releases (see below). Affects every source (cargo add) consumer.
  • Performance: execute() on a Polars DataFrame/PyArrow Table with an embedded JSON-string column is ~41-48% faster end-to-end -- detection/extraction now uses pyo3-arrow's zero-copy Arrow buffer access instead of round-tripping through the DataFrame's native JSON writer (escape, then immediately unescape). Column ordering is preserved exactly as before. Scoped to Polars/PyArrow; plain pandas and PySpark are unaffected.

v0.9.18

  • Performance: execute() on a PyArrow Table/RecordBatch is ~2x faster -- extraction now bridges through pandas's native JSON writer (using types_mapper=pd.ArrowDtype to avoid a real integer-with-nulls-to-float corruption bug caught while building this fix) instead of to_pylist() + per-item conversion. splice_row's per-key escaping now reuses the crate's existing zero-allocation key writer instead of serde_json::to_string; a real cleanup, though measured end-to-end impact was within noise at realistic scale.

v0.9.17

  • Performance: core flatten()/unflatten() collision-handling paths ~5-8% faster (removed a redundant second hashmap lookup per unique key); the remaining non-normalise DataFrame/Series reconstruction functions now share the PyOnceLock import caching added in 0.9.16; mimalloc's doc comment updated to real measured numbers (~14-28%, previously an unverified "~5-10%") plus new CI coverage.

v0.9.16

  • Performance: execute(..., normalise=True, target=...) and PySpark execute(spark_df) are 13-18% faster for large/wide results (e.g. 754 rows x 4,042 columns). union_and_columnarize rewritten from an O(rows x columns) PyDict hash-lookup pattern to a single forward pass, plus PyOnceLock-cached pandas/polars/pyarrow/pyspark module imports across the reconstruction path. Verified via interleaved A/B against the real Python API.

v0.9.15

  • Fix: execute(spark_df) no longer crashes when a .key_replacement()/.handle_key_collision(True) list column holds genuinely mixed element types (#33). The list-flavored twin of the 0.9.14 fix: a collision list is built from each colliding key's own independently-converted value, so a single row's collision could already mix kinds (e.g. [100, "abc"]); such columns now fall back to string elements, while uniformly-typed list columns (e.g. all int) correctly get a typed array instead of unnecessary stringification.

v0.9.14

  • Fix: execute(spark_df) with auto_convert_types(True) no longer crashes on columns with genuinely mixed types (#32). A column that ends up holding both str and int values across rows (a natural consequence of per-value auto-conversion) previously broke Spark's Arrow bridge with PySparkTypeError; such columns now fall back to a uniform string column instead, while int/float-only mixes still promote correctly to double. Also hardens normalise(target=...) for all four DataFrame backends, which share the same column-unioning step.

v0.9.13

  • Fix: execute(df) on a PySpark DataFrame now returns a real, distributed pyspark.sql.DataFrame, not a plain list[dict] (#31). Behavior change: code relying on the old list fallback needs updating. Polars input was independently confirmed to already work correctly.
  • Performance: JSON-string-column auto-expansion (0.9.12) is ~40-43% faster for large embedded payloads, rewritten around serde_json::value::RawValue to avoid a redundant full-tree parse/reserialize per row, while keeping the same graceful per-row fallback behavior.

v0.9.12

  • Fix: execute(df) in .flatten() mode now auto-expands DataFrame columns holding JSON strings, not just columns already typed as dicts/structs (#30). Behavior change: a DataFrame with a JSON-string column now produces more/differently-shaped output columns in flatten mode than before; .unflatten()/.normal() mode are unaffected.

v0.9.11

  • Fix: execute(..., normalise=True, target="pyspark") could silently corrupt an all-None column on Spark's non-Arrow fallback path (taken automatically when pyarrow isn't installed, which pyspark does not depend on) -- a missing value could serialize as the literal string "<NA>" instead of a real null. Fixed by computing an explicit StructType schema from the data (instead of relying on Spark to infer it) and using plain Python None instead of pandas's nullable extension type, verified correct with and without pyarrow installed.

v0.9.10

  • New: execute(input, normalise=True, target=None) (Python) -- always returns a wide DataFrame (one column per flattened key) regardless of input shape (str/dict/list/DataFrame/Series all supported), working natively across pandas, polars, pyarrow, and now genuinely PySpark (a real pyspark.sql.DataFrame, closing the previous list-of-dicts fallback for this path). See DataFrame & Series Support.
  • New: JSONTools (Python) is now picklable (pickle.dumps/pickle.loads), including across a real process boundary (e.g. captured in a PySpark UDF/mapInPandas closure via cloudpickle) -- via __reduce__ plus a new to_config_json()/from_config_json() method pair. (#29)
  • Fix: critical auto_convert_types panic on multi-byte UTF-8 content in specific positions (e.g. "5€ García", a "+1Á2" timezone offset) -- two fixed-byte-offset string slices assumed the offset was always a UTF-8 character boundary. Fixed with an is_char_boundary guard at each site; no behavior change for valid inputs. (#29)

See CHANGELOG.md for full details.

v0.9.8

  • Changed: orjson is now a required Python dependency, used automatically for dict/DataFrame-row JSON (de)serialization -- pip install json-tools-rs is all that's needed. A per-call fallback to the standard library still covers inputs orjson can't handle (e.g. integers beyond 64-bit range).
  • Performance: Python binding marshaling ~37% faster (dict calls) / ~39% faster (str calls) via a detection fast-path plus the orjson backend; JVM binding marshaling ~22-38% faster per call (UTF-8 byte[] across the JNI boundary instead of String); unflatten ~5-6% faster and roundtrip ~4-5% faster (corpus-tuned container capacity hints, single-lookup entry()); flatten ~13-16% faster across payload sizes (removed a double-scan in the core tape scanner).

See CHANGELOG.md for full details.

v0.9.7

  • New: .exclude_key(pattern) (Rust/Python/JVM) -- drop any key, and its entire value/subtree, whose name contains pattern (literal by default, r'...' for regex). Matching a container key drops its entire subtree in O(1), without walking it. See Key Exclusion.
  • New: .exclude_value(pattern) (Rust/Python/JVM) -- drop a key-value pair whose value contains pattern. Applies only to scalar leaf values; checked after .value_replacement()/.auto_convert_types() have run. See Value Exclusion.
  • Fix: .remove_nulls() now runs consistently last across .flatten()/.unflatten()/.normal() mode -- previously .value_replacement() and .auto_convert_types() composed in different orders across the three engines, so a value that only became null after a replacement could slip past .remove_nulls() depending on mode.

See CHANGELOG.md for full details, including edge-case coverage across all three languages.

v0.9.6

  • New: fine-grained, per-category control over automatic type conversion -- .convert_dates(), .convert_nulls(), .convert_booleans(), .convert_numbers() (Rust/Python/JVM) let each category be enabled/disabled independently, each also accepting real customization (date UTC-normalization toggles, extra null/boolean tokens, per-sub-format number toggles). .auto_convert_types(bool) is unchanged and still means "all four, default behavior." See Automatic Type Conversion.
  • Breaking (pre-1.0): ProcessingConfig/FilteringConfig/CollisionConfig/ReplacementConfig are now #[non_exhaustive]; ProcessingConfig.auto_convert_types: bool removed in favor of ProcessingConfig.type_conversion: TypeConversionConfig. Only affects code constructing these via a bare struct literal or reading that field directly -- the JSONTools builder is unaffected.
  • Performance: the existing hot-path type-conversion function is untouched by this change; the new per-category dispatch is selected once per execute() call, confirmed within ~1% of prior auto_convert_types cost (Criterion).

v0.9.5

  • Documentation-wide accuracy sweep: every root-level doc, the full mdBook site, and the JVM Java source's own doc comments audited against actual source code and live runtime behavior (not just re-read) across four parallel passes. Corrected fabricated/stale internals (references to a phf key cache, rustc-hash, Arc<str> key dedup, and function names that no longer exist -- none of that is in the current codebase), stale benchmark numbers (some off by 3-14x), wrong error-handling semantics (e.g. .separator("") documented as panicking; it returns a config error), several broken guide examples, and stale "not yet published" claims for Maven Central/PyPI (both have been live for a while). Also fixed a real internal contradiction in the JVM Java source itself (FlattenUDF/BatchTransform javadoc claimed Lakeflow Pipeline support that Databricks doesn't actually allow) and added a missing JVM API reference page.
  • New: runnable examples covering every builder feature individually, plus curated multi-feature pipelines, mirrored across all three language bindings with matching inputs/outputs -- see Runnable Examples below.
  • Performance: regex pattern lookup for key_replacement/value_replacement no longer re-hashes and re-walks the cache on every key/value check (a thread-local "sticky" cache of recently-used patterns short-circuits the common case) -- regex scenarios 9-22% faster (Criterion). Consolidated two near-duplicate replacement-application code paths, which also fixed a missing SIMD fast-path for literal value replacement (~15-19% faster for that case).

See CHANGELOG.md for full details on all of the above.

v0.9.4

  • Bug fix: auto_convert_types silently corrupted the trailing digits of large integer strings (17+ digits, e.g. Snowflake/Discord/database bigint IDs) by always round-tripping through f64, which only has ~15-17 significant decimal digits of exact precision. Now reuses already-canonical integer strings directly instead of reformatting through a float.
  • Python bindings: dict/list[dict]/DataFrame/Series conversion switched from the pythonize crate's generic serde-based traversal to direct calls to Python's own json module. Benchmarked against the actual built extension: ~18% faster for a single nested dict, ~1.6x faster for a 200-row pandas DataFrame (the realistic cases this library exists for); flat/tiny dicts see a smaller, reported-honestly regression. Removes the pythonize dependency entirely.
  • Performance: credit/debit currency suffix stripping ("100CR"/"100DR") in auto_convert_types no longer goes through std's generic string-pattern search machinery -- ~13-17% faster on currency-heavy conversion (Criterion). Literal (non-regex) key/value replacement now uses SIMD substring search -- ~2.6-4.8% faster. unflatten's internal object maps now start pre-sized instead of growing from empty -- ~7-9% faster combined. auto_convert_types's date detection hand-rolled instead of using chrono's generic parser -- ~25% faster on mixed real-dates/false-positive workloads. flatten's slow path (key transforms configured) now uses an arena allocator for deep-nested documents -- up to ~14% faster end-to-end.

See CHANGELOG.md for full details on all of the above, including the honest trade-offs.

v0.9.3

  • Bug fix: flatten produced invalid JSON for any key containing an escaped character (\", \\, control chars) when no key transform was configured -- the default, most common usage.
  • Bug fix: re-escaping corrupted multi-byte UTF-8 characters (e.g. café "quoted" became café \"quoted\") whenever a string needed escaping and also contained non-ASCII text -- affected key escaping under lowercase_keys/key_replacement/collision-handling, value escaping under value_replacement, and unflatten's key serialization.
  • Performance: JSON object keys now use CompactString instead of String (inlines keys up to 24 bytes, no heap allocation) -- unflatten is ~19-22% faster (Criterion). Redundant separator re-scan eliminated in unflatten's tree-building. Regex pattern cache now evicts genuinely least-recently-used entries instead of arbitrary ones. Key/value re-escaping is ~17-22% faster as a side effect of the UTF-8 corruption fix above.

See CHANGELOG.md for full details on all of the above.

v0.9.2

(v0.9.1 was tagged a day earlier but only completed publishing to Maven Central -- a crates.io/PyPI release pipeline bug caused those two to fail before any upload. Fixed and re-cut as v0.9.2 across all three registries; no code changes beyond the release pipeline fix itself.)

  • JVM (Java) bindings (BREAKING for key_replacement/value_replacement, see below): new Spark UDF bindings (jvm/) with full feature parity, via a JNI shim over the same Rust core -- see jvm/README.md.
  • key_replacement/value_replacement pattern syntax (BREAKING): patterns are now literal (exact substring match) by default; wrap in r'...' (e.g. r'^admin_') for regex. Previously every pattern was always compiled as regex.
  • Rayon parallelism: batch processing switched back from std::thread::scope (per-call OS thread spawn) to Rayon's persistent work-stealing pool -- measurably faster for small-to-medium batches.
  • has_escape scanner bug fix: escape sequences not adjacent to a quote (\n, \t, \r, \uXXXX) were previously invisible to the tape scanner, silently skipping auto_convert_types/replacements/lowercase_keys for affected strings.
  • crates.io and Maven Central publishing enabled on tagged releases.

See CHANGELOG.md for full details on all of the above.

v0.9.0

  • Crossbeam Parallelism: Migrated from Rayon to Crossbeam for finer-grained parallel control.
  • DataFrame/Series Support: Native Python support for Pandas, Polars, PyArrow, and PySpark DataFrames and Series.
  • Modular Architecture: Refactored into 10 focused modules for maintainability (zero API changes).
  • Performance Optimizations: Eliminated per-entry HashMap in parallel flatten, early-exit discriminators, SIMD literal fallback, thread-local regex cache half-eviction, vectorized clean_number_string().
  • Python Binding Optimizations: mem::take for zero-cost builder mutations, O(1) DataFrame/Series reconstruction.

v0.8.0

  • Python Feature Parity: Added auto_convert_types, parallel_threshold, num_threads, and nested_parallel_threshold to Python bindings.
  • Enhanced Type Conversion: Added support for ISO-8601 dates, currency codes (USD, EUR), basis points (bps), and suffixed numbers (K/M/B).
  • Date Normalization: Automatic detection and UTC normalization of date strings.

See CHANGELOG.md for full history.

Download files

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

Source Distribution

json_tools_rs-0.9.30.tar.gz (321.6 kB view details)

Uploaded Source

Built Distributions

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

json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded PyPymusllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ i686

json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded PyPymusllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.15tmanylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.15manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp314-cp314-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.14Windows x86-64

json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp314-cp314-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

json_tools_rs-0.9.30-cp314-cp314-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

json_tools_rs-0.9.30-cp313-cp313-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.13Windows x86-64

json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp313-cp313-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

json_tools_rs-0.9.30-cp313-cp313-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

json_tools_rs-0.9.30-cp312-cp312-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.12Windows x86-64

json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp312-cp312-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

json_tools_rs-0.9.30-cp312-cp312-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

json_tools_rs-0.9.30-cp311-cp311-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.11Windows x86-64

json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp311-cp311-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

json_tools_rs-0.9.30-cp311-cp311-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

json_tools_rs-0.9.30-cp310-cp310-win_amd64.whl (4.2 MB view details)

Uploaded CPython 3.10Windows x86-64

json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ i686

json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_armv7l.whl (4.3 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARMv7l

json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ppc64le

json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686

json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (4.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARMv7l

json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

File details

Details for the file json_tools_rs-0.9.30.tar.gz.

File metadata

  • Download URL: json_tools_rs-0.9.30.tar.gz
  • Upload date:
  • Size: 321.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.14.1

File hashes

Hashes for json_tools_rs-0.9.30.tar.gz
Algorithm Hash digest
SHA256 9d9fc3db8680ad1eb1a2165db6a899d5134a2c23685ff3a3f03c302abab7344c
MD5 0ccae8df865ca7e54fc6cf11581a27ce
BLAKE2b-256 1073f97b953a73b79720de293e0c3ab5dff883b4b0b15573c41f14a61b197161

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 285918867758535f87cecb0a7ea7b633fe339906f826e1d4cedff3c8f88773f3
MD5 d873cb2b46709dedeeaf9d2ad4a81752
BLAKE2b-256 f52a26a0d80602929e7de34074cfc3c58fa858dceeae96503c05c7d8337ffd3c

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8f8c323441a0d827f8b75a9088e281c71f206c15d4be17501b23f9dc4f915812
MD5 1229b81abeffaee1324fbe62b97bca17
BLAKE2b-256 1ec31ddf2c23b3ca891e30a3563c54bdcfcfd21b6cade499c692d239334396e2

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ff2d0f30ff0290afbb7f5dd4e4c0f3759a6d085ace87752de91a1f38ea6d4308
MD5 ab872d42a91ce4bdadf6f872f0199474
BLAKE2b-256 f4eed09e8303c014678e4de34fb849c859626bd817cd1118d9ce591ce581a858

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ab61ca049367581d7079f3433ac1cff66ff99339cde8863d8c4a76e0b4392b2a
MD5 3a69352bbb4814aae41b5c926f65dbef
BLAKE2b-256 4bd7dc4b30ee9da0ad2bdce668dac3ee6730db5b8c37933cbac468e5ae728b03

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8d9d46895f150751b61bfba3b20bf39198c7ee593db5ae7ff195de6f8db76276
MD5 7dbca6e86e125235f139a5c1a62fad43
BLAKE2b-256 5f97b9fe42a85e0f676cc343552a02da27ea48e9a28e5a3c92a040937a4deac8

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 77de1eaea4b87417a81ba541bc05f250c729c3a6c5682cf54a1e09364a50aa31
MD5 f75a08c971b989a906dddb6d5ec2fbf7
BLAKE2b-256 5573fd0ea236398b9d3f0882e29fec8078111a6f338da2b2bdef0552dd905a53

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3d80385efd20267633d855b6141816c209cd885cae6e4ce3fa6f7a04bd8bc828
MD5 f23a7e53abeee89472d540e5bb40bd4a
BLAKE2b-256 e6172f46b020592bdfd2f658041316e54cd950918a6bed00bf3c64e89df39625

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 dd913e1b37e8c32762ec028021baefc8741451dd9f4d16e12fb3d6f9b6d75707
MD5 1e30466765b1737ee7894fa44c6d9419
BLAKE2b-256 3696d8388e67b9501037de202bc15883132efa8f500d83cbbb99eb7ed9599f32

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 00668433bcfe8a51868be25e88a6d8848295ed1351d09e1a71f8b69615184d2a
MD5 916eb804c380734c4f4a458fbf11095e
BLAKE2b-256 795e82d4090c24a7ca42fa543979f184f9f4fdaad6d689b10c1bc06a36ca12b3

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7a7b13e15c2b73c4784ac3fbacc5098369873cdc67e9a4c700f147255dbe983
MD5 03e51f45e4d9d9822f867a1b98cb08d5
BLAKE2b-256 7d33892055a2cee687c3a79651af4bd6010c43425bf0c5d84226735eebd3a3c8

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp315-cp315t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3749a0c345e38cb711a40f1aa86d037951e8ba4f5bd90945d521b74cac328f5a
MD5 e663d2043604740fc6c19ee0d0ab3635
BLAKE2b-256 fb4d5475b8caf420dfb7a9639534f8998998ab20a8400234b4aadd4c34a08282

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f8f34b9c4ddaab67bec21ef079499bec465c136e7ec4fc34973ab59a758f30ff
MD5 d1b4255770831b903f3909ffde70700c
BLAKE2b-256 c870fee5495f28fcf06c4c3165c0f74a95ad9013cc4117f320ee5d5106ade2b9

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp315-cp315-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9c5b86257f0fc723e5df12ef5c8b15d2b395d04e87a4e04b3d9895eda3754578
MD5 7029605a27bd140f967c5b856ceffd1e
BLAKE2b-256 e877934a535492815b593035d12e8aeddf1cbf03963ddd8ae5298a9abd5a7591

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c9ffb6326066b97f3fd7a2254420328a2f9036e2b6b9c6d2fc4fde87389af2c7
MD5 433b2ebf51094467d67e01f5b710a936
BLAKE2b-256 0f5ff5d8da5580414396384d4445e7cda5a77d3fb95dcff052b394aa480f371e

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4f02cb743bcf71112f4391e2e8a8cc77dee2fb9081ae822a441e7ec1672334cf
MD5 929e6e13aa112cdbf97321853b58c1d2
BLAKE2b-256 2785526d989081c9c14f53989a8f8d9faeebbca1473630d2cfa13d44669582cb

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7cb39abb0cd7def259c63e326198bb9bdb67e1ea260e244648a156b72b17f36b
MD5 3cfa835cdb7d095ea7ec17802a6f67ad
BLAKE2b-256 27d355f37048f222adac53d3eac41acd836136ea6d336d4619e6553d5e240e56

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6271bce845a5f96d63f85ecba53cec77c4b68d6c4e9f6d629184ba1ea7f34868
MD5 e00c43d60ea88e9762564a05786032d8
BLAKE2b-256 2d0af06994187b20425d17e2d72528d12c6f67d1a68b37a08a697b15cb731e69

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68e6eac5d2a38fb121bffa6157183e06a2b6f58d2a4c1001769285818bdb24eb
MD5 d85a06bba9c0b0a22145f944dbc20887
BLAKE2b-256 25ac3e63c4189eaa3c0bedf94358ebca9e174c91b5e8165dc5441d925ff646fc

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 8c4f7b250d51ecca5f9082f348f8ba5ab1d565b9bf7557d78ee329a73fdaca17
MD5 d78ac456597d024b3de63057ee233173
BLAKE2b-256 22fd3005d897f165f87965432e90ed5d137dddaa39a1ee3a7b72fc45d3f01e40

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c880e81d3d38c152dcc1cacbf44864e427d9c5e494a968d5a682f36111ccaa3f
MD5 7f88c6f0d276b1631efbb5797c27ee0c
BLAKE2b-256 468c249dfbf364bfb31756bdd36212c621b8466abe4517063147a82f53270062

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 32c003d1600c1ae11051757f5f1da7a013b8f2187e196e8ad4bf7f1fb5063c46
MD5 318aeed5290859cca791ae950a69962c
BLAKE2b-256 89972649aa576bdbe060c259a4b3463ab425b175fcac39bd04372036e96d24a7

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 534da542c11136a3bc0a1df3734645ffcf3f1db308dbd03786da7658fc545994
MD5 2e1231d7ad407515aeafce8232232469
BLAKE2b-256 1e187ac45fb554ad1d8e5bad4de30e8af11971856b8fc0c930df9a12e49e15f5

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d75c53386ebe0a99bcc44e6e3bb9add066dc54922eaf29214625ec88f53bf7a6
MD5 dd924e0d343c925d7cc03bb0e327fe78
BLAKE2b-256 ac40df74d141394c3601607fa0674e42355ac88360e1864dbfab91be1853e4f6

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 493c17e4254b2843d8a0ba0082a5382f0c3834f53451c8e9c2eaa225c8b72624
MD5 79ff3b59cdfafcf6f1dd5c13c00e8203
BLAKE2b-256 52afc7df11eb599f618dc08e2daf5534fab1c8ee26fdf1ca747682c597a18675

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 f88439b2901f94976c63f763b069aa0ffc35b63a6dd7c166aa67d7ec05689e99
MD5 fc8e359c2fa60bfe6fb4311bd282ef1e
BLAKE2b-256 7b95f549595009bc8130a08e1430b9b1aa9d8eaea6e3a1cf7fedf5183e22843f

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e19575bb9528998226c2e724c7d413a72f07a65a76847de9cc672ed519af394a
MD5 f682e035b015a7f88e53cb27faac9f22
BLAKE2b-256 e10ca15fd48f9c076f8d4b686906d2dea0eac88882085577a97fce1b40c60889

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c40e811b368f1001feee16c7551b0c9fd9b03dc632c557008961023a0bfe0839
MD5 95017af252e10febd8a111a29688e25d
BLAKE2b-256 2b016b4971794550c31a481227cfdb7d8f656a84e552f59948b23521d1ae94ce

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af94308467987d6d97cb6e7cc17fb0a44e2a6ac1e0cf2c5778edf28b1621b162
MD5 eb88cec0283ff1a5a09ad1b55f784b52
BLAKE2b-256 2cc045deca7606a16f28effa5742242446acdf2d9aa2ddeecea9b59ccd847d1c

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9a6dd724336126a84df481b53a5aa6d044a4ece96d5456d776c2037060117515
MD5 4139bc83f15328e60679a793bdced063
BLAKE2b-256 49ca6dadbd735b772d393d0f453c609e50947249e8ad98f3dbbda6e52bbafa13

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 845c81dcd3e8b21a783b7f234f5f2c56a6db92d05615b55f5c43289676b5e09c
MD5 96c6f1d1337076962cfacbf8e7ae9906
BLAKE2b-256 8b3e2c905e3b903b631bf89697693542259dad8df544e90f2512a4e93bc9b098

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9b1450bbffa9f0ab70814a098f88a326864e9de86dc633304d48415d7431d024
MD5 2aa9ae7040b99be50af4ef896a06e035
BLAKE2b-256 e791bc0e30709f56c731d7341e25ed982a40d29ba2f9cd0f3c1b8f90980c9d66

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1d769ad7e773ffa86b68cf29cb1ef73173b84bec89c7e87c430e496d0bd6241
MD5 33934de059c1989302b0b0656ed1e9f8
BLAKE2b-256 f3f14520f0088c0b6c1469689bdaca89a71a04986a96621e3eb3151462b90f74

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34e40f0fb0d9f50e3f9fe3f4a3350f16b5cf8c460c0b0353e088a84c2ee29819
MD5 f6ef64b707a6fd9f9d86d3cf68d43d2a
BLAKE2b-256 059f4799bf9374709a43c00872d4204f1f7eada0c0ca2458ead31af5de2473f5

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4f688558314009419808f37c4b828faf11cd493801b8a6bc563b68ab19a67bf4
MD5 3041827aaa6ffac29d6051ca2e05e2cb
BLAKE2b-256 b4c9e6a23a177fac7e5c502fa6c836cb3fcb1e7bf61d7e0d7d928aaebf12c9b8

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 34a90cb970b5422af6ae7f157746a92b96fe268245704a3ce38b890a0f2a5625
MD5 6f1fae9fc71afc4aae8ad25f198ad1f8
BLAKE2b-256 32d62e3ad62766e324ed61081063efa12fe8b1120bb094354460cfb3c3604b9e

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a0a193df0638efcbd42a5d6733f7728b3dab1dc24fccdac4269ad75d782fc50d
MD5 a99761e152d6ab545f85b03bb9b22965
BLAKE2b-256 edf8a36fc2d42a17ebf111a10da0e449e529ab0d4a8a627243851e4f768e2c59

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 c6c9716241fb85258a9c582945e902139e6f768bce878fab701362ca62cf902b
MD5 f5808f48ff90c14bde47ee8d5d843613
BLAKE2b-256 e8e717c6d5a49d0d2ae2d780100e39166aa7d172bc44f1c054573b31dd4c3d9c

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 d799a9a1c2078d150e7319dc0cf36a5c215458a5305afe0ac43c8f790c5c62da
MD5 a1013ef741ed7218647e5d40b11a2409
BLAKE2b-256 486ea540939c824f9882f02dd1891b88a19f6453747249379f2c457db977f0aa

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3e33647c14bfce82cd307c19e0ce3a7107a08b441dcab834d4b53e91aac26ce6
MD5 d5011048a321c2fa5bd7cc1384476012
BLAKE2b-256 ab18a4be1d8a1098d4ef2dd3365b2d1a632c1f92777caebbe251c0aeafb4fdbb

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11fff730c8001097c479948d74397bfa1a1c82db5526513890d6f012eacc0862
MD5 47deb257c1dfcce04d48cd014e2b5a40
BLAKE2b-256 019c5e975ba6461a0c3f8b63b0cbab98b923108a556e78ac045ade9bae464bc8

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2643c6d876307e8a5050733294fd199b8187c2c72b5f2575d0818dc3eaef057c
MD5 c976436ec4b360d0fe06e7a953ab1258
BLAKE2b-256 c5065e41c991e7445aa4a4f358373bf533de2f8b8b5a0fcb306d190285963ce1

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f632c2b75f6fd1676835a8f9d86ade177010daae66fa2d35c75f245688b8cb97
MD5 6a807f2362637e55105c0ac8b920695e
BLAKE2b-256 285843cfb2c0339c15d4a75ce023be77c6dd96bf4ef2c0d827fca3b73707fe8e

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 a1dbe6fb38d3861efe1530e0a39071ec0b8ce04a582b5d78a779d4c06e0479b1
MD5 37bbe98607d17bc980a8511dce0ff96f
BLAKE2b-256 c5eeb301b3788451f5c5bdaeca839701c1863a0cc595d81f867ca53af0b6a7c4

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 52422b9d6ec5f0ee89ae325e95df45c9fbe1d56844e9c6ebc9915323d2d7519c
MD5 b8269b9b0e1dfdaaae61e7e3d2302007
BLAKE2b-256 5b8cfbb95ec201ce5caf77f45da295d6329b8fc2d924e0421d19b0c687e416e0

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7cee61c7011f09c5ebfe33e893e5d96b6c794cf56b3e0c0769b6c8171dfe642c
MD5 90f8a59c193744a3b5801c514ffc0953
BLAKE2b-256 d6a45c3c3a1d04f4b2f259aef11ca3924dcf339532b8900bb336b513c048d8dc

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e22c090e431d294675b1fedd7e90b57b2a482ad74f7d817c8ab2a5a48203d4a6
MD5 89d2e99d4c8bfd7328ddf7ccafac09e0
BLAKE2b-256 da89bd5b7f766f3c831cdc9ece1c1dbee732639fe9d8b3ed16d0ea5fbdd0ab76

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 70438f9eb66f79ae7d0f95615f06843ab6553bb835fa80c5fd0b27941902d832
MD5 84ceb39c386a2e9f820703992de00372
BLAKE2b-256 393a85a7e60001503ff41784ce313d0cc5f105b7878a7be11ca637e2f3ff7c44

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ef5990e6d4fce2edfe72668b93587be7958b916e2894f8f31cff8f5a6b5a1a49
MD5 e6febe310ba10d1552eb30bb52144188
BLAKE2b-256 6a7e53c85d3cf0e12ffe7a0b9a1c9f853c07a2ddeb04e7bff15fa9e6cb0298c5

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 502c7e96a06539116f8e62a12f8a61cb2c893065920377b96637442b3dc98f6c
MD5 3e8536c5ae8b6b2f37162628e3fa7baa
BLAKE2b-256 56ce66d56b3c409e17cbd0da5be7a1a6579c864d07206aa867f7284d50d82fb9

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 369c2494a48aa858bb15e4d2ec9e0405557b47b045c35f5955bbc01ae4c70a67
MD5 39443f5b54ae6e18194b2a5f2d6d513d
BLAKE2b-256 b240b2b17b9e6edfbc9872db9d4e569098eb5027bace5cb38467dc4cd981323e

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 eb45be9f3bcd14c94df597a46a645cf39a22f1b9af1b508082eae7eb6620a3e3
MD5 040500dcf97c012b41be460d7b0b9ddc
BLAKE2b-256 f2c2b0f1474cbd566fcc064a64e9e70eea2997d4ca5b515f86297ea8f74666fa

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b283005f57c7449baf2916e61b301366b18ce7387d14496ae73d6896c7301e1
MD5 60f820011594dd88139133850f34c3ab
BLAKE2b-256 6e25cacbe63ba5bb81a47ad18b9a2b2d4240eba8591a32828f89717dccd37532

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1f2107be4c120580bdc53e2cc4bf1f9183c753329d6222f701d23b3bc5d086d1
MD5 faa04a3d2174f092843b6d5d280f7683
BLAKE2b-256 5a9455a03f8cfd8e8a39699e566ccf5dcaadc99ef95daa2a37ecc59fa97cf434

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 587a84f77ea9666228d0b75adf6fbdba4775309d6b9d1898e1539abae02c3e3b
MD5 3623860849e0797b20f63214f86d5b04
BLAKE2b-256 3239d9eb1c6c07096c6bf9619ca5b2304cf73b9a125fd790210cea03b4f1b0a5

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 db758391a322d12ecd74e57e3078ad0eec3c303c61b314d6b38aa7a7da922916
MD5 2ca0be46a7608442a9bef28191215abf
BLAKE2b-256 68b27b6bf51fc447f2fdca5573cbda7e05cfbadbb4a9f52ea5c11a379a95362f

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b283d1bd80bf008673f56f5526eb653f32e197b6d43b1348bed32b84f9346aa
MD5 b3acc31f3ca00cf298be80f829159c08
BLAKE2b-256 150bb753cb2294561c8bc7e0355b4423a543c16f07dcb3c4a8a16aa2cd07bd81

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38195609ee669a8c43dbe01fc9d75b6869df006e37d1b9f79048fa46bcd54346
MD5 f5407834127b6656245f7e2c1559dad6
BLAKE2b-256 1c73584cb3b8550729df67a2404df19fe3d5a51189699b43ccace4c54985b128

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3de0b12b4cbba49dcf5f792141183f3849a8fea8c6bf455a9b533d8159dba3fc
MD5 b4bda3b282c9a71fbc405d18a06300b0
BLAKE2b-256 0effea60f1a1f51b5f16c0e52ee1882c96b41cbb33187d14c8a23f13a1e4ffd7

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 340b2e163b824f3beeb587ac5e2dcfad83df1b7d9ea1e099776eb1ac17738d5b
MD5 903ed7eca3f5c64d633daf085076706f
BLAKE2b-256 fa0735e16e6f823592ac00074041263780375508ff73ee62a5b3914a318ef095

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f2457c59cfb955425300a05066bf6e95289ab4a37f732d4e1c06a07d1bbd98ca
MD5 e63b86918b81396fe0526a1e5148790c
BLAKE2b-256 835108746a89f5fb354a9da57fe30bbf17dcec05a1fedf1f53230a9023c25b0b

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2554ab17719722b8c4a2ab0be2e1c448e7c4d3d975bcc776944df5f98c2b6085
MD5 139ee6aaa30af602f66d9e412e2ee4ef
BLAKE2b-256 c2ca82ad0a04daff2d155439d81d13dfa1b3249ba5dd3dda8af043746db9ff2d

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 91a522785bd12ccf9847053505b9ba72074efee107068b02cf8f5269932b90c9
MD5 a14e06d4add454926f6ea347daf77d12
BLAKE2b-256 38dc121a72d1f266fbbca5ea7a4667dc3fa194c498037abe16cf4d2a8e5dfad9

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f26fdf25df4f6c3237465d946554607aa6395e5d9b0917c7c00ae4c6ad2ed157
MD5 fef325b2721e353cb7618382561d450b
BLAKE2b-256 c28d9d1f9bba01cb956282ef1a05813caab57c8c0311f6e9cba7b6db813749b8

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b99b5d304d4a6b643644ec57cbda2a0b2125047913c83ff543eada431121c8fe
MD5 632b2f3feb6b95b502f74a3e24f387e0
BLAKE2b-256 a1068b929cdbc91c7d57438faf78de20061d23347626c469b5b37dde8a197905

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 94ed1509417b8212bda15e11cd0c21ffa9089925576e4bdbfb4271fda1791815
MD5 8fa670bdfe7c495f32bb8b1805aad3f6
BLAKE2b-256 d93cf08fceb6dd00cdeb7534dfea06b3228a6b7a9bfd4027b2ff370f3259cb4b

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 126a3e86bc169cce11c91cc401cd2f67a29eb1996fe4c0511775d855e8a7ac04
MD5 a8f4864fc030e57520e9a4a8285a68a2
BLAKE2b-256 94515b3b46ba9e36953fe97da6f57cbf51c248224fa19cedce5eb5bd820d62b4

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 37897d1c1b4282a760a449a4f9fa5745282883ccda3d02b3b1a2665a26ae9eb8
MD5 d427859733c5e197ea40ed563cfc2867
BLAKE2b-256 c04c6268a347c0bd3d00bcf2e150ded08f4122fd273801a605c70b6b3048d36e

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c7df5707e212c7b745cef57440bf788c1c5d4bbd4717e719b0fd876b89cc0d91
MD5 355af75d3e4865d7b3d37d69a2097704
BLAKE2b-256 26c7c87c9c06651ad8535398b5fe33232879ae1564db711b88b2e9b9f9b858eb

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4de17a3d92c8d6f271f2afdfe1ba3a3fef3bd0eb54bbdfb80635ec1300a02e7
MD5 5732ee45b993e183099f77dfba79c288
BLAKE2b-256 cac2a3504eaf8de5cca0c16b0b08f7283ec15d806d98e03e14fe3f41fcc937d7

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e6f4fc319f20aac3718c6a68a570ecd2e2a8bcf19d9bf6bf676e1a926cffac76
MD5 b87ed8f02b3fbf862b6f76524c87142a
BLAKE2b-256 314659b35d20ab0f5ade924b7f36a04805532ffc99053086994c8da5e96b20c1

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1abbd3aac2747f0864233a3a9224d9533e29205dbd648044ef97ccd97abb30b9
MD5 7aa43f9447c4b5e19796ccbd1ae71052
BLAKE2b-256 ba87db710aeef331336fae5d2a777be1f4025390dfe741afa9da649d16cd04e7

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 def3ecd41854730e504f47e3db0fe88a2fc0f75e1ce6223513e58a0f9bdf48cf
MD5 7e07a7c6b69988fecd62440677651e83
BLAKE2b-256 293754bd3792a2e06247450732cfbaa3f59daa04e34edf5feb0bd6bfd52babdf

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 bd4f330df7b30e3c3404a660a7a76396d34296a13eaa69ef29059e67f5d9e936
MD5 afb6e46c57d65e415c28052c760b2427
BLAKE2b-256 fc505520c29208a67d13a254bb225931a0a7e9a023084c7bd65c6f7527e46f88

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 19eefaef544bb3069c46ec10071b7847377247f25ffecc48cc62660050ca87ac
MD5 e5b7bcf25e661aa5773659a30c4bf106
BLAKE2b-256 a220b66f34465a93b2d496c902f3be6772060f49f71cfa43911499cac9d40a29

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 02067ca107070deba88d52f5c84866767c06ee0e7aa6334f9fff7e026325f1bf
MD5 f2fc63aafe23e1b1027429cb609f64ef
BLAKE2b-256 3296d4f7dfb6b76f9c97e42eb5e6d357dfbfa5b7b3b4fd71816f018003231945

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9866262b74246101217c342cab996753d892bbc55d2531951c6155e7967a9d77
MD5 0d0874b9d36de81b090480c71265148a
BLAKE2b-256 82b117c5bfe8a441a4513f8fb8c64a92ad0b74a128ae0f9d2ea0be613f2ae68d

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 eec9b68d641fd42e27119a7fd4ee19cb52966c7bcab959ce17c95964ad7c043a
MD5 0dcc65cf9506fe558e11b5f43118d263
BLAKE2b-256 43f3d3da61353e148198c020b48bd56f7d783db4a2de3d13bf54f8c44bc8f323

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 cb8fa0c85050d29881994895fc9f3847d30cd6f841b88b8ec99ffacad3471944
MD5 c779b8ceea93919724e114cdb2c92964
BLAKE2b-256 8854c15d72efc4ecb4d8a08d1925b85f1eccaba9ce61c7e2241d98097ed26e95

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7bbda16b2ed8337ff1582fdf3afcb9f9260eed290b58f177e841f9aad6ab2b22
MD5 bdcd756b85a47ba37c183428a29e47dc
BLAKE2b-256 5b32d320c84e896fa3b136301fbec51af213cb596875e31c974953956690c1ab

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a83a4c5396a5eaae6512acb4b3886b5c65706076da9da21e573bef2e550fc7f
MD5 806aedc5525fc1fe18b2e204471c8a53
BLAKE2b-256 6c85c1d768a637db67f1baa02a3a754d17f3489c8ffcb2012468ec84100a5715

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5e86fc3d7969177f8e739d5048bb78e875c8b47f594e0af15a9da51fcac89221
MD5 866f8a67060b1c716745708e04165432
BLAKE2b-256 247883cf0679bd101846d5ef9cfc4044876c395b6c7f07dc8050e2b42512b19c

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1beddaacd4552d97d8cf61f63db7a7ce19d860f3cd1b112c1e8a3728168fb788
MD5 65ec4e8150d9c7c2b780780342c80a54
BLAKE2b-256 8c393a4a6065862a3e6f0ad58c9a6912f8ee3dfb71d93fd616dbae7db438e1f4

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5f67c6b1444ea0d063618d12f2737bcb036e5e4f62dc034e51f4148f80975d51
MD5 ccad8ba0b0d7d5199f1b99a6f39af75b
BLAKE2b-256 2c18ee91e2b2844cf6700183962406fafc75f154538719a1cc0cc28c3ad69296

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 63793d5491a345aa7a89fefd746fe99ddd60befca29b4b5ba388a06207ba3108
MD5 6b11246d7de3463261927cd696858103
BLAKE2b-256 3535e3be57c8d4703d1e6041ee52190780b68d8d77bb7410451f11b9935834a3

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3b6630a752c234fc3cf22b95ef65af1849542caeccb1c5fd50e632816b96ab7
MD5 c6f5fa5df41ca2f14c5cc45a2b3adeb6
BLAKE2b-256 a043cbe7faf270436351422796da8fae573cb8089f4f24cdc361371bf6f09cec

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 384facf2b48d92d90a39446ee76cec822b3bf6afc41b8cb34951b756bf03565d
MD5 7a2f0d8fb5170d4fb32bdd91e3577431
BLAKE2b-256 518fdfba07a6ba299615dceb3024b5a861519f445edccf2c8655bf8c12f65e64

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3ba4c618b5c32a9b3f90995743fa317d9b9837bad80c02ef8583d5ff9a21d292
MD5 1c4b22a14e24e34d4715da1fdc990760
BLAKE2b-256 7b98219fbaafa8e00e6d107be3fe9c438c4373529d5879b8b71e3fb3528b4d52

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 8b29b4eae337921caddd90505c0f8ce076e88818bd2d877b41d0cb22c391f57d
MD5 6b18437b57997a453dbc342df9f014d5
BLAKE2b-256 04958c586dcb07ef8c4fae4405e9392acd199ba517efcefcb0d3f180d0506258

See more details on using hashes here.

File details

Details for the file json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for json_tools_rs-0.9.30-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d29c781cf2666ee5807d6e25b04c6857e1923758042b062e10cadd9d6cc0f186
MD5 208f5995a39ff53387b61c60ec3a8682
BLAKE2b-256 329f73aae405a808f04eaa43af0cf7a24f33cf3e35c110b9e219c16b1c90d667

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.9.30 This release

90 files

0.9.29

90 files

0.9.28

90 files

0.9.27

90 files

0.9.26

90 files

0.9.25

90 files

0.9.24

90 files

0.9.23

90 files

0.9.22

90 files

0.9.21

90 files

0.9.20

90 files

0.9.19

90 files

0.9.18

90 files

0.9.17

90 files

0.9.16

90 files

0.9.15

90 files

0.9.14

90 files

0.9.13

90 files

0.9.12

90 files

0.9.11

90 files

0.9.10

90 files

0.9.8

90 files

0.9.7

90 files

0.9.6

90 files

0.9.5

90 files

0.9.4

90 files

0.9.3

90 files

0.9.2

90 files

0.9.0

100 files

0.7.0

99 files

0.6.0

98 files

0.5.0

98 files

0.4.0

98 files

0.3.0

25 files

0.2.0

25 files

0.1.0

25 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page