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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.4.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.4.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.4.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8308c1619c626a08bbb352fd3412adf38b2e1603b9d76d5148250c56581cc0e
MD5 f38ba82cd5e82dd5ba38384dab4f3359
BLAKE2b-256 2f9a38067a6cab831d7fbb47d15294f38fd85763e0894395c1ae5251b871d019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ecad166853df37f316458644e8bd8e7ffcf0ccb42a7708cece99fccd7de8040f
MD5 f25023b2ac897a42006222c9f6338d4b
BLAKE2b-256 b9048e570796dbba5cc1cff4cd1ac1d1c2dc79c39ff8aeaedf28925a5c7927b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cda88233803c51320b960cbcc4a32430ffe9af1284687b3947cc1779bbfb5393
MD5 88c2811e636782291a9f311fca35ea2e
BLAKE2b-256 62b5b51bbd10a6640dfcb3a2acb668944d885d911f4069172664022c29e5356f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.4.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a3c8fae4ed9cd09c523efdb6552431d1ce607c14a7b747b02a315a3a2f00c01
MD5 7e65719c2e90ea9bd77ec3dfc78e88a8
BLAKE2b-256 01f0b850fdca8472a2783515f7573990359c1506f55abcb20ba9199243ea3d97

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