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 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: 27 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

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.7.0-py3-none-manylinux2014_x86_64.whl (3.4 kB view details)

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.7.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.7.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.7.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19256afac8ec3e69217bebc2b25873138f5ef80838bb44935f8561c7ba4bb578
MD5 76b82a25ffd8840701ed75f39c8e309a
BLAKE2b-256 ac172019ac60082aa98757849d88fa8779454df31fe3dfa6cb1c6d0034a545a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98bbd8f241087e87b212e63bb7a439d0bb24d4240ced7307c7476df187749454
MD5 4804652112d806c504e9423524f95c11
BLAKE2b-256 40959fe6c364863e02a6a77ed3234e6d61798a8941fe6fbbda379c724dc48f1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd4d4c71d322d5a6ef6673f8f2a281acd1170e1126a282e4410f2ae5a4c03193
MD5 72d025626b31d9fc400073d603582490
BLAKE2b-256 51a3f695cb20a7abd883945598c53516a1ee724f6f18f2aa1f64108d6e503588

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e7b4091a57a45cf0778a7f268c01d2c292bf6543ad96e2e4810847768f954845
MD5 69dbe27caf6989b678d321b68bd722b8
BLAKE2b-256 538e8b2e95bfbdb14b8b156c2b5e81921dd2830027fe7e9b9e387693a3683b7f

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