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
- Environment: Ensure you are using the local virtual environment.
source .venv/bin/activate
- LLM Engine: Requires Ollama running locally with the
qwen2.5-coder:7bmodel. - 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.jsonkmds_summary.jsonkmds_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)
| File | Size | Uploaded | |
|---|---|---|---|
| kmds_data_helper-0.5.0.tar.gz | 22.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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}
|