schema-salad
Schema Annotations for Linked Avro Data (SALAD)
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- For code generation features, install with the [pycodegen] extra.
- Low install friction with a wheel distribution.
License · maintenance · safety
Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing use in most commercial and open-source projects without significant restriction.
last release 2026-08-14 (0 days) · last repo commit 2026-08-14 · 86 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 337,872 downloads/mo, #7,443 on PyPI
Alternatives
Verify before relying
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- 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.
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 on it.
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
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.
Requires Python 3.10 or later. For code generation features, install with the [pycodegen] extra.
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
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 packagesrequestsruamel.yamlrdflibmistuneCacheControlmypy_extensionsrich-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 |
| Classifiers | 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 |
Evidence: schema_salad-8.10.20260814121804-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “document validation framework”
- schema-saladSchema Salad is a schema language for validating and transforming…
- rpaframework-pdfProvides PDF reading and creation capabilities for Robot Framework…
- compliance-trestleCompliance-trestle manages, validates, and transforms OSCAL (NIST's…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also linkml · event-model · linkml-runtime · pyshacl · rdflib-jsonld · yamale · PyLD · schema · jsonschema · kubernetes-validate