SCHEMA-SALAD-TOOL3(1)

πŸ’– SCHEMA-SALAD-TOOL3(1) β€” like, the manual page but make it make sense πŸ’–

okay bestie, sit down, hydrate, because we're learning schema-salad-tool and honestly? it's giving main character energy. this is the User Commands manual page for <rainbow>schema-salad-tool</rainbow>, aka Schema Annotations for Linked Avro Data (SALAD). yes that's a real acronym. yes the tools are iconic. let's go πŸ’…


✨ NAME ✨

schema-salad-tool β€” Schema Annotations for Linked Avro Data (SALAD) πŸ₯—


🌸 DESCRIPTION 🌸

okay so the literal usage line, no edits, no notes, just vibes:

usage: python3 -m schema_salad [-h] [--rdf-serializer RDF_SERIALIZER]
       [--skip-schemas] [--strict-foreign-properties]
       [--version] [--print-jsonld-context | --print-rdfs | --print-avro
       | --print-rdf | --print-pre | --print-index | --print-metadata |
       --print-inheritance-dot | --print-fieldrefs-dot | --codegen
       LANGUAGE | --print-oneline | --print-doc] [--codegen-target
       CODEGEN_TARGET] [--codegen-examples DIRECTORY] [--codegen-package
       DOTTED.PACKAGE] [--codegen-copyright COPYRIGHT_STRING]
       [--codegen-spdx-copyright-text SPDX_COPYRIGHT_TEXT
       [SPDX_COPYRIGHT_TEXT ...]]  [--codegen-spdx-license-identifier
       SPDX_LICENSE_IDENTIFIER] [--codegen-parser-info PARSER_INFO]
       [--strict | --non-strict] [--verbose | --quiet | --debug] [--only
       ONLY] [--redirect REDIRECT] [--brand BRAND] [--brandlink
       BRANDLINK] [--brandstyle BRANDSTYLE] [--brandinverse] [--primtype
       PRIMTYPE] [schema] [document ...]

and what does it do, you ask? Validate Salad schemas or documents. that's it. that's the whole job. protecting your schemas from chaos, one validation at a time 🫢

πŸŽ€ positional arguments

  • schema β€” the schema. the blueprint. the blueprint-iest blueprint.
  • document β€” one or more documents to run against it, because why send just one when you can send many πŸ’…

πŸ¦‹ options

  • -h, --help β€” show this help message and exit. classic. never change.
  • --rdf-serializer RDF_SERIALIZER β€” the RDF serialization format that --print-rdf uses. pick one of turtle (that's the default, obvi), n3, nt, xml.
  • --skip-schemas β€” if you say so, it literally ignores $schemas sections. bye schemas πŸ‘‹
  • --strict-foreign-properties β€” strict checking of foreign properties. no slacking allowed.
  • --version, -v β€” Print version. short and sweet.

πŸ”₯ Output type and format

this is the "what do you want me to PRINT" section and honestly it ate:

  • --print-jsonld-context β€” Print JSON-LD context for schema.
  • --print-rdfs β€” Print RDF schema.
  • --print-avro β€” Print Avro schema.
  • --print-rdf β€” Print corresponding RDF graph for document.
  • --print-pre β€” Print document after preprocessing.
  • --print-index β€” Print node index.
  • --print-metadata β€” Print document metadata.
  • --print-inheritance-dot β€” Print graphviz file of inheritance. (graphviz!!! πŸ•ΈοΈ)
  • --print-fieldrefs-dot β€” Print graphviz file of field refs.
  • --codegen LANGUAGE β€” Generate classes in a target language. currently supported: python, java, typescript, dotnet, cpp, dlang. pick your fighter ✨
  • --print-oneline β€” Print each error message in oneline. compact queen.
  • --print-doc β€” Print HTML schema documentation page.

πŸ’œ Code generation configuration

heads up bestie: this whole group Requires --codegen LANGUAGE. no codegen, no party.
  • --codegen-target CODEGEN_TARGET β€” Defaults to sys.stdout for Python/C++/Dlang and ./ for Java/TypeScript/.Net. (yes, exactly like that.)
  • --codegen-examples DIRECTORY β€” Directory of example documents for test case generation (Java/TypeScript/.Net/Dlang only).
  • --codegen-package DOTTED.PACKAGE β€” Optional override of the package name which is otherwise derived from the base URL (Java/TypeScript/.Net/Dlang only).
  • --codegen-copyright COPYRIGHT_STRING β€” Optional copyright of the input schema.
  • --codegen-spdx-copyright-text SPDX_COPYRIGHT_TEXT [SPDX_COPYRIGHT_TEXT ...] β€” List of copyright text. Each entry will show up as SPDX-FileCopyrightText: ... (Currently C++ only).
  • --codegen-spdx-license-identifier SPDX_LICENSE_IDENTIFIER β€” Optional spdx license identifier, e.g.: GPL-3.0-only (Currently C++ only).
  • --codegen-parser-info PARSER_INFO β€” Optional parser name which is accessible via resulted parser API (Python and Dlang only).

🌈 Validation strictness

choose your chaos level:

  • --strict β€” Strict validation (unrecognized or out of place fields are error). zero tolerance, no notes.
  • --non-strict β€” Lenient validation (ignore unrecognized fields). live and let live πŸ“

⭐ Logging detail level

how much do you want to hear about it:

  • --verbose β€” Default logging.
  • --quiet β€” Only print warnings and errors.
  • --debug β€” Print even more logging. maximum yapping mode πŸ’€

🧚 Documentation generation options

reminder bestie: these Requires --print-doc. that's the entry fee.
  • --only ONLY β€” Document only listed types.
  • --redirect REDIRECT β€” Override default link for type.
  • --brand BRAND β€” Set the 'brand' text in nav bar.
  • --brandlink BRANDLINK β€” Set the link for 'brand' in nav bar.
  • --brandstyle BRANDSTYLE β€” HTML code to link to an external style sheet.
  • --brandinverse β€” Set to use the dark navigation bar style. dark mode supremacy, no cap.
  • --primtype PRIMTYPE β€” Link to use for primitive types (string, int etc).

and that's the whole page, bestie, you made it πŸ₯ΉπŸ’– no skipped options, no missing flags, every default preserved like it's precious cargo (because it is). go validate something and slay πŸ’…βœ¨

this was schema-salad-tool 8.9.202604171..., dated April 2026, and yeah it lives under the SCHEMA-SALAD-TOOL3(1) banner β€” mwah, iconic, periodt πŸŽ€

πŸ“¦ where this page comes from