Metadata-Version: 2.5
Name: ontolith
Version: 1.0.0
Summary: A Python framework for collaborative knowledge bases where humans and AI agents are co-equal authors
Project-URL: Homepage, https://github.com/mattbv/ontolith
Project-URL: Documentation, https://ontolith.readthedocs.io
Project-URL: Repository, https://github.com/mattbv/ontolith
Project-URL: Issues, https://github.com/mattbv/ontolith/issues
Author-email: "Matheus B. Vicari" <matheus.boni.vicari@gmail.com>
License: Apache-2.0
License-File: LICENSE
Keywords: ai,collaboration,governance,knowledge-graph,ontology
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
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 :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: pydantic<3.0,>=2.0
Requires-Dist: pyseccomp==0.1.2; sys_platform == 'linux'
Requires-Dist: python-ulid<4.0,>=2.0
Requires-Dist: sqlite-vec==0.1.3
Requires-Dist: typer<1.0,>=0.9
Provides-Extra: all
Requires-Dist: duckdb<2.0,>=1.0; extra == 'all'
Requires-Dist: fastapi<1.0,>=0.110; extra == 'all'
Requires-Dist: mcp<2.0,>=1.28.1; extra == 'all'
Requires-Dist: pyyaml<7.0,>=6.0; extra == 'all'
Requires-Dist: rdflib<8.0,>=7.0; extra == 'all'
Requires-Dist: strawberry-graphql[fastapi]<1.0,>=0.316; extra == 'all'
Requires-Dist: uvicorn<1.0,>=0.27; extra == 'all'
Provides-Extra: dev
Requires-Dist: bandit>=1.7; extra == 'dev'
Requires-Dist: cyclonedx-bom>=7.3.1; extra == 'dev'
Requires-Dist: duckdb<2.0,>=1.0; extra == 'dev'
Requires-Dist: fastapi<1.0,>=0.110; extra == 'dev'
Requires-Dist: griffecli>=2.0; extra == 'dev'
Requires-Dist: httpx2>=2.0; extra == 'dev'
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: hypothesis>=6.98; extra == 'dev'
Requires-Dist: import-linter>=2.0; extra == 'dev'
Requires-Dist: interrogate>=1.5; extra == 'dev'
Requires-Dist: mcp<2.0,>=1.28.1; extra == 'dev'
Requires-Dist: mkdocs-material>=9.7.7; extra == 'dev'
Requires-Dist: mkdocstrings[python]>=0.24; extra == 'dev'
Requires-Dist: mypy>=1.8; extra == 'dev'
Requires-Dist: pip-audit>=2.7; extra == 'dev'
Requires-Dist: pre-commit>=3.6; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-benchmark>=4.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: pyyaml<7.0,>=6.0; extra == 'dev'
Requires-Dist: rdflib<8.0,>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.2; extra == 'dev'
Requires-Dist: strawberry-graphql[fastapi]<1.0,>=0.316; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0; extra == 'dev'
Requires-Dist: uvicorn<1.0,>=0.27; extra == 'dev'
Provides-Extra: graphql
Requires-Dist: strawberry-graphql[fastapi]<1.0,>=0.316; extra == 'graphql'
Requires-Dist: uvicorn<1.0,>=0.27; extra == 'graphql'
Provides-Extra: interop
Requires-Dist: pyyaml<7.0,>=6.0; extra == 'interop'
Requires-Dist: rdflib<8.0,>=7.0; extra == 'interop'
Provides-Extra: mcp
Requires-Dist: mcp<2.0,>=1.28.1; extra == 'mcp'
Provides-Extra: rest
Requires-Dist: fastapi<1.0,>=0.110; extra == 'rest'
Requires-Dist: uvicorn<1.0,>=0.27; extra == 'rest'
Provides-Extra: store-duckdb
Requires-Dist: duckdb<2.0,>=1.0; extra == 'store-duckdb'
Description-Content-Type: text/markdown

# Ontolith

[![CI](https://github.com/mattbv/ontolith/workflows/CI/badge.svg)](https://github.com/mattbv/ontolith/actions)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

A Python framework/SDK for building collaborative knowledge bases where humans and AI agents are co-equal authors of a shared, governed ontology.

## Features

- **Dual-principal model**: Humans and AI agents as co-equal authors
- **Provenance & confidence**: Every assertion tracked with source and confidence
- **Governed collaboration**: Configurable proposal/review workflow
- **Bitemporal time-travel**: Query knowledge as of any point in time
- **Conflict handling**: Temporal supersession and explicit contradictions
- **Plugin extensibility**: Importers, exporters, reasoners, validators

## Quick Start

```bash
# Clone repository
git clone https://github.com/mattbv/ontolith.git
cd ontolith

# Install dependencies (requires Python 3.11+)
uv sync

# Run tests
uv run pytest

# Run quality checks
uv run ruff check
uv run mypy --strict src conformance/conftest.py

# Run the quickstart example
uv run python examples/quickstart.py
```

## Development Status

✅ **v1.0.0** - M0–M4 complete; tagged 2026-09-28

Not yet published to PyPI — install from source (see Quick Start above). See [docs/Ontolith_Implementation_Plan.md](docs/Ontolith_Implementation_Plan.md) for the full milestone history and [vNext](docs/Ontolith_Implementation_Plan.md) plans.

## Documentation

- [Product Requirements](docs/Ontolith_PRD.md)
- [Technical Specification](docs/Ontolith_SPEC.md)
- [Use Cases & Interfaces](docs/Ontolith_UseCases_and_Interfaces.md)
- [Implementation Plan](docs/Ontolith_Implementation_Plan.md)
- [Architecture Decision Records](docs/adr/)
- [Known Issues](docs/known-issues.md)

## Contributing

We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.

## License

Apache-2.0 - See [LICENSE](LICENSE) for details.