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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

File hashes

Hashes for knowing-0.6.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 985e8e539a4860a3d250da6eb124baa938dc3ee5118ad2842dd357f2089c76ec
MD5 cb6ea80e9662dee302ec5a812150cad5
BLAKE2b-256 c02680b31c1d93cb18d74e4281d0d77449ee76f5aaf8098fe876af2807d09ba1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd0ba3580fce19c1709d5a3d0c7a144245e3e78607a04f446298387f6f8b0b09
MD5 a59cba25c8ec5bc1d5473fea8e86baea
BLAKE2b-256 7ffc96e3555670c21c29f3bf55d739dcfe78de1f18449d5c1efb5a4646ddd662

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bc81eec4ebe67743b8728cc0c548e567a2c16d59250517e5574bb8896edc7fdf
MD5 d346461369fa864ccc96057e86d8be2d
BLAKE2b-256 48d1e6f5a348d70c02f75e0d688981056883bb40d6a15112a382fc2131db2569

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 adcde5bbe16013767a342d49603f1bb2cb81328799ecf66d07a897baedd6edd7
MD5 f5c94f9d52911e883d7a3ee568c2a1c2
BLAKE2b-256 a29b91add84a204270a1ee2094818557b9c49247e5f934f1dd6ed425a04e9da3

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