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
initscans your data, proposes an ontology based on your problem statement, and generates agent promptsrunbatches files into jobs sized to the model's context window, then launches parallel agents- Each agent reads source files, extracts entities/relationships via tool calls, and commits to a shared store
- Results stream to
graph.jsonlas 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.