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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.4.2-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.4.2-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.4.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6fda775f26159507881a4a77775aac54068141368faf05e4514502e4c1f345cc
MD5 eca2f202b8c77d2c5e7db4af91ebb0be
BLAKE2b-256 6f38f00596d2889d81e672b8aedad423319ba817d2d38186ebb1729f7cb9d47e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4dc6228586227d9ccf6e19a2abcab3d9854cbdb3127d72d57395b61c8e98c185
MD5 348d5f94fc210b607c190bb1e5a09d95
BLAKE2b-256 02f7f2a13c2bb9fe7dd887bbffd1daee8d793e81b75542c9409e7f6fd7ddbd45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c557c51a84d26bd02a24f3456d6e3b0e363ca8c3dc9d0af7601c62816cec07f7
MD5 a76b4069f606ce8828d793ac9517adf0
BLAKE2b-256 d10766591e25a26f870a6f7361070fd2d929baa2a15184e9a940a3e815f379dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 655f2fdf351d1ba8743974249d380e729577672ccdd99c5fdc2014e4b34d5699
MD5 cb1a7b60d8720e025cbeb08b95e80322
BLAKE2b-256 3433e608c557b5b98e0fba92ab5e6f29e64af1146eefe88de5cedc0178ab3c06

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