Skip to main content

Ontology documentation & validation CLI — bridges auto-extracted OWL/SHACL definitions with Markdown narrative

Project description

Blathers

Ontology documentation & validation CLI -- bridges auto-extracted OWL/SHACL definitions with Markdown narrative.

PyPI version Python versions License: MIT

Features

  • 5 validators -- SHACL, consistency, completeness, naming conventions, and overlap detection
  • Sidecar Markdown -- author rich narrative alongside your ontology using YAML frontmatter
  • Static HTML output -- generates a self-contained documentation site with ReSpec-style layout
  • RDF/OWL extraction -- parses classes, properties, and named individuals via rdflib
  • Content negotiation -- generates Apache, nginx, and w3id configuration

Quick start

pip install blathers

Scaffold a new project:

blathers init my-ontology
cd my-ontology

Validate your ontology:

blathers validate

Build the documentation site:

blathers build

Configuration

Blathers reads from blathers.yaml in your project root:

ontology: ontology/my-ontology.ttl
shacl: []
sidecars: sidecars/
figures: figures/
output: dist/

metadata:
  title: "My Ontology"
  version: "1.0.0"
  namespace: "http://example.org/onto#"
  prefix: onto

validation:
  fail_on: error
  rules:
    shacl: true
    consistency: true
    completeness: true
    conventions: true
    overlap: true

Sidecar authoring

Create Markdown files in sidecars/ with YAML frontmatter to add narrative:

---
term: onto:MyClass
section: overview
order: 1
---

Description of MyClass and its role in the ontology.

CLI commands

Command Description
init Scaffold a new ontology project
validate Run validators against ontology and SHACL shapes
build Generate static HTML documentation site
fetch Fetch remote ontology imports

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blathers-1.0.0a2.tar.gz (35.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blathers-1.0.0a2-py3-none-any.whl (35.1 kB view details)

Uploaded Python 3

File details

Details for the file blathers-1.0.0a2.tar.gz.

File metadata

  • Download URL: blathers-1.0.0a2.tar.gz
  • Upload date:
  • Size: 35.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for blathers-1.0.0a2.tar.gz
Algorithm Hash digest
SHA256 23b29256fe50ea492eac24dcf173569867effcf1b3982f5a8b4ec8ab6e140515
MD5 5ee1348940f5720ff16fd21e8dae3732
BLAKE2b-256 cdef285c4757cf257ca88ba72a6eeae6a07cafb6e58a4f11f973245fc2ce89f6

See more details on using hashes here.

File details

Details for the file blathers-1.0.0a2-py3-none-any.whl.

File metadata

  • Download URL: blathers-1.0.0a2-py3-none-any.whl
  • Upload date:
  • Size: 35.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for blathers-1.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 88310f83bb98eb0b43ea3acff1f1f478e1c01db4fad2d0c8cf1a880427e61bff
MD5 0e8e33a1ee0974e7846fc090ac287ec8
BLAKE2b-256 ae1b5d7ac2b8967c0f7b20c125545b1d5d42bae823f4cf4b28e6b7831c9ca858

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page