Skip to main content

k-extract

Extract knowledge graphs from any codebase or documentation. Point it at your repos, describe what you're trying to understand, and get a graph out.

Quick Start

1. Define what to extract

uvx k-extract init ./my-repo ./another-repo

This walks you through:

  • Describing your problem ("I need to understand my testing inventory and coverage gaps")
  • Reviewing a proposed ontology (entity types, relationship types)
  • Refining until you're satisfied

Produces extraction.yaml — your complete extraction config.

2. Run the extraction

uvx k-extract run --config extraction.yaml

Outputs graph.jsonl. Ctrl-C anytime — re-run to resume where you left off.

3. Load into kartograph

The output is kartograph-compatible JSONL. Feed it to kartograph's mutation endpoint to query your graph.

Requirements

  • uv (or Python 3.12+ with pip install k-extract)
  • An Anthropic API key (or Vertex AI credentials) — set via environment variables
  • Model configured via environment (e.g., ANTHROPIC_MODEL=claude-sonnet-4-6)

Configuration

extraction.yaml is human-readable and fully editable. It contains:

  • problem_statement — what you're trying to understand
  • data_sources — paths to your repos/data
  • ontology — entity and relationship types to extract
  • prompts — the exact instructions agents receive (generated, but editable)
  • output — where results go (graph.jsonl, extraction.db)

Edit any field, re-run. Changing the config invalidates previous results — use --force to start fresh.

CLI Reference

uvx k-extract init <path> [<path> ...]           # Interactive ontology design
uvx k-extract run --config <yaml>                # Run extraction (resumes by default)
uvx k-extract run --config <yaml> --force        # Discard previous results, start fresh
uvx k-extract jobs --config <yaml>               # Inspect job state
uvx k-extract jobs --config <yaml> --status failed  # See failed jobs

How It Works

  1. init scans your data, proposes an ontology based on your problem statement, and generates agent prompts
  2. run batches files into jobs sized to the model's context window, then launches parallel agents
  3. Each agent reads source files, extracts entities/relationships via tool calls, and commits to a shared store
  4. Results stream to graph.jsonl as jobs complete

License

Apache-2.0

Metadata

Release files for k-extract 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for k-extract 0.6.1
File Size Uploaded Provenance Actions
k_extract-0.6.1.tar.gz 292.4 kB With provenance Details for k_extract-0.6.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for k-extract 0.6.1
File Interpreter ABI Platform Actions
k_extract-0.6.1-py3-none-any.whl Python 3 none any Details for k_extract-0.6.1-py3-none-any.whl

Total release size: 364.3 kB

Release files / k_extract-0.6.1.tar.gz

Download URL k_extract-0.6.1.tar.gz
Size 292.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2e07843d4fdce6dba37c687ec16f66dfa15a8f432b161b38ba0269a5034c2b4d
BLAKE2b-256 checksum
How to use checksums
ee033cb73966e8bca977aea88f38fcfc145df38bdeecd05192d31d5eece2915f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

Release files / k_extract-0.6.1-py3-none-any.whl

Download URL k_extract-0.6.1-py3-none-any.whl
Size 71.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c23d30a2d4ca0636a5d0d290acec9fb889dcf0a977e22f107b030dee2d9d5330
BLAKE2b-256 checksum
How to use checksums
a823ed5cc57bbecb4fa7cd638f270409f75f2daaa403c6d9e5440d07d74b14df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

Security for k-extract 0.6.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for k_extract-0.6.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page