{"id":50927471,"url":"https://github.com/mapsa/blathers","last_synced_at":"2026-06-17T00:04:29.464Z","repository":{"id":348913062,"uuid":"1199199393","full_name":"mapsa/blathers","owner":"mapsa","description":"Python CLI for ontology documentation — bridges auto-extracted OWL/SHACL definitions with Markdown narrative, validates, and builds static HTML sites.","archived":false,"fork":false,"pushed_at":"2026-04-06T17:18:51.000Z","size":241,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-06T02:09:37.254Z","etag":null,"topics":["cli","documentation","eu-ai-act","knowledge-graph","linked-data","ontology","owl","python","rdf","semantic-web","shacl","w3c"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapsa.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-02T06:08:01.000Z","updated_at":"2026-04-06T17:19:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mapsa/blathers","commit_stats":null,"previous_names":["mapsa/blathers"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mapsa/blathers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapsa%2Fblathers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapsa%2Fblathers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapsa%2Fblathers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapsa%2Fblathers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapsa","download_url":"https://codeload.github.com/mapsa/blathers/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapsa%2Fblathers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34428199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","documentation","eu-ai-act","knowledge-graph","linked-data","ontology","owl","python","rdf","semantic-web","shacl","w3c"],"created_at":"2026-06-17T00:04:29.283Z","updated_at":"2026-06-17T00:04:29.459Z","avatar_url":"https://github.com/mapsa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blathers\n\nOntology documentation \u0026 validation CLI -- bridges auto-extracted OWL/SHACL definitions with Markdown narrative.\n\n[![PyPI version](https://img.shields.io/pypi/v/blathers)](https://pypi.org/project/blathers/)\n[![Python versions](https://img.shields.io/pypi/pyversions/blathers)](https://pypi.org/project/blathers/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n## Features\n\n- **5 validators** -- SHACL, consistency, completeness, naming conventions, and overlap detection\n- **Sidecar Markdown** -- author rich narrative alongside your ontology using YAML frontmatter\n- **Static HTML output** -- generates a self-contained documentation site with ReSpec-style layout\n- **RDF/OWL extraction** -- parses classes, properties, and named individuals via rdflib\n- **Content negotiation** -- generates Apache, nginx, and w3id configuration\n\n## Quick start\n\n```bash\npip install blathers\n```\n\nScaffold a new project:\n\n```bash\nblathers init my-ontology\ncd my-ontology\n```\n\nValidate your ontology:\n\n```bash\nblathers validate\n```\n\nBuild the documentation site:\n\n```bash\nblathers build\n```\n\n## Configuration\n\nBlathers reads from `blathers.yaml` in your project root:\n\n```yaml\nontology: ontology/my-ontology.ttl\nshacl: []\nsidecars: sidecars/\nfigures: figures/\noutput: dist/\n\nmetadata:\n  title: \"My Ontology\"\n  version: \"1.0.0\"\n  namespace: \"http://example.org/onto#\"\n  prefix: onto\n\nvalidation:\n  fail_on: error\n  rules:\n    shacl: true\n    consistency: true\n    completeness: true\n    conventions: true\n    overlap: true\n```\n\n## Sidecar authoring\n\nCreate Markdown files in `sidecars/` with YAML frontmatter to add narrative:\n\n```markdown\n---\nterm: onto:MyClass\nsection: overview\norder: 1\n---\n\nDescription of MyClass and its role in the ontology.\n```\n\n## CLI commands\n\n| Command    | Description                                      |\n| ---------- | ------------------------------------------------ |\n| `init`     | Scaffold a new ontology project                  |\n| `validate` | Run validators against ontology and SHACL shapes |\n| `build`    | Generate static HTML documentation site          |\n| `fetch`    | Fetch remote ontology imports                    |\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapsa%2Fblathers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapsa%2Fblathers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapsa%2Fblathers/lists"}