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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.6.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.6.2-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.6.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 85508684a4894a62769a9ff536059e65668175b7be3ec8ebf59c6e75e6a8143d
MD5 11f428c659003e25aab339bb75bc28f8
BLAKE2b-256 9bd83f87f7783f6cbcdd1cc8c67a352bd24a67c50dd0d7dbeda9822710b57e9f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73d6a7e2c685e53d97c0a12a4f8a7392938d63f0378e1515528620a6ae0b5458
MD5 a96fdc27fb15864fa77d1c15434e8625
BLAKE2b-256 b03dcb569b0d3b9ee579969a59d59f785fa9daed53911845620c196373680acf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 700d9d13681e3a4a2ce8fcc621a2d59195dc826264121a31997f888d9624e0b6
MD5 4930f6e6cc47153748848f7958a42c72
BLAKE2b-256 dc5d5c49fc8b5f58bbf833601f49dd6fd4deca84c579825fa9f6795c68c762ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cf9d3a02d6793e2af4b3d656bbf843927f3e7748537fcf1cfc6196dca26371a7
MD5 2036625a291837ee1742e0f7ad98fa01
BLAKE2b-256 5d009bec4b08453d41f2515c335a6e764909844de807f645ba0c9292b74d870f

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