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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.8.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.8.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.8.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3f8e4e972d29ff40668a995eac2c06ac75e42818540bb7583435e7802d10b97
MD5 e4b3edc999a1d4e1b44d6a33b7be6be4
BLAKE2b-256 8645198a5e814fb8078ad4d4ec3ad92963911a0d7cff946a97159d297dfd360b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb3a4b5343aace0f85b5c79e2f963fcd0102f88a1987b79ad377c777bbb7e480
MD5 f495b6166416dce1db9f8735951cfdb7
BLAKE2b-256 70099c2d19f7d2dfeb302a1db305c72e063fe3f1ddad556732242820488aa30d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6bfad3cb4887af16184d2dbc263dba6799be368294fa33cd5529f0222b159e5c
MD5 75da9c8db216ff37102e6bd0b1dca161
BLAKE2b-256 9f5b9334a0ab710ad0972c55b1a72ca15e88c4f528ecf141f355323c9598cf3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.8.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7fbae27e4a1874e9eba611caa356895602a9cab53a836ecb363dc9fa69771808
MD5 e32168b01f6e733b8e66a0622853e403
BLAKE2b-256 f505aa08022cc29d4782f6e717478e2b8bf627a40426b0e75fd045533a229021

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