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.20220825133457.tar.gz (534.7 kB view details)

Uploaded Source

Built Distributions

schema_salad-8.3.20220825133457-py3-none-any.whl (564.0 kB view details)

Uploaded Python 3

schema_salad-8.3.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-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.20220825133457-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (985.7 kB view details)

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

schema_salad-8.3.20220825133457-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (992.6 kB view details)

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

schema_salad-8.3.20220825133457-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.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (999.0 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ ARM64

schema_salad-8.3.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (979.7 kB view details)

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

schema_salad-8.3.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl (985.6 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.20220825133457.tar.gz.

File metadata

File hashes

Hashes for schema-salad-8.3.20220825133457.tar.gz
Algorithm Hash digest
SHA256 03941898d257eae441e57c6333114de4d8463db4aff8df81c63113cf9dee05e7
MD5 99eb8d2a9b5792b09d02520154fa2dd5
BLAKE2b-256 fa19d54f3069b3ec3d3b69d1b90220648b8d2f31a4c737c174ea41991c8813c8

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-py3-none-any.whl
Algorithm Hash digest
SHA256 a14d0c8d07c98f57f0d85bdecbba3ae41a33b0a762efeb62c5a165565c00f979
MD5 344107be3c9028f1726fd92507d212fe
BLAKE2b-256 7292380154b08f024eb41ac8c340a800b80e74c8731c833f655dd98240819a6c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 2db461611a1a51e26e5b89e4b1de97b46c17cabea38e3a2a1d1684dacb55188d
MD5 fed790559cfc39fe49f11ec920d6cec1
BLAKE2b-256 e7fe93316e049d0fbc5169a64b0bee4cf7f64fd082ab60861f590597949d6ea5

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f987509751a6a585972ee6cd21a0a99447f7de3b0b3e89e58878250fba52d041
MD5 ebc6ac8878e517e4ef6d1e3546bae1ea
BLAKE2b-256 3f02d4e23354fef367d26226a3d2a33b88b4d0dadd829c1e076ec5e3c7c8d741

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4044f75ef2f10728648e063972ddd9000e0267b336bd162b17a8b00a4a9435b1
MD5 8c71741bbe9357347830afa60846691d
BLAKE2b-256 dbb4849387a34796fb752c9aecc3af12db0a2ede6d8a621921a41b447d6a4441

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 8a173295dd3ffed2093c8139a5f10d01a587374ca3ef58001d33caa53364f4e1
MD5 4431528aaa5719fc1113441f67a74e13
BLAKE2b-256 563acaeb29575fe77cc3996c5f03b4c58df7f62b225108e23bc78162917b54cd

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3198490ba79dc81e079c41095827da82e3083b0067532001ad921e1b62d24229
MD5 cc0ce1c4bb289541f749fe27825c9ebd
BLAKE2b-256 6f0939f154a89e3ce8c438972364d08d048ab3e7e9e23f4dff7855c91c24e743

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 822c985a9dde84a0898a040c4b6cb9f04b326aa53f22161f375950f6c60e38be
MD5 694e69fe34e20f9fa2edbecc42dbfed0
BLAKE2b-256 0861c3081c1859120a85917e7d6ff4edcafd8c4c4150155c6fc08ce3fea78e40

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 afe6e2737309158e3edee65165577ab99ea636609ea199703c2470c2522597b2
MD5 d160ffcc7362637418d72bc39d969725
BLAKE2b-256 72d466e01710528d8f413aa3ae370c719ee39ea957e4bfd761e36dd3fd87f955

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 a4d1c78d239989e20f20e5b805769ed1d68adc6181a1d901a1a43811667eb818
MD5 c8d722f0c3fc0cbe8a2e904c606db5ac
BLAKE2b-256 dbc4afdbc2a5babb0171e0be095c542183ff2c90ba2287a4bda5de10e0340abf

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 d0e0fe770a6a0c29fb273d44ab27254006300429479a8a9c073c341c61f915e6
MD5 aae7d08811354d792b8550d0861cde8f
BLAKE2b-256 2872062c380c62a1c088e8a1761e3c8862c0f3f6e7f8fef82b3532b4c091a504

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f81f72781ec593edbbb0b3f039c9a5456067fbbe8564a5b9f19d0705852e79b2
MD5 0ef4a304dcd0d1389ffd17ca766bc633
BLAKE2b-256 62ffbc61de3ecfd66326858f48aff34ef8364c84b967bce377727a109c9b533b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f37b45a500cbf7b58c861a21d9aa1aeda18140b5a4dc5eea13a119aec33721f1
MD5 d7f1e95873350276ed2e3ef86d08ec69
BLAKE2b-256 dce6c50664151e8688339a7e358e324587567a86923dd10eec063aad86f376b6

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 336458997af135ce24bf7843105f9e9d08f344fee6991bd1efeddb7184f32a87
MD5 a6d5aa86cbc0d305ccd3608452065cf0
BLAKE2b-256 05c1c91535aaf8afb03359da7fab84e42e93e1cb3fad897fa4ae5dc73d32ca33

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 62ec431117d355100cded29d43464b3ee05f088a278c8ed41a852511d40b962e
MD5 74ff4c281a1af047d340339e9f1d24cc
BLAKE2b-256 23506840d649a567acf62f326fe569ec93016d23dea106aefa302160eec2283d

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d76414db0e6e0b44c010c72c8cff6e43396eca5ddb77ca737167365ed23d40d0
MD5 825a7b0f4310554deefb93dc17cfae17
BLAKE2b-256 75bf1d5a844bc2f14ca933d37cb5589f0300a0bfd1ba5146821c7bf29e4c4442

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7646b249cb2b97e87352b18dd1804b802da78e187c73cb6b90081c74b896ed5b
MD5 4febe25a57d2bc2cfdc0930c4e43d950
BLAKE2b-256 1eca0e45a1691431622618c0a96a4d298ab792431d485a2370e9d18214533471

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 da296138179d28e016281bfa5e665d9b68b269edc1ca01d3f6a3e46720618cb2
MD5 9271a0fe1af4f5fe9c2e9e89c916e442
BLAKE2b-256 bc888c39e10cf766e61c6a654d5f021b90dd2b6c71f442805f515d4c812f61b1

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6f4382968b222f96b0b20880f3e9be2954ccefc682ea2430f6b69127a2d6282c
MD5 da1885b528f2cafa27628ff01b285eca
BLAKE2b-256 fd86c007f5095f3c0e1b35c94e7d5d04b0681cb6921161e5c54b84b7c7928e4b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d7a3f957242bc277af182bd6869987f8fdbff56459aea49beab28e4c1ffb2709
MD5 7d1997fab09f209ee9ea84afa701cc98
BLAKE2b-256 bc6da58108b73e305efdb29cd09e92d762530f3c26b7c792f7851b694a7d8f93

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e8b85b63320fdcb2bc2d3d7149eba88ccd8d867fa200ef91d70fc17200e8bec9
MD5 1beb6039fa2e541e50e7e9b32df978d9
BLAKE2b-256 5855cada115c795b35cc5e4681902d250aa8688269714f7e09db965e3e44009b

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for schema_salad-8.3.20220825133457-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 691f3151879e00628a6b1b9a333acfe85c8b0e13129c851fece844053279cd12
MD5 55b5c00d8062910e450faaf60b211a94
BLAKE2b-256 793973078b0bf6687e3f2bee26d6062895d2e35df6ab5e19e749dee18159d266

See more details on using hashes here.

Provenance

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