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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.6.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.6.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.6.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc283dc8084e2e1b293b1672728baf7a4580355d27bca83baef864cca1792453
MD5 0beca471cc748de005c2c5ba46814a3f
BLAKE2b-256 18098074ee07e81acba426257dff65a687de43cea1ba1cb4ae8335cc55c060ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c6142a39850473c971816bf57fe4100b56d2daeb826846c7662ed6c3427523f3
MD5 1c780937390f30948331b419b3236a86
BLAKE2b-256 8cff2a9aabc1879deb7b122de2b54209b3d2b85bd03202f29aec49da476ff19d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 895f5dee5c02f9d25c31748dc89c8d3a5447710daf8a24da56bd60c22da8e519
MD5 1eff39e66e4d7025ce05912f889d02da
BLAKE2b-256 a8dee5c6bb91a9d8c5bce0903f530c6bdcf9d45532db4f29624598c96575ec46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e396b7a0dcdef31f0f06e10f9ba79c659ab6b6695e101525f2733c54bd1ba33a
MD5 f7dc9c0f5580558a2fbd4eaf065bcaeb
BLAKE2b-256 8ad1fbc9a17e43079f8087c6df3674d10784c6376e7dc54399649d9718a0f2f4

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