Skip to main content

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 25 extractor types 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: 23 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:

  • 25 extractors: Go, TypeScript, Python, Rust, Java, C#, Protobuf, Terraform, SQL, Kubernetes, CloudFormation, Docker Compose, GitHub Actions, Helm, GraphQL, and more
  • Hierarchical Merkle diffs: 114x faster on real graphs, 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

Source: https://github.com/blackwell-systems/knowing

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

knowing-0.3.0-py3-none-manylinux2014_x86_64.whl (3.4 kB view details)

Uploaded Python 3

knowing-0.3.0-py3-none-manylinux2014_aarch64.whl (3.4 kB view details)

Uploaded Python 3

knowing-0.3.0-py3-none-macosx_11_0_arm64.whl (3.4 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.3.0-py3-none-macosx_10_12_x86_64.whl (3.4 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file knowing-0.3.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.3.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f64151ae5ce6cc054af6202fb2f8378dc6c8f6fcc42459fcdd130b6fbbdafaac
MD5 0e406e5d43eefd5b1a8ec6747d04155c
BLAKE2b-256 c960b342f0e285871ba0bcefcfdeeb3568e0788510e6e7b75254fd1d436e689d

See more details on using hashes here.

File details

Details for the file knowing-0.3.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for knowing-0.3.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c843a48a031e87ef40d1a0e45504604e0d1a16e36e7753634816ddefc0e0b322
MD5 269973682745f2f7e175f698eba8ff5f
BLAKE2b-256 6dc930de964f40588314d57e4f227fe9a7f0a4aa17b28118d04d7e467144ce89

See more details on using hashes here.

File details

Details for the file knowing-0.3.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for knowing-0.3.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ada1e40d927c8c505a2b4291fce082b2fd75bc998962df469486107e668ae4b0
MD5 4cb0c373c5e597a2eef279d69300a72c
BLAKE2b-256 760f4eaa9354f93f44fcb2a0d356d5de4c590ccb2e84cef954cb7fb16d95f731

See more details on using hashes here.

File details

Details for the file knowing-0.3.0-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.3.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9cbae0405d62b356008891fad731dda69e6027915cf063f713b1f9b5768f2f1b
MD5 c212fa8b764638b8f4d4c0ad086a36fa
BLAKE2b-256 4dc0afc35e429378dd27531dfb2f160ad2118b49d2647738417cc278568102ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page