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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.10.0-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.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.10.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3f5e3a008bc255f068d72cba0bd581110891b94a60bdb4b04ed626074fffa62d
MD5 b1180afc6f954cf9a4666ccaab406b70
BLAKE2b-256 012fc3e3c6615cef0fd75dbe3092a5382ec5a9e8ff430a10951b357c914b2984

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e873b54e23b6a411e8ae749be82309bd5c6f9f598d1962e9745d4b302feda31a
MD5 8dc603ae1119d4004da05ac4db3bdeba
BLAKE2b-256 18244a03f5ba6b1acc29e55cb0519c8a6fd733093315bb3537f7b459e1dfcf9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8cd0a0f8941e64bfa3e2d2a59ea28411dd77960c2a7f41e630d49a85e5e20880
MD5 195367584b7b1323749db6dd393cbc10
BLAKE2b-256 bf894477e909d4acc52aeb55a0c51c820d9625530faebde81d048a768117dff1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.10.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a16b49446d10032b82699323401d38e457f74c63a9de8b48efc1ffe9350e6cf0
MD5 4acd432e5e8d020a98fe06a946486dd3
BLAKE2b-256 40b19de056e3c5cc53ec9f7d5e3d25f2b99f20c135260df2e722fc8a97b0dbff

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