Content-addressed knowledge graph for software systems
Project description
knowing
Git versions files. knowing versions the understanding of code.
An intelligence versioning system: a content-addressed graph where every relationship between symbols is tracked, scored, and snapshotted with hierarchical Merkle trees.
This is the Python wrapper package that downloads and runs the knowing binary.
Install
pip install knowing
Usage
# Register and index a repository
knowing add ./path/to/repo
# Graph-ranked context for an agent task (84% fewer tokens than JSON)
knowing context -task "refactor auth" -format gcf
# Find affected tests for changed files
knowing test-scope -files internal/auth/session.go
# Explain why a symbol ranked where it did
knowing why -task "refactor auth" -symbol "SessionHandler"
# Run the MCP server with live file watching
knowing mcp --watch
# Verify graph integrity
knowing fsck
What It Does
knowing indexes code across 12 languages and 26 extractor packages into a content-addressed knowledge graph. Every node, edge, and snapshot is SHA-256 hashed with domain-type prefixes. Snapshots are structured as hierarchical Merkle trees (repo -> package -> edge-type -> leaf), enabling O(packages) diffs instead of O(edges) full scans.
For AI agents: 28 MCP tools + 8 MCP resources serve graph-ranked context over stdio or HTTP. The GCF wire format delivers 84% token savings versus JSON. Agents get trustworthy, cacheable, replayable context with provenance and confidence on every edge.
Key capabilities:
- 26 extractor packages: Go, TypeScript, Python, Rust, Java, C#, Protobuf, Terraform, SQL, Kubernetes, CloudFormation, Docker Compose, GitHub Actions, Helm, GraphQL, and more
- Hierarchical Merkle diffs: 216x faster on real graphs (~24.9K edges), 517x at 100K edges
- Subgraph cache: 93x faster repeat queries via content-addressed cache keys
- Runtime fusion: OpenTelemetry trace ingestion merges static and runtime views
- Graph notes: general-purpose metadata layer for community assignments, context pack persistence, and feedback annotations
knowing fsck: git-style integrity verification of the entire graph- Feedback loop: rankings improve with use as agents mark useful symbols
Agent Integration
Add to .mcp.json:
{
"mcpServers": {
"knowing": {
"command": "knowing",
"args": ["mcp", "--watch"],
"transport": "stdio"
}
}
}
Documentation
Full docs, architecture, benchmarks, and roadmap at https://blackwell-systems.github.io/knowing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file knowing-0.8.0-py3-none-manylinux2014_x86_64.whl.
File metadata
- Download URL: knowing-0.8.0-py3-none-manylinux2014_x86_64.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3f8e4e972d29ff40668a995eac2c06ac75e42818540bb7583435e7802d10b97
|
|
| MD5 |
e4b3edc999a1d4e1b44d6a33b7be6be4
|
|
| BLAKE2b-256 |
8645198a5e814fb8078ad4d4ec3ad92963911a0d7cff946a97159d297dfd360b
|
File details
Details for the file knowing-0.8.0-py3-none-manylinux2014_aarch64.whl.
File metadata
- Download URL: knowing-0.8.0-py3-none-manylinux2014_aarch64.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb3a4b5343aace0f85b5c79e2f963fcd0102f88a1987b79ad377c777bbb7e480
|
|
| MD5 |
f495b6166416dce1db9f8735951cfdb7
|
|
| BLAKE2b-256 |
70099c2d19f7d2dfeb302a1db305c72e063fe3f1ddad556732242820488aa30d
|
File details
Details for the file knowing-0.8.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: knowing-0.8.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bfad3cb4887af16184d2dbc263dba6799be368294fa33cd5529f0222b159e5c
|
|
| MD5 |
75da9c8db216ff37102e6bd0b1dca161
|
|
| BLAKE2b-256 |
9f5b9334a0ab710ad0972c55b1a72ca15e88c4f528ecf141f355323c9598cf3e
|
File details
Details for the file knowing-0.8.0-py3-none-macosx_10_12_x86_64.whl.
File metadata
- Download URL: knowing-0.8.0-py3-none-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7fbae27e4a1874e9eba611caa356895602a9cab53a836ecb363dc9fa69771808
|
|
| MD5 |
e32168b01f6e733b8e66a0622853e403
|
|
| BLAKE2b-256 |
f505aa08022cc29d4782f6e717478e2b8bf627a40426b0e75fd045533a229021
|