skillfed

schema-salad

Schema Annotations for Linked Avro Data (SALAD)

schema-salad v8.10.20260814121804 337.9K downloads/30d#7,443 on PyPI86
Permissive license Apache 2.0 Active released

What it is and what it does

Schema Salad is a schema language and validation framework for describing rules that govern JSON and YAML documents. It sits at the intersection of document validation and semantic web technologies, allowing you to define schemas with inheritance, object references, and rich data modeling, then validate documents against those schemas and transform them to RDF or other formats.

The package works as both a command-line tool and a Python library. From the CLI, you can validate schemas and documents, generate HTML documentation, extract JSON-LD contexts, perform code generation in multiple languages, and visualize class hierarchies. As a library, you import schema_salad to programmatically validate and transform data. It depends on requests, ruamel.yaml, rdflib, mistune, CacheControl, mypy_extensions, and rich-argparse to handle HTTP fetching, YAML parsing, RDF operations, markdown rendering, and CLI formatting.

Use it for:

  • Define and validate complex data structures for scientific workflows or bioinformatics pipelines.
  • Generate type-safe Python classes from a schema to load and serialize structured documents.
  • Transform YAML or JSON documents into RDF triples for semantic web applications.
  • Generate HTML documentation from a schema to communicate data requirements to collaborators.
  • Validate incoming JSON or YAML documents against a schema before processing in a data pipeline.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Schema Salad is a schema language for validating and transforming JSON or YAML structured linked data documents, with support for preprocessing, structural validation, hyperlink checking, and code generation.

Yes. Schema Salad is actively maintained, has no known vulnerabilities, supports current Python versions, and carries a permissive license. Install it if you need to validate structured linked data, generate code from schemas, or bridge document-oriented and semantic web data modeling. The low install friction and established dependencies make it a low-risk addition. Skip it if you only need basic JSON Schema validation without RDF or code generation.

Install

schema-salad on PyPI

pip

pip install schema-salad

uv

uv add schema-salad

poetry

poetry add schema-salad

Installing schema-salad

Before you install

Low install friction with a wheel distribution. The package is actively maintained with a recent release and supports current Python versions (3.10–3.14). Seven runtime dependencies are all well-established libraries.

License in practice

Licensed under Apache 2.0 (permissive), allowing use in most commercial and open-source projects without significant restriction.

Quickstart

pip install schema_salad
python -c "import schema_salad"
# Validate a schema:
schema-salad-tool myschema.yml
# Validate a document against schema:
schema-salad-tool myschema.yml mydocument.yml

Requires Python 3.10 or later. For code generation features, install with the [pycodegen] extra.

Verify before relying

  • Whether the [pycodegen] extra adds significant dependencies or install friction beyond the base package.
  • Performance characteristics when validating large or deeply nested documents.
  • How well error messages guide users toward fixing validation failures.

Package facts

License Apache 2.0 (permissive)
Python support supports the current Python release (<3.16,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 7 — requests, ruamel.yaml, rdflib, mistune, CacheControl, mypy_extensions, rich-argparse
Maintenance actively maintained — 0 days since the last release
Last repo commit
First released
Downloads 337,872/month — #7,443 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: schema_salad-8.10.20260814121804-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Typing :: Typed

Tags

schema validation for json yamllinked data schema languagedocument validation frameworkcode generation from schemardf transformation toolsemantic web schemastructured data validation
schema-validationlinked-datacode-generation

More Software Development packages