Skip to main content

Content-addressed knowledge graph for software systems

Project description

knowing

A self-adapting code intelligence engine that gets smarter with scale, not dumber.

Content-addressed graph of code relationships with density-adaptive retrieval. Observes its own graph structure and adjusts how it searches: on small repos it finds symbols by keyword; on large enterprise codebases it automatically shifts to structural navigation. 34 edge types, cryptographic proofs, hierarchical Merkle snapshots.

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

Uploaded Python 3

knowing-0.10.1-py3-none-manylinux2014_aarch64.whl (3.6 kB view details)

Uploaded Python 3

knowing-0.10.1-py3-none-macosx_11_0_arm64.whl (3.6 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.10.1-py3-none-macosx_10_12_x86_64.whl (3.6 kB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file knowing-0.10.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.10.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 adbe0b8f693a4bb31b557e8e28675a0bafe04cd6a78ae8c52ae3dadf305331a3
MD5 ff0b6607f0c6e9d7e6a673356ee11970
BLAKE2b-256 0a7ca1d01db21b037b53de7560b955742797aa7ca9d3f9e71546249904508259

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9aece44d54b7ecfbbf169619321d54989127cf57f4ba92eb1049b5f2d2e5682a
MD5 25cbf7cc267fe2040fb200e2368c8dc8
BLAKE2b-256 9ac6f583db0167d96125ee8d25f6c1cd5158747f1b104c6af778b9f7b1f5dd48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af9a334b562f2946bdd919ccbad36fb4069f4caf5916c2e3f5d1d2dab9172344
MD5 6ca833ce557563ca95bb8de66205cec7
BLAKE2b-256 ea6d21704fd2a333101c87a78227df9b158aa4263e70f7b9df56ddbfae7718e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04b2da6f06a75afce4aef24f55d87caadfbdd5e5ae26c0b8b0cc431bfeed1d09
MD5 8c5ae56568b7d4ed7ac72d7e09e8d4eb
BLAKE2b-256 8660913205cc23a16d84e92c413588140dcc5b9b71f28ade250e84728580750d

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