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

Uploaded Python 3

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

Uploaded Python 3

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

Uploaded Python 3macOS 11.0+ ARM64

knowing-0.6.3-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.3-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for knowing-0.6.3-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c42e9d14679a7af45f064829d18739372003f439582c93ab896c57deba599d8f
MD5 538f85ac6e2f3b202d8eb4c9753b1631
BLAKE2b-256 8acbe8589dfe9223418f52ba3e55bd4de59502a385e8ea8225768c1758d39f78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.3-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 798ef6bdd1dac81ed417279e5a51e58a8778ab54e9125dc4506096be7afda321
MD5 438bacdb316f2430a8c28caa02b34ecd
BLAKE2b-256 dfa866bd023851e9c3b573fbfd48649558dff9307453326ea86869587dd37eac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dae33606427bc3f864d7672e1e206d81e0cb7a1d94fc9ee5672bf7af71b3d88c
MD5 be362107309e07ffac9e2b62d321f3a7
BLAKE2b-256 64863d81e091df0b719547f69dfcc37e4261cfc0b6f60231962a494e000e3793

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for knowing-0.6.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b838d359ebfc0468df504359f050ca1771728d4a4ce1b9ec069f94a13d229993
MD5 e0f0487d246ca3ceeda251b6760d32e2
BLAKE2b-256 669f68156ab984b7f6422efc0c68d57babaf324e90d052252c79dff770da032c

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