Skip to main content

KMDS Data Helper: Repo Architect Framework

A modular, multi-persona framework for analyzing data science repositories. Uses local LLMs (via Ollama) to synthesize insights from documentation, data schemas, and Jupyter notebooks.

📂 Project Structure

KMDS-Helper follows a strict modular architecture to separate concerns:

  • src/kmds_data_helper/: Core logic modules (Config, Processing, LLM, Engine).
  • documents/: Project documentation (.pdf, .txt).
  • data/: Physical data assets (CSVs) - isolated from output.
  • notebooks/: Experimental code (.ipynb).
  • output/: Isolated directory for generated reports.

🛠️ Installation & Setup

  1. Environment: Ensure you are using the local virtual environment.
    source .venv/bin/activate
    
  2. LLM Engine: Requires Ollama running locally with the qwen2.5-coder:7b model.
  3. Dependencies:
    pip install rich ollama dataprofiler pymupdf4llm nbformat pyyaml
    

⚙️ Configuration

The framework is controlled by kmds_config.yaml in the root directory. You can toggle persona behaviors (Scientist, Tech Lead, Architect) and pathing without changing Python code.

🚀 Usage

Run the main orchestrator from the project root:

uv run uvicorn api:app --reload

##🧪 Tests

uv run pytest tests/test_personas.py

📦 Packaged Usage (v1)

This first version assumes a fixed repository structure. A user can install the package, run the knowledge-graph aggregator in a cloned repo, and produce a KMDS knowledge graph.

Required folders in the cloned repo

  • documents/
  • notebooks/
  • data_dictionary/
  • output/
  • models/

Expected helper output artifacts

At least one of these files should exist in output/:

  • full_service_report.json
  • kmds_summary.json
  • kmds_strategic_summary.json

Install

From the project root:

pip install -e .

Generate knowledge graph from helper outputs

kmds-kb --workspace . --project-file project_knowledge_graph.xml --mode auto

Initialize a KMDS workspace

kmds-init-workspace .

This command creates the required repository folders if they do not already exist.

The command validates the required folders, ingests the helper output artifacts, and writes:

  • project_knowledge_graph.xml

Adapter command (direct use)

You can also run the output adapter directly for a single file:

kmds-analyze --input output/full_service_report.json --project-file project_knowledge_graph.xml --create-project --workflow-name kmds_project_workflow --mode auto

Backward-compatible template script

If you are using the template script path, this remains supported:

python kb_aggregator.py --workspace . --project-file project_knowledge_graph.xml --mode auto

Common failure messages

  • Missing folder(s): one or more required directories are absent.
  • No helper output files found: none of the expected JSON artifacts are present in output/.
  • Project file already exists in create mode: rerun with update mode or choose a new target path.

Release files for kmds-data-helper 0.5.0

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

Source distribution (sdist)

Source distribution for kmds-data-helper 0.5.0
File Size Uploaded
kmds_data_helper-0.5.0.tar.gz 22.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kmds-data-helper 0.5.0
File Interpreter ABI Platform
kmds_data_helper-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.2 kB

Release files / kmds_data_helper-0.5.0.tar.gz

Download URL kmds_data_helper-0.5.0.tar.gz
Size 22.7 kB
Tags Source
SHA-256 checksum
How to use checksums
42d817b9d21fbe2964fcbcc5882647add3807bfd1caf1f1cbc3a1ac2a33b440a
BLAKE2b-256 checksum
How to use checksums
bca16d2e5d33ff257d2f5c1ee8fdd828381fcccd3b79deae0a5f7a7d2cabcfc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / kmds_data_helper-0.5.0-py3-none-any.whl

Download URL kmds_data_helper-0.5.0-py3-none-any.whl
Size 22.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
767b2fb08e39d0b712c9a39b1a74ca11308dcbdd467900d5218a8ec1a5b043a8
BLAKE2b-256 checksum
How to use checksums
1ea5183286fb1139d77f8a78be3441005f1a3b954a7c6db722df16cf39848939
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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