Metadata-Version: 2.4
Name: ontopoiesis
Version: 2026.7.27
Summary: Operator CLI and workflows for OWL 2 ontology projections
Author-email: Elliott Wise <ell.wise@gmail.com>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/wise-ideas/ontochoros/tree/main/packages/ontopoiesis
Project-URL: Documentation, https://wise-ideas.github.io/ontochoros/ontopoiesis/
Project-URL: Source, https://github.com/wise-ideas/ontochoros/tree/main/packages/ontopoiesis
Project-URL: Issues, https://github.com/wise-ideas/ontochoros/issues
Project-URL: Changelog, https://github.com/wise-ideas/ontochoros/releases?q=ontopoiesis
Keywords: owl,owl2,ontology,cypher,cli,lint,semantic-web
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: ontoplexis>=2026.7
Requires-Dist: jinja2
Requires-Dist: pytest<9,>=8
Requires-Dist: python-dotenv<2,>=1
Requires-Dist: rich<15,>=13
Requires-Dist: typer<1,>=0.16
Dynamic: license-file

# Ontopoiesis

Lint, test, diff, and CI for OWL 2 ontologies, from a single command line.

Ontopoiesis builds an OWL/XML ontology into a Cypher-queryable
[Ontoplexis](https://github.com/wise-ideas/ontochoros/tree/main/packages/ontoplexis)
projection, then runs the day-to-day workflows around that one artifact:
query, lint, test, diff, impact analysis, render, migrate, and export.
Quality gates are plain `.cypher` files that fail when they return rows, so
teams extend the rule set the way they write dbt tests. The stock rules provide
targeted structural checks, while the documented case studies also show
case-specific analysis and distinguish demonstrated defects, modeling risks,
and policy-backed findings from compatibility facts and clean controls
([why this exists](https://wise-ideas.github.io/ontochoros/why/)).

## Scope

Ontopoiesis owns command-oriented workflows and their conventions. It does not
own the OWL/XML parser or graph projection model; those belong to Ontoplexis.
It also does not parse formats other than OWL/XML, resolve imports or reason
in-process, or provide typed OWL construct models. Optional `convert`,
`resolve`, and `reason` commands delegate those preprocessing jobs to a
user-provided ROBOT jar.

## Relationship to the stack

```text
OWL/XML  -->  Ontoplexis projection  -->  Ontopoiesis workflows
```

Ontopoiesis depends on Ontoplexis. [Ontophora](https://github.com/wise-ideas/ontochoros/tree/main/packages/ontophora)
is a separate sister library that provides typed OWL 2 construct records; it is
not a dependency of this CLI.

## Install

```bash
pip install ontopoiesis
```

```bash
ontopoiesis build pizza.owlxml -o pizza.lbug
ontopoiesis lint pizza.lbug
ontopoiesis test pizza.lbug tests/
ontopoiesis export pizza.lbug
```

## Documentation

Read the [documentation](https://wise-ideas.github.io/ontochoros/ontopoiesis/)
for installation, the quickstart, command guides, and CLI reference.

## License

Ontopoiesis is licensed under the [Apache License 2.0](https://github.com/wise-ideas/ontochoros/blob/main/packages/ontopoiesis/LICENSE).
