Skip to main content

No project description provided

Project description

JSkiner

The is a python Json Schema Inference Engine with Rust's core. Its inferencing speed is about 10 times of its pure-python counterpart (jsonschema-inference).

Installation

pip install jskiner

Usage

Checking the Json Schema of a Large .jsonl file

jskiner \
    --jsonl <path_to_jsonl> 
    --verbose <0/1> 
    --out <output_file_path>
    --nworkers <number_of_cpu_core>

Infering the Schema in Python

from jskiner import InferenceEngine
cpu_cnt = 16
engine = InferenceEngine(cpu_cnt)
json_string_list = ["1", "1.2", "null", "{\"a\": 1}"]
schema = engine.run(json_string_list)
schema

Union({Atomic(Float()), Atomic(Int()), Atomic(Non()), Record({"a": Atomic(Int())})})

Calculate the Union of a List of Schema

from jskiner import InferenceEngine
from jskiner.schema import Atomic, Int, Non
cpu_cnt = 16
engine = InferenceEngine(cpu_cnt)
schema = engine.run([Atomic(Int()), Atomic(Non)])
schema

Optional(Atomic(Int()))

Using | Operation between Two Schema

from jskiner import Atomic, Int, Non
schema = Atomic(Int()) | Atomic(Non())
schema

Optional(Atomic(Int()))

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

jskiner-0.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

jskiner-0.0.12-cp310-cp310-macosx_11_0_arm64.whl (398.0 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

jskiner-0.0.12-cp310-cp310-macosx_10_9_x86_64.whl (395.6 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

jskiner-0.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

jskiner-0.0.12-cp39-cp39-macosx_11_0_arm64.whl (396.8 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

jskiner-0.0.12-cp39-cp39-macosx_10_9_x86_64.whl (398.1 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

jskiner-0.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

jskiner-0.0.12-cp38-cp38-macosx_11_0_arm64.whl (398.2 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

jskiner-0.0.12-cp38-cp38-macosx_10_9_x86_64.whl (396.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

jskiner-0.0.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

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

jskiner-0.0.12-cp37-cp37m-macosx_10_9_x86_64.whl (396.3 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

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