Skip to main content

Schema Annotations for Linked Avro Data (SALAD)

Project description

Linux Build Status Code coverage Documentation Status CII Best Practices

Schema Salad

Salad is a schema language for describing JSON or YAML structured linked data documents. Salad schema describes rules for preprocessing, structural validation, and hyperlink checking for documents described by a Salad schema. Salad supports rich data modeling with inheritance, template specialization, object identifiers, object references, documentation generation, code generation, and transformation to RDF. Salad provides a bridge between document and record oriented data modeling and the Semantic Web.

The Schema Salad library is Python 3.6+ only.

Installation

pip3 install schema_salad

If you intend to use the schema-salad-tool –codegen=python feature, please include the [pycodegen] extra:

pip3 install schema_salad[pycodegen]

To install from source:

git clone https://github.com/common-workflow-language/schema_salad
cd schema_salad
pip3 install .
# or pip3 install .[pycodegen] if needed

Commands

Schema salad can be used as a command line tool or imported as a Python module:

$ schema-salad-tool
usage: schema-salad-tool [-h] [--rdf-serializer RDF_SERIALIZER] [--skip-schemas]
                      [--strict-foreign-properties] [--print-jsonld-context]
                      [--print-rdfs] [--print-avro] [--print-rdf] [--print-pre]
                      [--print-index] [--print-metadata] [--print-inheritance-dot]
                      [--print-fieldrefs-dot] [--codegen language] [--codegen-target CODEGEN_TARGET]
                      [--codegen-examples directory] [--codegen-package dotted.package]
                      [--codegen-copyright copyright_string] [--print-oneline]
                      [--print-doc] [--strict | --non-strict]
                      [--verbose | --quiet | --debug] [--only ONLY] [--redirect REDIRECT]
                      [--brand BRAND] [--brandlink BRANDLINK] [--brandstyle BRANDSTYLE]
                      [--brandinverse] [--primtype PRIMTYPE] [--version]
                      [schema] [document]

$ python
>>> import schema_salad

Validate a schema:

$ schema-salad-tool myschema.yml

Validate a document using a schema:

$ schema-salad-tool myschema.yml mydocument.yml

Generate HTML documentation:

$ schema-salad-tool --print-doc myschema.yml > myschema.html
$ # or
$ schema-salad-doc myschema.yml > myschema.html

Get JSON-LD context:

$ schema-salad-tool --print-jsonld-context myschema.yml mydocument.yml

Convert a document to JSON-LD:

$ schema-salad-tool --print-pre myschema.yml mydocument.yml > mydocument.jsonld

Generate Python classes for loading/generating documents described by the schema (Requires the [pycodegen] extra):

$ schema-salad-tool --codegen=python myschema.yml > myschema.py

Display inheritance relationship between classes as a graphviz ‘dot’ file and render as SVG:

$ schema-salad-tool --print-inheritance-dot myschema.yml | dot -Tsvg > myschema.svg

Quick Start

Let’s say you have a ‘basket’ record that can contain items measured either by weight or by count. Here’s an example:

basket:
  - product: bananas
    price: 0.39
    per: pound
    weight: 1
  - product: cucumbers
    price: 0.79
    per: item
    count: 3

We want to validate that all the expected fields are present, the measurement is known, and that “count” cannot be a fractional value. Here is an example schema to do that:

- name: Product
  doc: |
    The base type for a product.  This is an abstract type, so it
    can't be used directly, but can be used to define other types.
  type: record
  abstract: true
  fields:
    product: string
    price: float

- name: ByWeight
  doc: |
    A product, sold by weight.  Products may be sold by pound or by
    kilogram.  Weights may be fractional.
  type: record
  extends: Product
  fields:
    per:
      type:
        type: enum
        symbols:
          - pound
          - kilogram
      jsonldPredicate: '#per'
    weight: float

- name: ByCount
  doc: |
    A product, sold by count.  The count must be a integer value.
  type: record
  extends: Product
  fields:
    per:
      type:
        type: enum
        symbols:
          - item
      jsonldPredicate: '#per'
    count: int

- name: Basket
  doc: |
    A basket of products.  The 'documentRoot' field indicates it is a
    valid starting point for a document.  The 'basket' field will
    validate subtypes of 'Product' (ByWeight and ByCount).
  type: record
  documentRoot: true
  fields:
    basket:
      type:
        type: array
        items: Product

You can check the schema and document in schema_salad/tests/basket_schema.yml and schema_salad/tests/basket.yml:

$ schema-salad-tool basket_schema.yml basket.yml
Document `basket.yml` is valid

Documentation

See the specification and the metaschema (salad schema for itself). For an example application of Schema Salad see the Common Workflow Language.

Rationale

The JSON data model is an popular way to represent structured data. It is attractive because of it’s relative simplicity and is a natural fit with the standard types of many programming languages. However, this simplicity comes at the cost that basic JSON lacks expressive features useful for working with complex data structures and document formats, such as schemas, object references, and namespaces.

JSON-LD is a W3C standard providing a way to describe how to interpret a JSON document as Linked Data by means of a “context”. JSON-LD provides a powerful solution for representing object references and namespaces in JSON based on standard web URIs, but is not itself a schema language. Without a schema providing a well defined structure, it is difficult to process an arbitrary JSON-LD document as idiomatic JSON because there are many ways to express the same data that are logically equivalent but structurally distinct.

Several schema languages exist for describing and validating JSON data, such as JSON Schema and Apache Avro data serialization system, however none understand linked data. As a result, to fully take advantage of JSON-LD to build the next generation of linked data applications, one must maintain separate JSON schema, JSON-LD context, RDF schema, and human documentation, despite significant overlap of content and obvious need for these documents to stay synchronized.

Schema Salad is designed to address this gap. It provides a schema language and processing rules for describing structured JSON content permitting URI resolution and strict document validation. The schema language supports linked data through annotations that describe the linked data interpretation of the content, enables generation of JSON-LD context and RDF schema, and production of RDF triples by applying the JSON-LD context. The schema language also provides for robust support of inline documentation.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

schema-salad-8.3.20220831150015.tar.gz (534.7 kB view details)

Uploaded Source

Built Distributions

schema_salad-8.3.20220831150015-py3-none-any.whl (563.9 kB view details)

Uploaded Python 3

schema_salad-8.3.20220831150015-cp310-cp310-musllinux_1_1_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.24+ ARM64

schema_salad-8.3.20220831150015-cp39-cp39-musllinux_1_1_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.24+ ARM64

schema_salad-8.3.20220831150015-cp38-cp38-musllinux_1_1_aarch64.whl (1.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.24+ ARM64

schema_salad-8.3.20220831150015-cp37-cp37m-musllinux_1_1_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ ARM64

schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (985.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (992.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.24+ ARM64

schema_salad-8.3.20220831150015-cp36-cp36m-musllinux_1_1_aarch64.whl (1.0 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ ARM64

schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (998.9 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (979.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (985.4 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.24+ ARM64

File details

Details for the file schema-salad-8.3.20220831150015.tar.gz.

File metadata

File hashes

Hashes for schema-salad-8.3.20220831150015.tar.gz
Algorithm Hash digest
SHA256 bed50c4c3b86584b5e59121b15d7182f5397686f91989186ca9feed5a0c6bb94
MD5 f096d8e29e1d1920c175db0be5f459b3
BLAKE2b-256 93c08cb09cb574c7dfdab115b46117353e5f6bb9a76d29c1d6698443e5c16c8e

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-py3-none-any.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-py3-none-any.whl
Algorithm Hash digest
SHA256 e0f4e5f765736bee091b8d902b536f95ec0adedc53f4f25ab5614090bcab5b39
MD5 fee557d04d962f4fe7f3d1dec5163c1b
BLAKE2b-256 ee25d78d32129f27e7511efa90afa53b7049a14640150ee540ce0e6cc1762b86

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 710a5ccde30e4f15ec5ec8f1c814ffa2528bf2711db143a054d87d66860e85b8
MD5 27448048001fe6f17ce11d815b71ea97
BLAKE2b-256 298ed75e7b29961f9a609764f77df0770b740283a2c665d0e501ecb42be41eee

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d916b4b5f4ee410e73c204af5f9ce17cd0f02892447c88b4db6240960a54cab5
MD5 772ff4f17fa17ce8d470d331cfaa85a9
BLAKE2b-256 97890a3bc0aa7dd7ee07c196c922564a4237fe2e1a69a6c1bd92f1e7c892b6aa

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eba6858696f8ef3a6c4afada6e07c65032c1921c4a0eab5b769103c7c222216f
MD5 877684fc7b6e197c29aacb973a19f3ba
BLAKE2b-256 94565de38e6bd6e481feee1d74b9847876816ac9c00c04084fc1ae2da6595ffd

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 c80063c8e5b15aaa5fe851e09051d5d485161d0de0c8ae920bcf60151c1c5d63
MD5 41d5eb95daa4446588b154b481246a29
BLAKE2b-256 0d1b31cb576d4ec7173995246dd1a461bc3346a00c43df352fc7e6cae52c8ecd

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 51a9690bf5c25379876585a38c03fb3aa6a158508559241da556e5b243e6488d
MD5 067656750fa416f65adf91ee57d445ff
BLAKE2b-256 58679c0c80c1d7be50db3a1ecfd4174cf133de20d55baae37aa26c2ec89da601

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9beb9fa4e55bdad8cc71b974e9a183d585411f75911d36a2f053d037c4ce3a62
MD5 35400f7b4ffbfc11486009272faae7d6
BLAKE2b-256 f5e5b4c4ac7f0809640d71710028c2cacdc21cea5dcfd3a1efc5f3b94f59246c

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b151cabc146a14f649d99d380f653fa9e48b393a2f0eee57b079f9a07b36fe6c
MD5 033dd684df898bb9469f5aaca95cb599
BLAKE2b-256 a9da2b104253d7a7c45b670e24c7350209f8b13ba8e3e3dd1470f286747cd588

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 1fb7326a980fa83c5a249b2f3ef7f3335301e67bf2c59e8023ba3c794d0e013e
MD5 179c781dc8736ede2dd886afdac97966
BLAKE2b-256 2c5bd1b37775ad62e8a341b53d4684a221875a587df057cea38594686394ff03

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 cd93bdd6cc184eae2d4bb105aeb1d1b9e23ca0c85c27a9cf3387b628327a8e54
MD5 94581aeab9e794f253b4f6a94bdc1d93
BLAKE2b-256 79fc8bdd04854bbe48e85cd3f911db3509f82ee4814e6b9e1938eb4e2daa0b37

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee9a58846f80d4c99dfec6c4c0d390193480c6af773c66703038dc9f85f3ff96
MD5 8926ce843018dcdfe31ea84cb149fb09
BLAKE2b-256 a17fd57fcaa2353c5c17a23bc2bc4520a8e84a7a3553c197fcc2fbf125160256

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ec1c3162057d6baa6ac4e0b14e3cf3cd9d04d18f96d70739363277485078614f
MD5 14c3f760d53141f028fa0f91e012c457
BLAKE2b-256 057a1b4a360de38014180fe1d070d7c6f9be29e48bb837b91f715733d2647b9a

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 7424e15351e02c61df26624c88533c8213a35f03f9909f73460f5f3d51458943
MD5 b9ee563f6c643a75a0970297970f477a
BLAKE2b-256 82039e50c8ef3989f902b57b6c864bd475fcdd5cc166399e3801e6d821a74eab

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp37-cp37m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 28d2e3f6b3a593ac8e1d76c9c11f4390bafad9df4b1ce7ffb00121eeab9b822b
MD5 1af5bc08bc93c743d0aa6190fb3052f6
BLAKE2b-256 7151304a10b2b4c9a7e334de0134aef69ba4b3ce8c8b549225d92a31b1bb33e4

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8b5f58d4415d3d789fe30f6d9d4f8de93e2998de1a5b93cf5957d6805fbce46
MD5 35e87171560dd9ee439bc42f264ec373
BLAKE2b-256 e1e63108458272a80977994ffbfd5eb624cf48393f9157ced646fe6a635bf7bd

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 409536a0fc057ebc187426e951f24584bb8b406f52c38a7f8a7fe72aa25585c7
MD5 31533544bbfcb5f705b343bb06daac77
BLAKE2b-256 0a26c6c6a5effa2ee97198a60f5c64cb217b11e97ea5c2f34572aa22a6647f2e

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 64571d9c11d05ab352207addc44763c3acec9a2064725121a1e64200a493630c
MD5 66e9fe027e37e32bf40acb1c3eebd4b5
BLAKE2b-256 2a215d59887ed9a010aa030805f026c9681825173229ef0472d5ad0d12b0598d

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp36-cp36m-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 4909b93ee58c4910ebb20fa55f7febbf58fbe01990e27ee79e1f3d92e7787756
MD5 f089e68691e57f9c96e873ee89b47f65
BLAKE2b-256 c3bf4e8a705c1ae00931c2be72d1e6bc20325cb31eab2195630ac4f94cc697de

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b84095f6d7edaf78ae5a50966f2cd3b6dfa5b49460042aee5d86118f9125bb53
MD5 6c012e3a1adb7605d690e2955a883229
BLAKE2b-256 74c3fa5a37527b83622679b069ce0b0246d31c366999d1933449e37bfb63e676

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 822fe02858289ede802f7f20a5fee48002a2505a827c0a4edb2fd858ff62ba33
MD5 0c35013acf61b493c28cd8305d9fb8bb
BLAKE2b-256 e7b9eb655ccb71aa02ff3f973f42b97fdac4bf9ec47a13371cfeeb1c58d49cfd

See more details on using hashes here.

File details

Details for the file schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for schema_salad-8.3.20220831150015-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 67532209e5bbd69a227912a6789f71a801b0f4541c03c9f0ac4beef49aef1300
MD5 3e3cb0eaf8769ef6b31be5afd62dd1c7
BLAKE2b-256 667735ddf577dbc5f1fda235adcd7d27ebbf030ed5548fd4ddf685c75eea9709

See more details on using hashes here.

Supported by

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