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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.7.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.7.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.7.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f649dc7542970441ddb41e5344425fd4f68c0cb83cabd7b086035f2bfb2dec8
MD5 5de79c02834835ddb28fd7690b40e7a8
BLAKE2b-256 3aaadd2e7ff92298b1e1aee79d047f82d55202ae467d81547d4272f553e25504

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9349c5f4ef76621a5e8c87a2d382bf07a7947e30115371e4fa1b878a9ccd90ea
MD5 074b87e2bede123edec977fc076d74ae
BLAKE2b-256 f93cb42a11ab8bd968682b1efa80aaadf83388d5fd6093f8b851e701bbb266b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2e790c46712652c5fc64c4a0e5acc428f932f5145e8ec4ad25442c17688d829b
MD5 f91d4d1499e5c969688786b04eee5f2b
BLAKE2b-256 3bd73be53c479be8a73b870e666610c21fc5864fd1ddcb0a4dfbae8adc2ed0a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.7.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 961e64da7008728ee01e681c26566a7204edb9ff5b9d43daad7a41ea7c9e8456
MD5 15d52184dd2c94c588b25eec83605a1d
BLAKE2b-256 2bfcda44700f960c8882c5c7ec81e4ba7152a5dbaafc6d613cd9fe479da85fdf

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