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

Uploaded Python 3

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

Uploaded Python 3

knowing-0.9.0-py3-none-macosx_11_0_arm64.whl (3.5 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.9.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.9.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.9.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc0b85fd82709990ee3a45cad947ad7de244a7c60c30afc4263b531ba7d11f9f
MD5 85a7a5d39a25263075ed2c467b18d45a
BLAKE2b-256 32b4e13e6e69c840c5064e85a5d2e5d3051e7f11ae9902528f75ef7151f06b1d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.9.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1ba94b379c6fc03ebd742875afac54e1244db9716531a600d32814e7b9ce503e
MD5 2d4726e998989e401119c63dffa7a232
BLAKE2b-256 0b3b04a5306cd0eb32df54ff8faec57d1c26ad57cbf126000a3e3a3d0aa7c6a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.9.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc75ffee62c3b2487e98d8a0fe87c67cff8ca4032ec5c8b697835667f7821e6b
MD5 b38b65cf270aa0fda0d3e27ad4595412
BLAKE2b-256 bd538dd1ca15d252cfc32052ebc93b1371228d0681b9549cd0e250c007a887fe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.9.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3c5ff0eba50dfca27ebeddf0a000a2270996b44428afc559a94f6a6b0d1ce610
MD5 dc9bf8e200192375b39d2c1b63b4f5f1
BLAKE2b-256 8ecd39eee43b8a48406be709d0e807fba4902559e387cf70a55f6ffb80b2fa18

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