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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.5.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.5.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.5.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e97ec5dc71f94ce4834290f9dc304081a12162a6e9f3470eae796d2a5af70b43
MD5 ad6a5edec7a8553d35888c3bdae6b659
BLAKE2b-256 fd914ed56c04b8d05e5a0c045e02797b0f983394d9b6f970a875d3dff29ed3a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.5.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a7a80b97cf345843effc2c4ae97d4fc81dbe6bca312585df604fe42847b67f8
MD5 b67f17bfb2a6a7e90908e27785b80f1f
BLAKE2b-256 300da09578cda0da8356368d3b98e52ac2f9c3d39aa5a0f8effca5ef5c80d11d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 93c69c3fbe796be4422862c12d55adab73919d7a3c55cdad625e8be9e579ff55
MD5 b3a31d31048fc323b8d3da19d21518d6
BLAKE2b-256 5ecb0dd68c88280e5866afba94c9152a537fd2c9818859f5d4f5114840a71656

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.5.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5dacf8713de44a337630a2e7b362c6043ee5e9b261b4f836c74637abc9d481ba
MD5 d950b5f90018f5873e86e01d1c170713
BLAKE2b-256 e373d8b203af90e81ec65044f2e15ee699a68f33dbc12b2264b95b85a9e542fe

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