Skip to main content

jsonschema-rs

Build Version Python versions License Supported Dialects

A high-performance JSON Schema validator for Python.

import jsonschema_rs

schema = {"maxLength": 5}
instance = "foo"

# One-off validation
try:
    jsonschema_rs.validate(schema, "incorrect")
except jsonschema_rs.ValidationError as exc:
    assert str(exc) == '''"incorrect" is longer than 5 characters

Failed validating "maxLength" in schema

On instance:
    "incorrect"'''

# Build & reuse (faster)
validator = jsonschema_rs.validator_for(schema)

# Iterate over errors
for error in validator.iter_errors(instance):
    print(f"Error: {error}")
    print(f"Location: {error.instance_path}")

# Boolean result
assert validator.is_valid(instance)

# Structured output (JSON Schema Output v1)
evaluation = validator.evaluate(instance)
for error in evaluation.errors():
    print(f"Error at {error['instanceLocation']}: {error['error']}")

⚠️ Upgrading from older versions? See the Migration Guide for breaking changes.

Migrating from jsonschema? See the jsonschema migration guide.

Highlights

  • 📚 Drafts 4, 6, 7, 2019-09 and 2020-12
  • 🔧 Custom keywords and format validators
  • ⚡ Compile-time validators for your own extension modules, via the Rust crate
  • 🌐 $ref resolution over HTTP and from files
  • 📦 Schema bundling into Compound Schema Documents, and $ref dereferencing
  • 🎨 Structured Output v1 reports (flag/list/hierarchical)
  • ✨ Meta-schema validation for schema documents, including custom metaschemas
  • 🧮 Experimental schema canonicalization

Supported drafts

  • Draft 2020-12
  • Draft 2019-09
  • Draft 7
  • Draft 6
  • Draft 4

Per-draft compliance results are on the Bowtie Report.

Playground

Try schemas in the browser with the WebAssembly playground.

Installation

pip install jsonschema-rs

Usage

Pass a schema as a JSON string to skip parsing it in Python:

import jsonschema_rs

validator = jsonschema_rs.validator_for('{"minimum": 42}')
...

validator_for detects the draft from $schema. To pick one yourself, use a draft-specific class:

import jsonschema_rs

# Automatic draft detection
validator = jsonschema_rs.validator_for({"minimum": 42})

# Draft-specific validators
validator = jsonschema_rs.Draft4Validator({"minimum": 42})
validator = jsonschema_rs.Draft6Validator({"minimum": 42})
validator = jsonschema_rs.Draft7Validator({"minimum": 42})
validator = jsonschema_rs.Draft201909Validator({"minimum": 42})
validator = jsonschema_rs.Draft202012Validator({"minimum": 42})

jsonschema-rs ships validators for the standard format values. To add your own, pass a function that takes a str and returns a bool via formats. Drafts 2019-09 and 2020-12 treat format as an annotation, so set validate_formats=True to get it checked:

import jsonschema_rs

def is_currency(value):
    # The input value is always a string
    return len(value) == 3 and value.isascii()


validator = jsonschema_rs.validator_for(
    {"type": "string", "format": "currency"}, 
    formats={"currency": is_currency},
    validate_formats=True  # Important for Draft 2019-09 and 2020-12
)
validator.is_valid("USD")  # True
validator.is_valid("invalid")  # False

Custom Keywords

A custom keyword is a class. The validator builds one instance per occurrence of the keyword, passing the parent schema, the keyword value and its schema path. Its validate method rejects a value by raising any exception, whose message becomes the error message:

import jsonschema_rs

class DivisibleBy:
    def __init__(self, parent_schema, value, schema_path):
        self.divisor = value

    def validate(self, instance):
        if isinstance(instance, int) and instance % self.divisor != 0:
            raise ValueError(f"{instance} is not divisible by {self.divisor}")


validator = jsonschema_rs.validator_for(
    {"type": "integer", "divisibleBy": 3},
    keywords={"divisibleBy": DivisibleBy},
)
validator.is_valid(9)   # True
validator.is_valid(10)  # False

The resulting ValidationError keeps that exception as __cause__:

try:
    validator.validate(instance)
except jsonschema_rs.ValidationError as e:
    print(type(e.__cause__))   # <class 'ValueError'>
    print(e.__cause__)         # original message

Other options:

  • validate_formats: check format regardless of the draft default.
  • ignore_unknown_formats: set to False to raise on a format value with no validator.
  • base_uri: base URI for relative $refs in the schema.
  • vocabularies: vocabularies your custom keywords implement.
import jsonschema_rs

validator = jsonschema_rs.Draft202012Validator(
    {"type": "string", "format": "date"},
    validate_formats=True,
    ignore_unknown_formats=False
)

# This will validate the "date" format
validator.is_valid("2023-05-17")  # True
validator.is_valid("not a date")  # False

# With ignore_unknown_formats=False, an unknown format raises an error
invalid_schema = {"type": "string", "format": "unknown"}
try:
    jsonschema_rs.Draft202012Validator(
        invalid_schema, validate_formats=True, ignore_unknown_formats=False
    )
except jsonschema_rs.ValidationError as exc:
    assert exc.message == (
        "Unknown format: 'unknown'. "
        "Adjust configuration to ignore unrecognized formats"
    )

Structured Output with evaluate

evaluate returns the JSON Schema Output v1 formats instead of a boolean:

import jsonschema_rs

schema = {
    "type": "array",
    "prefixItems": [{"type": "string"}],
    "items": {"type": "integer"},
}
evaluation = jsonschema_rs.evaluate(schema, ["hello", "oops"])
type_error = {"type": '"oops" is not of type "integer"'}

assert evaluation.flag() == {"valid": False}
assert evaluation.list() == {
    "valid": False,
    "details": [
        {
            "evaluationPath": "",
            "instanceLocation": "",
            "schemaLocation": "",
            "valid": False,
        },
        {
            "valid": True,
            "evaluationPath": "/type",
            "instanceLocation": "",
            "schemaLocation": "/type",
        },
        {
            "valid": False,
            "evaluationPath": "/items",
            "instanceLocation": "",
            "schemaLocation": "/items",
            "droppedAnnotations": True,
        },
        {
            "valid": False,
            "evaluationPath": "/items",
            "instanceLocation": "/1",
            "schemaLocation": "/items",
        },
        {
            "valid": False,
            "evaluationPath": "/items/type",
            "instanceLocation": "/1",
            "schemaLocation": "/items/type",
            "errors": type_error,
        },
        {
            "valid": True,
            "evaluationPath": "/prefixItems",
            "instanceLocation": "",
            "schemaLocation": "/prefixItems",
            "annotations": 0,
        },
        {
            "valid": True,
            "evaluationPath": "/prefixItems/0",
            "instanceLocation": "/0",
            "schemaLocation": "/prefixItems/0",
        },
        {
            "valid": True,
            "evaluationPath": "/prefixItems/0/type",
            "instanceLocation": "/0",
            "schemaLocation": "/prefixItems/0/type",
        },
    ],
}

hierarchical = evaluation.hierarchical()
assert hierarchical == {
    "valid": False,
    "evaluationPath": "",
    "instanceLocation": "",
    "schemaLocation": "",
    "details": [
        {
            "valid": True,
            "evaluationPath": "/type",
            "instanceLocation": "",
            "schemaLocation": "/type",
        },
        {
            "valid": False,
            "evaluationPath": "/items",
            "instanceLocation": "",
            "schemaLocation": "/items",
            "droppedAnnotations": True,
            "details": [
                {
                    "valid": False,
                    "evaluationPath": "/items",
                    "instanceLocation": "/1",
                    "schemaLocation": "/items",
                    "details": [
                        {
                            "valid": False,
                            "evaluationPath": "/items/type",
                            "instanceLocation": "/1",
                            "schemaLocation": "/items/type",
                            "errors": type_error,
                        }
                    ],
                }
            ],
        },
        {
            "valid": True,
            "evaluationPath": "/prefixItems",
            "instanceLocation": "",
            "schemaLocation": "/prefixItems",
            "annotations": 0,
            "details": [
                {
                    "valid": True,
                    "evaluationPath": "/prefixItems/0",
                    "instanceLocation": "/0",
                    "schemaLocation": "/prefixItems/0",
                    "details": [
                        {
                            "valid": True,
                            "evaluationPath": "/prefixItems/0/type",
                            "instanceLocation": "/0",
                            "schemaLocation": "/prefixItems/0/type",
                        }
                    ],
                }
            ],
        },
    ],
}

assert evaluation.errors() == [
    {
        "schemaLocation": "/items/type",
        "absoluteKeywordLocation": None,
        "instanceLocation": "/1",
        "error": '"oops" is not of type "integer"',
    }
]

# A failing schema produces no annotations
assert evaluation.annotations() == []

Arbitrary-Precision Numbers

Numbers keep their full precision on the way to Python:

  • Integers, regardless of size, are returned as regular int objects.
  • Floating-point literals that fit into IEEE-754 become Python floats.
  • Floating-point literals that don't fit in float (for example 1e10000 or extremely precise decimals) fall back to decimal.Decimal using their original JSON string representation.

So ValidationError.kind attributes can hold Decimal values:

from decimal import Decimal
from jsonschema_rs import ValidationError, validator_for

validator = validator_for('{"const": 1e10000}')
try:
    validator.validate(0)
except ValidationError as exc:
    assert exc.kind.expected_value == Decimal("1e10000")

# Exponents beyond ~10^1_000_000 are clamped to keep parsing predictable

Schema Bundling and Dereferencing

Produce a Compound Schema Document (Appendix B) by embedding all external $ref targets into a draft-appropriate container. The bundle accepts the same values as the original.

import jsonschema_rs

address_schema = {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "$id": "https://example.com/address.json",
    "type": "object",
    "properties": {"street": {"type": "string"}, "city": {"type": "string"}},
    "required": ["street", "city"]
}

schema = {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {"home": {"$ref": "https://example.com/address.json"}},
    "required": ["home"]
}

registry = jsonschema_rs.Registry(
    [("https://example.com/address.json", address_schema)]
)
bundled = jsonschema_rs.bundle(schema, registry=registry)

dereference instead replaces each $ref with the schema it points to, for consumers that do not resolve references. Circular references are left in place.

dereferenced = jsonschema_rs.dereference(schema, registry=registry)

Schema Canonicalization

Experimental: the canonicalization API may change in minor releases.

canonicalize reduces a schema to a normal form that accepts the same values. Schemas that accept the same values reduce to equal CanonicalSchema objects, and a schema proven to accept nothing reduces to false:

import jsonschema_rs

canonical = jsonschema_rs.canonicalize({
    "allOf": [
        {"type": "integer", "minimum": 0},
        {"minimum": 10, "maximum": 100},
    ]
})
assert canonical.to_json_schema() == {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "integer", "minimum": 10, "maximum": 100,
}

# However they were written, equivalent schemas compare equal
same = jsonschema_rs.canonicalize(
    {"type": "integer", "maximum": 100, "minimum": 10}
)
assert canonical == same

# A schema no value can satisfy collapses
from jsonschema_rs.canonical import Satisfiability

empty = jsonschema_rs.canonicalize(
    {"type": "integer", "minimum": 10, "maximum": 5}
)
assert empty.satisfiability() == Satisfiability.NO

A schema the canonical form cannot model exactly comes back unchanged, with kind == CanonicalKind.RAW. Its view().reason names what stopped the run, and view().pointer the subschema at fault when a single one is.

Canonical schemas combine like sets of values. Every emitted schema carries $schema; the comments below leave it out:

positive = jsonschema_rs.canonicalize({"type": "integer", "minimum": 0})
bounded = jsonschema_rs.canonicalize({"type": "integer", "maximum": 100})

# Every value both admit
positive.intersect(bounded).to_json_schema()
# {"type": "integer", "minimum": 0, "maximum": 100}

# Every value either admits
positive.union(bounded).to_json_schema()
# {"type": "integer"}

# Every value `positive` admits and `bounded` rejects
positive.subtract(bounded).to_json_schema()
# {"type": "integer", "minimum": 101}

# Every value `positive` rejects: other types, negative integers
# and non-integer numbers
positive.negate().to_json_schema()
# {"anyOf": [{"type": ["null", "boolean", "string", "array", "object"]},
#            {"type": "integer", "maximum": -1},
#            {"type": "number", "not": {"multipleOf": 1}}]}

# Containment.NO: `bounded` takes negative integers, `positive` does not
positive.covers(bounded)
positive.satisfiability()  # Satisfiability.YES

Comparing two versions of a schema

subtract tells you what an edit did to a schema. old.subtract(new) accepts exactly the values old accepts and new rejects, so it accepts nothing when the edit lost nothing.

old = jsonschema_rs.canonicalize({"type": "string"})
new = jsonschema_rs.canonicalize({"type": "string", "maxLength": 50})

# What `new` stopped accepting, as a schema
assert old.subtract(new).to_json_schema() == {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "string", "minLength": 51,
}
# Nothing is accepted that was not accepted before, so the change only narrows
assert new.subtract(old).satisfiability() == Satisfiability.NO

The direction to check depends on who sends the value:

  • For a request schema, check old.subtract(new). It accepts the payloads existing callers send that the new schema rejects.
  • For a response schema, check new.subtract(old). It accepts the values the new schema lets a server return that callers never agreed to read.

Satisfiability.NO on the difference proves the edit safe in that direction. UNKNOWN means the canonicalizer could not decide, and proves nothing either way. Read it as the answer that keeps you safe:

  • satisfiability(): only Satisfiability.NO proves a schema accepts nothing. Treat UNKNOWN like YES.
  • a.covers(b): only Containment.YES proves a accepts every value b accepts. Treat UNKNOWN like NO.

Containment, Satisfiability, Distinctness, CanonicalKind, UnsatisfiableReason, Cause and the exceptions below live in jsonschema_rs.canonical.

The set operations raise IncompatibleOperands when the operands differ in draft, format assertion or regular-expression engine, or resolve # or one external resource to different schemas. They raise UnsupportedOperand when an operand is RAW, and UnsupportedResult when the canonical form cannot express the result exactly. All three subclass CanonicalizationError.

Finding the dead subschemas of a document

find_unsatisfiable walks a whole document and reports each subschema that accepts no value, with the keywords at fault and their pointers:

from jsonschema_rs.canonical import UnsatisfiableReason, find_unsatisfiable

reasons = find_unsatisfiable({
    "properties": {
        "tag": {"type": "string", "minLength": 5, "maxLength": 2},
        "name": {"type": "string"},
    }
})

match reasons["/properties/tag"]:
    case UnsatisfiableReason.Conflict(causes):
        assert [(cause.pointer, cause.keywords) for cause in causes] == [
            ("/properties/tag", ["type"]),
            ("/properties/tag", ["minLength", "maxLength"]),
        ]

# A live subschema is not reported
assert "/properties/name" not in reasons

A reason is Literal (written as false), Empty (one part admits nothing by itself) or Conflict (each part admits values, together they admit none). A missing pointer does not prove that subschema satisfiable. For a document the canonical form cannot model, find_unsatisfiable reports nothing, the same way satisfiability() answers UNKNOWN.

Meta-Schema Validation

jsonschema_rs.meta checks a schema against the meta-schema of its draft:

import jsonschema_rs

# Valid schema
schema = {
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "age": {"type": "integer", "minimum": 0}
    },
    "required": ["name"]
}

# Validate schema (draft is auto-detected)
assert jsonschema_rs.meta.is_valid(schema)
jsonschema_rs.meta.validate(schema)  # No error raised

# Invalid schema
invalid_schema = {
    "minimum": "not_a_number"  # "minimum" must be a number
}

try:
    jsonschema_rs.meta.validate(invalid_schema)
except jsonschema_rs.ValidationError as exc:
    assert 'is not of type "number"' in str(exc)

Regular Expression Configuration

pattern_options picks the regex engine for pattern and patternProperties and sets its limits:

import jsonschema_rs
from jsonschema_rs import FancyRegexOptions, RegexOptions

# Default fancy-regex engine with backtracking limits
# (supports advanced features but needs protection against DoS)
validator = jsonschema_rs.validator_for(
    {"type": "string", "pattern": "^(a+)+$"},
    pattern_options=FancyRegexOptions(backtrack_limit=10_000)
)

# Standard regex engine for guaranteed linear-time matching
# (prevents regex DoS attacks but supports fewer features)
validator = jsonschema_rs.validator_for(
    {"type": "string", "pattern": "^a+$"},
    pattern_options=RegexOptions()
)

# Both engines support memory usage configuration
validator = jsonschema_rs.validator_for(
    {"type": "string", "pattern": "^a+$"},
    pattern_options=RegexOptions(
        size_limit=1024 * 1024,   # Maximum compiled pattern size
        dfa_size_limit=10240      # Maximum DFA cache size
    )
)
  • FancyRegexOptions: default engine, supports lookaround and backreferences

    • backtrack_limit: Maximum backtracking steps
    • size_limit: Maximum compiled regex size in bytes
    • dfa_size_limit: Maximum DFA cache size in bytes
  • RegexOptions: matches in linear time, no lookaround or backreferences

    • size_limit: Maximum compiled regex size in bytes
    • dfa_size_limit: Maximum DFA cache size in bytes

If you validate against schemas from untrusted sources, use RegexOptions: a crafted pattern cannot make it backtrack.

Email Format Configuration

email_options makes {"format": "email"} stricter or looser than the spec default:

import jsonschema_rs
from jsonschema_rs import EmailOptions

# Require a top-level domain (reject "user@localhost")
validator = jsonschema_rs.validator_for(
    {"format": "email", "type": "string"},
    validate_formats=True,
    email_options=EmailOptions(require_tld=True)
)
validator.is_valid("user@localhost")     # False
validator.is_valid("user@example.com")   # True

# Disallow IP address literals and display names
validator = jsonschema_rs.validator_for(
    {"format": "email", "type": "string"},
    validate_formats=True,
    email_options=EmailOptions(
        allow_domain_literal=False,  # Reject "user@[127.0.0.1]"
        allow_display_text=False     # Reject "Name <user@example.com>"
    )
)

# Require at least 3 domain segments, e.g. user@sub.example.com
validator = jsonschema_rs.validator_for(
    {"format": "email", "type": "string"},
    validate_formats=True,
    email_options=EmailOptions(minimum_sub_domains=3),
)
  • require_tld: Require a top-level domain (e.g., reject "user@localhost") (default: False)
  • allow_domain_literal: Allow IP address literals like "user@[127.0.0.1]" (default: True)
  • allow_display_text: Allow display names like "Name user@example.com" (default: True)
  • minimum_sub_domains: Minimum number of domain segments required

External References

By default, jsonschema-rs fetches external $ref targets over HTTP and from the local file system. Pass a retriever to load them yourself. This one serves schemas from a dict:

import jsonschema_rs

def retrieve(uri: str):
    schemas = {
        "https://example.com/person.json": {
            "type": "object",
            "properties": {
                "name": {"type": "string"},
                "age": {"type": "integer"}
            },
            "required": ["name", "age"]
        }
    }
    if uri not in schemas:
        raise KeyError(f"Schema not found: {uri}")
    return schemas[uri]

schema = {
    "$ref": "https://example.com/person.json"
}

validator = jsonschema_rs.validator_for(schema, retriever=retrieve)

# This is valid
validator.is_valid({
    "name": "Alice",
    "age": 30
})

# This is invalid (missing "age")
validator.is_valid({
    "name": "Bob"
})  # False

For schemas from untrusted sources, pass offline=True. The validator then refuses to fetch any $ref target, so a schema cannot reach your network or file system. Schemas held in a Registry still resolve:

try:
    jsonschema_rs.validator_for(
        {"$ref": "https://example.com/other.json"}, offline=True
    )
except jsonschema_rs.ValidationError as exc:
    assert "Retrieval is disabled" in str(exc)

bundle, dereference and canonicalize take offline too.

Schema Registry

A Registry holds schemas by URI, so a validator resolves $refs to them without fetching anything:

import jsonschema_rs

# Create a registry with schemas
registry = jsonschema_rs.Registry([
    ("https://example.com/address.json", {
        "type": "object",
        "properties": {
            "street": {"type": "string"},
            "city": {"type": "string"}
        }
    }),
    ("https://example.com/person.json", {
        "type": "object",
        "properties": {
            "name": {"type": "string"},
            "address": {"$ref": "https://example.com/address.json"}
        }
    })
])

# Use the registry with any validator
validator = jsonschema_rs.validator_for(
    {"$ref": "https://example.com/person.json"},
    registry=registry
)

# Validate instances
assert validator.is_valid({
    "name": "John",
    "address": {"street": "Main St", "city": "Boston"}
})

Registry also takes a default draft and a retriever for URIs it does not hold:

import jsonschema_rs

registry = jsonschema_rs.Registry(
    resources=[
        (
            "https://example.com/address.json",
            {}
        )
    ],  # Your schemas
    draft=jsonschema_rs.Draft202012,  # Optional
    retriever=lambda uri: {}  # Optional
)

Error Handling

A ValidationError carries the message, both locations and a kind with keyword-specific details:

import jsonschema_rs

schema = {"type": "string", "maxLength": 5}

try:
    jsonschema_rs.validate(schema, "too long")
except jsonschema_rs.ValidationError as error:
    # Basic error information
    print(error.message)       # '"too long" is longer than 5 characters'
    print(error.instance_path) # Location in the instance that failed
    print(error.schema_path)   # Location in the schema that failed

    # Detailed error information via `kind`
    if isinstance(error.kind, jsonschema_rs.ValidationErrorKind.MaxLength):
        assert error.kind.limit == 5
        print(f"Exceeded maximum length of {error.kind.limit}")

The type stubs list every error kind and its attributes.

Error Kind Properties

kind also has generic accessors:

for error in jsonschema_rs.iter_errors({"minimum": 5}, 3):
    print(error.kind.name)      # "minimum"
    print(error.kind.value)     # 5
    print(error.kind.as_dict()) # {"limit": 5}

Each kind is a class you can match on:

for error in jsonschema_rs.iter_errors({"minimum": 5}, 3):
    match error.kind:
        case jsonschema_rs.ValidationErrorKind.Minimum(limit=limit):
            print(f"Value below {limit}")
        case jsonschema_rs.ValidationErrorKind.Type(types=types):
            print(f"Expected one of {types}")

Error Message Masking

Pass mask to replace instance values in error messages with a placeholder:

import jsonschema_rs

schema = {
    "type": "object",
    "properties": {
        "password": {"type": "string", "minLength": 8},
        "api_key": {"type": "string", "pattern": "^[A-Z0-9]{32}$"}
    }
}

# Replace instance values with "[REDACTED]"
validator = jsonschema_rs.validator_for(schema, mask="[REDACTED]")

try:
    validator.validate({
        "password": "123",
        "api_key": "secret_key_123"
    })
except jsonschema_rs.ValidationError as exc:
    assert str(exc) == '''[REDACTED] is shorter than 8 characters

Failed validating "minLength" in schema["properties"]["password"]

On instance["password"]:
    [REDACTED]'''

Performance

Compared with other Python validators:

  • 188-11,557x faster than jsonschema for complex schemas and large instances
  • 10-1,924x faster than fastjsonschema on CPython

Full results and methodology are in BENCHMARKS.md.

Compile-Time Validators

If you ship your own extension module and know the schema at build time, the Rust crate's #[jsonschema::validator(..., backend = Pyo3)] macro compiles it into a validator that reads Python objects directly, so nothing is parsed or compiled when your module is imported, and validation runs up to 4.8x faster than with a validator built at run time. See the macro documentation.

This is not available from the jsonschema-rs package on PyPI, which takes its schemas at run time. A complete extension with its build and test commands lives in examples/pyo3-extension.

Python support

jsonschema-rs supports CPython 3.10 through 3.14 and PyPy 3.10+.

Pre-built wheels are available for:

  • Linux: x86_64, i686, aarch64 (glibc and musl)
  • macOS: x86_64, aarch64, universal2
  • Windows: x64, x86, arm64

Troubleshooting

If a source build on Linux fails with linking errors (e.g., undefined symbols from ring), use the mold linker:

RUSTFLAGS="-C link-arg=-fuse-ld=mold" \
  pip install jsonschema-rs --no-binary :all:

Acknowledgements

The API design draws on the Python jsonschema package. Thanks to its maintainers and contributors.

Support

Ask questions and suggest improvements in GitHub Discussions.

Sponsorship

If you find jsonschema-rs useful, please consider sponsoring its development.

Contributing

Ways to help:

See CONTRIBUTING.md for more details.

License

Licensed under MIT License.

Metadata

Release files for jsonschema-rs 0.61.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jsonschema-rs 0.61.0
File Size Uploaded Provenance Actions
jsonschema_rs-0.61.0.tar.gz 3.0 MB Without provenance Details for jsonschema_rs-0.61.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for jsonschema-rs 0.61.0
File Actions
jsonschema_rs-0.61.0-pp311-pypy311_pp80-win_amd64.whl PyPy 3.11 PyPy 3.11 8.0 Windows x86-64 Details for jsonschema_rs-0.61.0-pp311-pypy311_pp80-win_amd64.whl
jsonschema_rs-0.61.0-pp311-pypy311_pp80-macosx_10_12_x86_64.whl PyPy 3.11 PyPy 3.11 8.0 macOS 10.12+ x86-64 Details for jsonschema_rs-0.61.0-pp311-pypy311_pp80-macosx_10_12_x86_64.whl
jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.28+ ARM64 Details for jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details for jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
jsonschema_rs-0.61.0-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details for jsonschema_rs-0.61.0-cp315-cp315t-win_arm64.whl
jsonschema_rs-0.61.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for jsonschema_rs-0.61.0-cp315-cp315t-win_amd64.whl
jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64 Details for jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_x86_64.whl
jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64 Details for jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_aarch64.whl
jsonschema_rs-0.61.0-cp315-cp315t-manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64 Details for jsonschema_rs-0.61.0-cp315-cp315t-manylinux_2_28_aarch64.whl
jsonschema_rs-0.61.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details for jsonschema_rs-0.61.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
jsonschema_rs-0.61.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for jsonschema_rs-0.61.0-cp315-cp315t-macosx_11_0_arm64.whl
jsonschema_rs-0.61.0-cp315-cp315t-macosx_10_12_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64 Details for jsonschema_rs-0.61.0-cp315-cp315t-macosx_10_12_x86_64.whl
jsonschema_rs-0.61.0-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details for jsonschema_rs-0.61.0-cp314-cp314t-win_arm64.whl
jsonschema_rs-0.61.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for jsonschema_rs-0.61.0-cp314-cp314t-win_amd64.whl
jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details for jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_x86_64.whl
jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details for jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_aarch64.whl
jsonschema_rs-0.61.0-cp314-cp314t-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 Details for jsonschema_rs-0.61.0-cp314-cp314t-manylinux_2_28_aarch64.whl
jsonschema_rs-0.61.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details for jsonschema_rs-0.61.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
jsonschema_rs-0.61.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for jsonschema_rs-0.61.0-cp314-cp314t-macosx_11_0_arm64.whl
jsonschema_rs-0.61.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details for jsonschema_rs-0.61.0-cp314-cp314t-macosx_10_12_x86_64.whl
jsonschema_rs-0.61.0-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details for jsonschema_rs-0.61.0-cp310-abi3-win_arm64.whl
jsonschema_rs-0.61.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for jsonschema_rs-0.61.0-cp310-abi3-win_amd64.whl
jsonschema_rs-0.61.0-cp310-abi3-win32.whl CPython 3.10 abi3 Windows x86-32 Details for jsonschema_rs-0.61.0-cp310-abi3-win32.whl
jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details for jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_x86_64.whl
jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details for jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_aarch64.whl
jsonschema_rs-0.61.0-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details for jsonschema_rs-0.61.0-cp310-abi3-manylinux_2_28_aarch64.whl
jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-32 Details for jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
jsonschema_rs-0.61.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for jsonschema_rs-0.61.0-cp310-abi3-macosx_11_0_arm64.whl
jsonschema_rs-0.61.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for jsonschema_rs-0.61.0-cp310-abi3-macosx_10_12_x86_64.whl

Total release size: 184.3 MB

Release files / jsonschema_rs-0.61.0.tar.gz

Download URL jsonschema_rs-0.61.0.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
e603b8ecaaa43942634b506688175bf95f2e546c7470592faa396eba361f54ff
BLAKE2b-256 checksum
How to use checksums
fbcdde915381d5474c939616bf73ceda668bf85a8aa1587c43a1bb1d9946b3d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-pp311-pypy311_pp80-win_amd64.whl

Download URL jsonschema_rs-0.61.0-pp311-pypy311_pp80-win_amd64.whl
Size 6.3 MB
Tags PyPy 3.11 PyPy 3.11 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
846eaefe3c3e11e8a79a5ada9e2ec999d094aeb1eadc3593d4e9072a338cf546
BLAKE2b-256 checksum
How to use checksums
59cef360a824c7ee747f92cb325c0553000b03588b550fa5f9bbf8280f1946e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-pp311-pypy311_pp80-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.0-pp311-pypy311_pp80-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
da03a618d027af236d66a35c559e0760ffdcffa8e6dfe20c515122cdd295eb18
BLAKE2b-256 checksum
How to use checksums
d7b5f2b93dd515ef017e017637cca56e98fb9275a9ac083d2ad1338869619a07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags Linux glibc 2.28+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
75d7d906c3ccd783a5a15f2213704382d714156bfdbc4abd8140cce22cf3b272
BLAKE2b-256 checksum
How to use checksums
93a823489ee7c416a997b2af348cef781041086b03be18393c17fda23fe78677
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.3 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
fe2844336b8d7aba28a95776ab7184b08fcc160964a4b91cf33985ddd1b05207
BLAKE2b-256 checksum
How to use checksums
59aa9087774c8d5f5c1478b408a83893bf8d0d0fd4fd1b3e764bbce306c609d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-win_arm64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-win_arm64.whl
Size 5.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
0ee660134db7087ae47d6693cbb4a4b2dfbc6c998eff823b82f273946b50d8aa
BLAKE2b-256 checksum
How to use checksums
c35c467bfbe3945457ac4a55597fbbcf2aefe6b579ba34cef14087e5048ce592
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-win_amd64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-win_amd64.whl
Size 6.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
95c56b62ec69dab3cfcec1a64c9ffc9e46bb0afb63ff5743152e5a5d5e5337c8
BLAKE2b-256 checksum
How to use checksums
04087c1d9b6357d8d475a83e4fea9508cc1e100f833915ea55bfd97680f5124b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 6.5 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
eaea45a57a01b09e67f7f447500269fac9364065ae0e5e30b4bfc42ad11e8189
BLAKE2b-256 checksum
How to use checksums
e04aa5badad70a00138b3e1393bf9e5078e828cbaeca3fd10c86b342183de487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 6.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
fb9102b9b18521a60f66a13e4cf1790839ce1fb86d1d6ed84bddcdecc1f797c6
BLAKE2b-256 checksum
How to use checksums
ea539b48e4b7a78ba101e3b5f39c66283b5c88f53c92bebb3950d34e7f65c519
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
50659edb33bdd843b76190dd5239276df4f1f6a96a64aeaf0cc7b666f14d35d1
BLAKE2b-256 checksum
How to use checksums
7a42b3ef5f1b362396396d642c9f64ade0c2cba8b8d74687d995fafa5c39b748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.3 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ea9ec02b363018cd3a638263e782f314a07c451d62a6356559222add9b319213
BLAKE2b-256 checksum
How to use checksums
7eb982dd5c7c3a863185d7a9f5e437354a1e6935f8a2885ec7c6246642f78fe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 5.7 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5ea4ac2bd603255268d4187ba3a32ab0dbcd5b0dfa79578b291942160a51eebc
BLAKE2b-256 checksum
How to use checksums
2672fc9f449acd077414a29ab997774d569f7cf7f89ccdf7e7a13430b0771060
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp315-cp315t-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp315-cp315t-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5459d89d4690686b7d29ef2fb6ce0f90b6618666590ecabfa0d90ec5554f4df3
BLAKE2b-256 checksum
How to use checksums
8b062a637837fe356fcbb50b2ce349a837ba53b021b61095ffb2dd08bd0f105d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-win_arm64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-win_arm64.whl
Size 5.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
c2878b7226808963f53712193be690bfb212f6f527adb9f20efa886a8709f13f
BLAKE2b-256 checksum
How to use checksums
2464163a052d04ef86ddf7747ceafb29c63475b7037913a390ad6d041f040712
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-win_amd64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-win_amd64.whl
Size 6.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
80266cef05255ffd691b90dd453296438571ddcea5043cc6544bc30fde53ed28
BLAKE2b-256 checksum
How to use checksums
cf8bc884d6996daaa89e881a58dfe2d353cb47aebf982bff4064aa683c008d45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 6.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
397f2a64718c29e8ca2b4ba4b4d230b858c6c51749e6e6e9f77efb32e181f82e
BLAKE2b-256 checksum
How to use checksums
e053c8157b6debd2e4ae03358e3a993e8a5e37450b3d7f9215ecb690c353c675
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 6.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
7c2abf06081c7c40807b3e9ee1356d1de1cef3625bf8b634b9973bd1502c9067
BLAKE2b-256 checksum
How to use checksums
d7e38d82fa17e27bc4d7c6443166b0971316a3ef4517608cfae251c6f602840a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
acc23920e88abac46d03406b50dfebbccf297b951d6d4714eba000afa2c430b5
BLAKE2b-256 checksum
How to use checksums
7ac8e7a997ff786d0b9edf396b6b6dc925f63447382f2f59189d2cc3c7726c78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.3 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4bbe862f19dedf5eb479ea8ba92d9fee2528809ed809921a7d86b2eb59722bdd
BLAKE2b-256 checksum
How to use checksums
9358c4b7bf273d2c5720653e36c803f099cc90298781631d04c19c880b1fe21c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 5.7 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4bcf3ac29887c1636d6154a0bc12f474e1cda5d9101b0dc66e233059a7da4442
BLAKE2b-256 checksum
How to use checksums
ef6492d970be26cd0226b1d18a7a56a7adde16fae3945118ae8c9ecb6231b904
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
45dbe680169737d2417d3f9be2a4317e3d4e549aaf0932a8e368b312600cae72
BLAKE2b-256 checksum
How to use checksums
dd40fb0aa932ece42fc3e4c8d17e2b1426f97026ce602e8a88359b4263884996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-win_arm64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-win_arm64.whl
Size 5.9 MB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
a84b0d9269144e69aa976d4cac9b155254284efee829278e124f7873678e6208
BLAKE2b-256 checksum
How to use checksums
08ec8099c0f5278dc1f747847181971708dbd716eb3a82af9e1125ecff86ecd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-win_amd64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-win_amd64.whl
Size 6.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
696c2052e638f907ac859446f562c1c7f25c7b46b256db4541dcd52aa6829e8d
BLAKE2b-256 checksum
How to use checksums
c176dbe31ba6463282d89e89ef56a0d091005a782f39dce8e31755e9ab46fa8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-win32.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-win32.whl
Size 5.4 MB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
c43a2224296556fe5d0344b915d38a14973ccdbfa96516d89d539b649f37e176
BLAKE2b-256 checksum
How to use checksums
32a9da7ca69cbe9225d239623294a8da7d9069ca4e1a29a575801885d5595302
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_x86_64.whl
Size 6.5 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
cfa557bf0278152444a56423d58433fb0570c8e2e8bd600d8ecf7252085ac2f8
BLAKE2b-256 checksum
How to use checksums
6ea228f2c829ca5c433b9bafd4e27611b61a8e6c048a469f1684a732422724b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-musllinux_1_2_aarch64.whl
Size 5.9 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
c7294ddfa284a1e08d33ad597b8e73d264a947175e2159bf6bfe8e7b74633fe4
BLAKE2b-256 checksum
How to use checksums
e28845aec6f8cbd9fe1152a2e167de7bb67d740a124b3821e2afb0e651bb9fbb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.7 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
fbcaeda28355c0c59d2aa984bbf1b1d747540ef496cc35c7782105be80e95600
BLAKE2b-256 checksum
How to use checksums
7b6a54830c6ab92453a35754d05ee3d1fe48b632ba26b9cd9648dd2bf9219b3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6620c857c351cd34909f00161d043db04572a32225a92e55faf79495f9aa2bf9
BLAKE2b-256 checksum
How to use checksums
63cd8bc2e34e97f181314a2d786f2cd220e5a3c252bfcaffdd4a2ffb585b6897
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl
Size 6.1 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-32 abi3
SHA-256 checksum
How to use checksums
96b2ee93f4413f530dcf21b61a3f409806acebdca0c3c671905cc8aca75d5696
BLAKE2b-256 checksum
How to use checksums
fafafbe1809b5bc7427c4cf9dc4ff56ec350a6ac46b684c0d71b9c0aa8c69e66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-macosx_11_0_arm64.whl
Size 5.6 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
630b21f4fe25a3457dde9e0f865ef03eeb9289611494ee5dc6c68a50145214f5
BLAKE2b-256 checksum
How to use checksums
35d5ab062ebcefbc97fcb2045e8740b12e65058d5c8b632a05e6af376e488be9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / jsonschema_rs-0.61.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 6.1 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
83614f6e031c30b712dd5ed04ff79c14de35d08aebd20cdc1856fdb9af106208
BLAKE2b-256 checksum
How to use checksums
b9eb428b6dfb70513dc9eb3cf8c0fff7b741b8883261de9ee5eac54ddc8cad69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for jsonschema-rs 0.61.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.61.0 This release

31 release files No provenance

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