Experiments are maintained on the kddexperiment branch; to reproduce them, use the notebooks in notebooks/experiments/.
Requires Python 3.12+ and uv.
git clone https://github.com/com3dian/metadata_agent.git
cd metadata_agent
make uv-setup
uv pip install -e .See src/readme.md for optional dependency groups, LLM configuration, and usage.
| Path | What you'll find |
|---|---|
src/ |
Core library — see src/readme.md for setup and usage |
src/orchestrator/ |
Planning and step execution (parallel agents, debate, synthesis) |
src/players/ |
Agent roles, prompts, and tool assignments |
src/context/ |
Unified data layer for CSV, SQLite, and multi-table inputs |
src/tools/ |
Tools agents use to inspect datasets (schema, samples, relationships) |
src/standards.py |
Predefined metadata output formats (e.g. Dublin Core, relational) |
src/topology.py |
Execution topologies (player count, debate rounds) |
src/main.py |
CLI entry point (metadata-agent) |
src/tui/ |
Terminal UI for interactive metadata extraction |
demo/ |
Streamlit app pages and workflow logic |
demo_app.py |
Streamlit demo entry point (make demo) |
docs/ |
Tutorial, architecture overview, and deployment guides |
examples/ |
Small scripts to test LLM connectivity and run the pipeline |
tests/ |
Unit tests |
data/ |
Sample datasets for development and experiments |
notebooks/ |
Exploratory notebooks for development |
pyproject.toml |
Dependencies and package configuration |
makefile |
Common commands (setup, docs, demo, test, lint) |
Getting started
- Tutorial:
docs/tutorial.md— full walkthrough from configuration to output - Architecture:
docs/architecture.md— how planning, execution, and debate fit together - CLI:
metadata-agent --source ./data/my_data.csv - Terminal UI:
metadata-agent --tui - Web demo:
make demo - Example script:
python -m examples.generation
