| Crates.io | panschema |
| lib.rs | panschema |
| version | 0.2.0 |
| created_at | 2026-01-25 20:23:51.407578+00 |
| updated_at | 2026-01-25 20:23:51.407578+00 |
| description | A universal CLI for schema conversion, documentation, validation, and comparison |
| homepage | |
| repository | https://github.com/padamson/panschema |
| max_upload_size | |
| id | 2069458 |
| size | 423,734 |
A universal CLI for schema conversion, documentation, validation, and comparison.
Status: Active Development
panschema aims to be the universal tool for data modeling workflows:
Think of it as pandoc for data modeling — a single tool that speaks all schema languages.
cargo install panschema
Or download pre-built binaries from GitHub Releases.
Generate documentation from an OWL ontology:
panschema generate --input ontology.ttl --output docs/
Start a development server with hot reload:
panschema serve --input ontology.ttl
Open http://localhost:3000 to view the documentation.
| Format | Status | Extension |
|---|---|---|
| OWL/Turtle | Full support | .ttl |
| LinkML YAML | Coming soon | .yaml |
| JSON Schema | Planned | .json |
| SHACL | Planned | .ttl |
| Format | Status |
|---|---|
| HTML Documentation | Full support |
| LinkML YAML | Planned |
| Markdown | Planned |
| JSON Schema | Planned |
panschema uses a Reader/Writer architecture with LinkML as the internal representation:
Input File → Reader → LinkML IR → Writer → Output
(TTL) (OwlReader) (SchemaDefinition) (HtmlWriter) (HTML)
This design enables:
Reader traitWriter traitRead our WHY.md to understand the full vision.
TL;DR: Data modeling is fragmented across many schema languages. panschema provides a unified interface — fast, CI-native, and extensible.
cargo-nextest (recommended for testing)# Install Playwright browsers
npx playwright@1.56.1 install
cargo build
cargo nextest run --features dev
panschema serve --input tests/fixtures/reference.ttl
cargo watch -w src -w templates -x 'run --features dev -- styleguide --serve'
Contributions are welcome! Please follow our standards:
cargo fmt and cargo clippyApache-2.0