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.
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| kmds_data_helper-0.5.0.tar.gz | 22.7 kB | Without provenance | Details for kmds_data_helper-0.5.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kmds_data_helper-0.5.0-py3-none-any.whl | Python 3 | none | any | Details for kmds_data_helper-0.5.0-py3-none-any.whl |
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}
|
Security for kmds-data-helper 0.5.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.