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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.8.1-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.8.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.8.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9a9624a3f98f044c2b3dd5ea98dd8e1053896eca641ae3f6ce705d3d3e9afd07
MD5 7622a31e78fbd6e3e1dc2dd01aa32591
BLAKE2b-256 2d7e11a9d0e3267b3773dc3378675d273a0fe41481b0912c78f5e24e58437549

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4433b8b86027b14508937eceed615a91b9fb0adec88649462a9a971ca08d639a
MD5 5790fa0a11fe83dbeb2eba4acbf1cecf
BLAKE2b-256 f647202e79f30fc7509b24ef279a93c5ff1e484b645ee088976537da3e397a58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e98ca2000807ac870b1106a6e5ec54bf51763c794db843c636a75b96b5e2662a
MD5 b60016de980efdc0c3bc08875e5cebbd
BLAKE2b-256 da6d2819101a93d1f78a9eb9c43c5805b4b845d17392fa5ea939480515efcc3b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa42d9233c1d19911b88994e91b411cbfa8b7a4f6c994de7308a18dfbc0eb573
MD5 7e032c5a6e0693568e5015c5dc93123f
BLAKE2b-256 c1a0a3c9ae19a757bba36a891b1671bd94aa5cb3b936ca82de05005ddd9bda64

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