Metadata-Version: 2.4
Name: akmon
Version: 0.6.0
Summary: AKMON (okg): Operational Knowledge Graph — build, query, and traverse typed knowledge graphs from diverse data sources
Author-email: Jason Mohoney <mohoney@mit.edu>
License-Expression: MIT
Project-URL: repository, https://github.com/mitdbg/akmon
Keywords: knowledge-graph,graph,ingestion,mcp,ontology
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Requires-Python: <3.14,>=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE.archi-physics-cooper
Requires-Dist: pydantic>=2.13.4
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: requests>=2.34.2
Requires-Dist: PyJWT[crypto]>=2.13
Requires-Dist: python-dotenv>=1.2.2
Requires-Dist: rank_bm25>=0.2.2
Requires-Dist: psycopg[binary]>=3.3.4
Requires-Dist: psycopg_pool>=3.3.1
Requires-Dist: pygit2<2,>=1.19.3
Requires-Dist: pgvector>=0.5.0
Requires-Dist: jsonschema>=4.26.0
Requires-Dist: ijson>=3.5.1
Requires-Dist: icalendar>=7.2.0
Requires-Dist: python-dateutil>=2.9.0.post0
Requires-Dist: sqlglot>=30.12.0
Requires-Dist: opentelemetry-api>=1.43.0
Requires-Dist: opentelemetry-sdk>=1.43.0
Requires-Dist: opentelemetry-exporter-prometheus>=0.64b0
Requires-Dist: dbos[otel]<3,>=2.26.0
Requires-Dist: litellm>=1.92.0
Requires-Dist: tenacity>=9.1.4
Requires-Dist: keyring>=25.7.0
Requires-Dist: pypdf>=6.14.2
Requires-Dist: pdfplumber>=0.11.10
Requires-Dist: pillow>=12.3.0
Requires-Dist: lxml>=6.1.1
Requires-Dist: selectolax>=0.4.10
Requires-Dist: markdown-it-py>=4.2.0
Requires-Dist: python-frontmatter>=1.3.0
Requires-Dist: tree-sitter>=0.26.0
Requires-Dist: nbformat>=5.10.4
Requires-Dist: python-docx>=1.2.0
Requires-Dist: openpyxl>=3.1.5
Requires-Dist: semantic-text-splitter>=0.32.0
Requires-Dist: spacy<4,>=3.8.14
Requires-Dist: rapidfuzz>=3.14.5
Requires-Dist: dateparser>=1.4.1
Requires-Dist: regex>=2026.6.28
Requires-Dist: ftfy>=6.3.1
Requires-Dist: watchdog>=6.0
Requires-Dist: bibtexparser<2,>=1.4.4
Requires-Dist: crossref-commons>=0.0.7
Requires-Dist: mcp<2,>=1.28.1
Requires-Dist: fastapi>=0.139.0
Requires-Dist: uvicorn>=0.51.0
Requires-Dist: msgpack>=1.2.1
Requires-Dist: tomli_w>=1.2.0
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: tree-sitter-language-pack==1.17.0
Requires-Dist: cryptography>=49.0.0
Provides-Extra: nlp
Requires-Dist: gliner>=0.2.27; extra == "nlp"
Provides-Extra: vision
Requires-Dist: doclayout-yolo>=0.0.3; extra == "vision"
Requires-Dist: huggingface_hub>=0.20; extra == "vision"
Requires-Dist: pymupdf>=1.28.0; extra == "vision"
Provides-Extra: privacy
Requires-Dist: presidio-analyzer>=2.2; extra == "privacy"
Provides-Extra: bench
Requires-Dist: matplotlib>=3.11.0; extra == "bench"
Requires-Dist: jinja2>=3.1.6; extra == "bench"
Requires-Dist: pyyaml>=6.0.3; extra == "bench"
Provides-Extra: embeddings
Requires-Dist: sentence-transformers>=5.6.0; extra == "embeddings"
Provides-Extra: postgres
Requires-Dist: psycopg[binary]>=3.3.4; extra == "postgres"
Requires-Dist: psycopg_pool>=3.3.1; extra == "postgres"
Provides-Extra: mcp
Provides-Extra: af-pubs
Requires-Dist: curl_cffi>=0.15.0; extra == "af-pubs"
Requires-Dist: pypdfium2>=5.11.0; extra == "af-pubs"
Requires-Dist: pymupdf>=1.28.0; extra == "af-pubs"
Provides-Extra: code
Requires-Dist: sqlglot>=30.12.0; extra == "code"
Provides-Extra: quality
Requires-Dist: sarif-pydantic>=0.6.2; extra == "quality"
Requires-Dist: packageurl-python>=0.17.6; extra == "quality"
Provides-Extra: twiki
Requires-Dist: jinja2>=3.1.6; extra == "twiki"
Requires-Dist: markdown-it-py>=4.2.0; extra == "twiki"
Requires-Dist: markitdown>=0.1.6; extra == "twiki"
Provides-Extra: mailbox
Requires-Dist: fastapi>=0.139.0; extra == "mailbox"
Requires-Dist: uvicorn>=0.51.0; extra == "mailbox"
Requires-Dist: httpx>=0.28.1; extra == "mailbox"
Requires-Dist: boto3>=1.43.46; extra == "mailbox"
Requires-Dist: python-swiftclient>=4.10.0; extra == "mailbox"
Provides-Extra: viz
Requires-Dist: jinja2>=3.1.6; extra == "viz"
Requires-Dist: sse-starlette>=3.4.5; extra == "viz"
Requires-Dist: httpx>=0.28.1; extra == "viz"
Provides-Extra: dev
Requires-Dist: linkml>=1.11.1; extra == "dev"
Requires-Dist: pytest>=9.1.1; extra == "dev"
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
Requires-Dist: pytest-xdist>=3.8.0; extra == "dev"
Requires-Dist: ruff>=0.15.21; extra == "dev"
Requires-Dist: pathspec>=1.1.1; extra == "dev"
Requires-Dist: packaging>=25.0; extra == "dev"
Requires-Dist: mcp<2,>=1.28.1; extra == "dev"
Requires-Dist: fastapi>=0.139.0; extra == "dev"
Requires-Dist: httpx>=0.28.1; extra == "dev"
Requires-Dist: msgpack>=1.2.1; extra == "dev"
Requires-Dist: hypothesis>=6.156.6; extra == "dev"
Requires-Dist: mutmut>=3.6.0; extra == "dev"
Requires-Dist: glances[web]==4.5.6; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6.1; extra == "docs"
Requires-Dist: pymdown-extensions>=10.16; extra == "docs"
Dynamic: license-file

# AKMON

**A consistent, versioned knowledge base of an organization's data, built from
its many sources and read by people and agents.**

The data of a large organization is scattered across many systems: tickets,
documentation, code, monitoring, meetings. It keeps changing, parts of it are
stale or contradict each other, and it is hard to stitch together. AKMON
builds and maintains one knowledge graph of it, the operational knowledge
graph (OKG), so that people, agents and software can query it.

```text
sources ─▶ incremental ingestion ─▶ consistency checks ─▶ versioned graph ─▶ server ─▶ people and agents
```

AKMON runs on PostgreSQL, on your own machines. Agents connect to it over the
Model Context Protocol (MCP); people use the `okg` command.

## Get started

The [Quickstart](docs/start/quickstart.md) takes you from nothing to a graph
of your own repository and documents, with your coding agent connected. You
need Linux or macOS, Git, [`uv`](https://docs.astral.sh/uv/), and Docker or
podman.

## Documentation

- [Get started](docs/start/quickstart.md) and [the AKMON model](docs/start/concepts.md)
- [Connect your data](docs/use/sources/index.md)
- [Connect agents](docs/use/agents/index.md)
- [Run it as a service](docs/operate/plan.md)
- [Reference](docs/reference/cli.md)
- [Develop AKMON](docs/develop/index.md)

## Contributing

Start with [Develop AKMON](docs/develop/index.md) and
[CONTRIBUTING.md](CONTRIBUTING.md). For changes to the import,
publication, or query path, also read the
[code architecture](docs/develop/architecture/pipeline.md).

## License

AKMON is released under the MIT License; see [LICENSE](LICENSE).
