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 25 extractor types 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: 23 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:

  • 25 extractors: Go, TypeScript, Python, Rust, Java, C#, Protobuf, Terraform, SQL, Kubernetes, CloudFormation, Docker Compose, GitHub Actions, Helm, GraphQL, and more
  • Hierarchical Merkle diffs: 114x faster on real graphs, 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.4.0-py3-none-manylinux2014_x86_64.whl (3.4 kB view details)

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.4.0-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.4.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.4.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1456c3cf1869b5a5f93891592f5671d8e0dae1bc146ec3d3f4d38ea3cd686479
MD5 f5f3e0b6dfa017d893bc5f1a287ed91a
BLAKE2b-256 b5f0c0a5ce18937f1e6592a103e48595110276d06504fa62e9e1d2363ece0ba0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9d7d6e4e1ba7d5da6c9e42e7e25def0ef6a9e671c11f4e76230f031248a085a5
MD5 6a56123056fcaeed418e2145cc60616a
BLAKE2b-256 1576d32d6aedba62878e1ff09f13e240c9a54c8dca0cb3c1c9760b96b2f65368

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 920835b607fcf49f9d02f97513fd2d4d8b8ab51c06cc31888b3d8db859928839
MD5 cf0b4b531d603c1ed202eef7868a786d
BLAKE2b-256 300427f417a81f82dd9c6818ba49772e9ddecddb12d8d4d81a8030751cf16a62

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7c93bf50bb9f999f7cacb8bc86426e03175c484abc900e075f69863f066c43b9
MD5 e71fca9826d2218fca376d91f5f647fa
BLAKE2b-256 f3626c744d3c2ad51ef2bdb7e875df5262b258e4df01aba3ab75cb0a2a4a8252

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