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.1

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.1
File Size Uploaded Provenance Actions
jsonschema_rs-0.61.1.tar.gz 3.0 MB Without provenance Details for jsonschema_rs-0.61.1.tar.gz

Built distributions (wheels)

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

Total release size: 186.8 MB

Release files / jsonschema_rs-0.61.1.tar.gz

Download URL jsonschema_rs-0.61.1.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
bb2ba8ff6e282205a81775dce969856b05e3445f7568f9f335e30420f351d6e5
BLAKE2b-256 checksum
How to use checksums
302fad39e5efef29bb236c50e8d3b537588296e2181e5e1837c982336292ff4e
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.1-pp311-pypy311_pp80-win_amd64.whl

Download URL jsonschema_rs-0.61.1-pp311-pypy311_pp80-win_amd64.whl
Size 6.4 MB
Tags PyPy 3.11 PyPy 3.11 8.0 Windows x86-64
SHA-256 checksum
How to use checksums
3cafdb426fefce0303a263f235f7643288150aea0faae99368b22225b50d3ebe
BLAKE2b-256 checksum
How to use checksums
d61034a47b6e42d61bcc8340b0301de0b3d791f2692b5d3f867a6eb59d3c1b97
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.1-pp311-pypy311_pp80-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.1-pp311-pypy311_pp80-macosx_10_12_x86_64.whl
Size 6.2 MB
Tags PyPy 3.11 PyPy 3.11 8.0 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e20ff5a56676dd8a91c61dcdea387433e393cf2cc438b1b09436f85bdeb9b74c
BLAKE2b-256 checksum
How to use checksums
64d82dc06b7ddd3b78ced30101f508ceb57881784432c43a99d763e5d25cac83
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.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.1-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
fee2ec3c81707741038d212b7ab189a39db48a5938240042cee51da09fede181
BLAKE2b-256 checksum
How to use checksums
cf1df92c0dac2d3ae68641b3ebf78c6bdb088095b10469b315d3fb98f231eef1
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.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.1-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.4 MB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
b337988e74c033f4c3b064518216cc237bb1715409c171c73fa97fb6aaa59dba
BLAKE2b-256 checksum
How to use checksums
a56140b4c6b719ce4f1d9bbf37d54fe3d1bacc68f78cb4099493c5a4ce34453a
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.1-cp315-cp315t-win_arm64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-win_arm64.whl
Size 6.0 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
15f29cd7bc4c4e5b20ba669f2189037f44c067dcc1db54b87d3cd40a45bfb2db
BLAKE2b-256 checksum
How to use checksums
9b1affbb62ce6d9b5dbff456d54a36ca9ef6cbd56088a0ba00875e64121b32c7
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.1-cp315-cp315t-win_amd64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-win_amd64.whl
Size 6.4 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
300fa6433a61a88032b2230a0ea4079d14a889471a66bf2459800c0a92ab7e2a
BLAKE2b-256 checksum
How to use checksums
89470601edfc0418139d52335b28aa9ec90d4f2383acb4048df71681d5d77af4
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.1-cp315-cp315t-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-musllinux_1_2_x86_64.whl
Size 6.6 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
45f4d635549200b4ef16b3aab0d0d0e02acf66b59d031822ce9ccc451382ca8f
BLAKE2b-256 checksum
How to use checksums
5fd08a31df676a0756c65163f1f28cbccc669af064fb37f039b004295992f2d6
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.1-cp315-cp315t-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-musllinux_1_2_aarch64.whl
Size 6.1 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
0d8772c0ccd93df9468edd35a56b18bfd1dc4408e39d3f7553b340ecf30d2bd6
BLAKE2b-256 checksum
How to use checksums
af686523606c9b6983288a455e61bae0d6e17eb26534bccf41a050e41cd9b7d8
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.1-cp315-cp315t-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-manylinux_2_28_aarch64.whl
Size 5.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
92bf57ae603aece18ab5c9fa736aa41d81072c04a5f4a6040c3ab6299edaea03
BLAKE2b-256 checksum
How to use checksums
203017b0bcdfab4f8641f17f32b69fde2431cdf7dfafcd1d57ec038472ed0458
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.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.4 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1ca98f250e8f91d59cee2c066e7b5d1dec7c830a77f89e9d51607dc7096d4162
BLAKE2b-256 checksum
How to use checksums
18a77808c0f8e41753bbe3b02a852991cf869d7a5a50a33033ef74b0b9e34222
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.1-cp315-cp315t-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.1-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
d1f38d465d5dc71fa3562c96ba32661774cb9d19bce3c06764b316f67cdf9e9d
BLAKE2b-256 checksum
How to use checksums
7ee4816eef89b2d329e5510e4217fdd5051730f6f0050b30b4a629e54c1b35a1
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.1-cp315-cp315t-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp315-cp315t-macosx_10_12_x86_64.whl
Size 6.2 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
b695651d317e5abcc36d359129c67fe215e93f0f41c099e002584a9986c9120d
BLAKE2b-256 checksum
How to use checksums
ef3a65ab84076eaa719ca1cf73c449008c9251b7146db7cc320892c92df99b3c
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.1-cp314-cp314t-win_arm64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-win_arm64.whl
Size 6.0 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
bd437aac2231fb2091b08193a209c0c7842dbc0be5b2bc365f31807d009fbf0c
BLAKE2b-256 checksum
How to use checksums
43f32f398f543fd19ab60386e55db218ffe00cfbbd49090803ade82cc02247ff
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.1-cp314-cp314t-win_amd64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-win_amd64.whl
Size 6.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
b9bed3ad456cc527f26f8a1b4159390237411baef212cf3eaa9e52e35eaa48e5
BLAKE2b-256 checksum
How to use checksums
d97a57e22c8c3119c51e9c5ef7fce32a9872b40166ca41e3be1172b0f28b73cc
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.1-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 6.6 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
305f8853654ab91a191ba2d0f349f3d9936a077214baaef0d1f8148f34b6d8ad
BLAKE2b-256 checksum
How to use checksums
899e7dc33578d34bbae9cdf61b47c32dd56a64c0299dad426dc7036be84c92de
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.1-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 6.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
b2694c48216c2efb38c25fe05edf3f043594b4ffa54fd10d740cb8266418bb84
BLAKE2b-256 checksum
How to use checksums
03764e9ed6c1e722f66ca28aa8debeb0712ee41395c40a1ab8811247f5ff41a9
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.1-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-manylinux_2_28_aarch64.whl
Size 5.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
ec97a64cc7d7649bb53599e7a742e2df38754fd4b06cb3f383cb9160f0d0a00b
BLAKE2b-256 checksum
How to use checksums
40de3eb8c9d732226d8d2116f390ed93df94bb53554c20fd5da3ea71065ae82d
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.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.4 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6f72d49182687da0ac302c2987640a4a8830d11899fabdd066168dbb98c0a91a
BLAKE2b-256 checksum
How to use checksums
862fe4e9c1e551eb640cc9567f7b715eb36a10ae455fece4fe7dda7d2febebf4
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.1-cp314-cp314t-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.1-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
9d909aa92cb05090be1096167835d432484664ee86f091a531fc556dfea68725
BLAKE2b-256 checksum
How to use checksums
b2287bc90526b43e0a8315415a78329cd223b992da1a3d1059fb0b63866fa9d9
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.1-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp314-cp314t-macosx_10_12_x86_64.whl
Size 6.2 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
94d6f335ae40004d91f008ae143ab53544202f201e1b9a978c0ad7c308870603
BLAKE2b-256 checksum
How to use checksums
12600a010b31295c272d9a285e79a3c2e5fb814b70593ec02b3d900de8a805ac
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.1-cp310-abi3-win_arm64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-win_arm64.whl
Size 6.0 MB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
fae9c91b1c3996a8c23cd3428174223dd3e69c589e44312ea4263562df49dd9a
BLAKE2b-256 checksum
How to use checksums
a574dc992822882e708f56ca9efca2a68e8b891baaa0df244f94c66feffad464
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.1-cp310-abi3-win_amd64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-win_amd64.whl
Size 6.3 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
2144125e920ac4b170b20eadff9e9df1cd8376580b4336ff061155936bd21cb0
BLAKE2b-256 checksum
How to use checksums
539180e62f0f7d94ffcf91347c174acf1914f851146b55ff3319a71c682c0dc3
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.1-cp310-abi3-win32.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-win32.whl
Size 5.5 MB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
e44f8c5a5cdea1516406dc47c8180f0f2d826e7afb8d778931464b7c39d052ac
BLAKE2b-256 checksum
How to use checksums
a91c486d104417a1a3c88eb1e4c66468b709cff704edf0ba8be84e6003a63d86
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.1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL jsonschema_rs-0.61.1-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
4dd60578594025905f4116aeefc131043b5ac8e9a02e2938626f163ef239ce4a
BLAKE2b-256 checksum
How to use checksums
a990c04511f6ec933abd41d30cfd22cd9364a9e2317fc87ab73c436d4508a91a
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.1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 6.0 MB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
e231050acf4ba0fb3fcb719ba396402575a9638fbb604cb21d1894d3b5b8c001
BLAKE2b-256 checksum
How to use checksums
e4d89048594029386bcad0f3a68023014a31bae27de102be08c08f0d0e8dcd8f
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.1-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-manylinux_2_28_aarch64.whl
Size 5.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
6934014dccb7eaf77502743b621f360b6eac666c9a2d47bed8238a42801cc1e5
BLAKE2b-256 checksum
How to use checksums
b58f15e673ccb3c84439d6dca9f778a68b1a8339e732fa24e452cfa1220d9c13
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.1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 6.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6652090516c88816e491a02e5fcc6cd623e2e81daab46e40826bd460a23f612c
BLAKE2b-256 checksum
How to use checksums
747f8d64e2bffc8a243cd3916bd537a77f37b48d7da535d556b09611c4b054ee
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.1-cp310-abi3-manylinux2014_i686.manylinux_2_17_i686.whl

Download URL jsonschema_rs-0.61.1-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
9b4521e69c3952f8cf1232c10676ed4467fc04b8bc0d4a975755b47ef314545b
BLAKE2b-256 checksum
How to use checksums
3ab72ff8f8746ed3fb481662e9fb759fb928f6bd274f3d03da324ec12aad8686
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.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL jsonschema_rs-0.61.1-cp310-abi3-macosx_11_0_arm64.whl
Size 5.7 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4433709d6279d5f4c77bd89e60227191a24109f5910833e84a99c62fe27a342d
BLAKE2b-256 checksum
How to use checksums
b3f3f166f92fc077fb0461c899e46b284af11b0a7f79e1774a591c7cda28c24e
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.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL jsonschema_rs-0.61.1-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
2404d7c8fc2f633e260afcfaef070716f07f6c0894335e06de73456faedf1e5b
BLAKE2b-256 checksum
How to use checksums
efca988645ce26dd84f44651cc826f527a852bc2c13032930ff0048b51f0f6b1
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.1

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.1 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