Skip to content

feat: Add GUI for DPK Planning Agent#1369

Open
dobromiriiliev wants to merge 10 commits into
data-prep-kit:devfrom
dobromiriiliev:DPK_Agent_GUI
Open

feat: Add GUI for DPK Planning Agent#1369
dobromiriiliev wants to merge 10 commits into
data-prep-kit:devfrom
dobromiriiliev:DPK_Agent_GUI

Conversation

@dobromiriiliev
Copy link
Copy Markdown

Why are these changes needed?

The GUI wrapper streamlines the creation of data pipelines with the DPK Planning Agent by allowing users to use NLP (Natural Language Prompts) instead of creating Jypter notebooks or manually writting YAML configurations. The graphical user interface allows for the iterative design process by allowing users to make recommendations or changes to the YAML configurations; the GUI also allows the final configuration to be run as a subprocess.

Related issue number (if any).

[Feature] GUI Wrapper for the DPK Planning Agent/Front-End Orchestration #1318

Signed-off-by: dobromir <[email protected]>
@shahrokhDaijavad shahrokhDaijavad self-requested a review July 10, 2025 17:16
@santoshborse
Copy link
Copy Markdown
Collaborator

@dobromiriiliev could you please also add README.md which describe what this does and steps.

@shahrokhDaijavad
Copy link
Copy Markdown
Collaborator

@dobromiriiliev could you please also add README.md which describe what this does and steps.

Thanks, @santoshborse, I also asked @dobromiriiliev in our call yesterday to add the README.

Comment thread examples/DPK-Agent-GUI/README.md Outdated
@@ -0,0 +1,113 @@
# DPK Planning Agent GUI

This is a Gradio-based web interface to generate, edit, and run data pipelines using the Data Prep Kit (DPK) transform launcher via LangGraph `StateGraph`. It falls back to a demo mode when the DPK library is unavailable.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a hyperlink to Gradio when it is mentioned.

Comment thread examples/DPK-Agent-GUI/README.md Outdated
## Prerequisites

* **Operating System:** macOS, Linux, or Windows
* **Python:** 3.8 or newer
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DPK requires Python 3.10 or newer, so if DPK is to be used, we need to say 3.10 or newer.

Comment thread examples/DPK-Agent-GUI/README.md Outdated

* **Pipeline Generation:** Generate YAML pipelines from natural language prompts.
* **Pipeline Editing:** Apply edit instructions to existing pipeline YAML.
* **Pipeline Execution:** Run pipelines via the DPK launcher and displays console output.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

displays => display

Comment thread examples/DPK-Agent-GUI/README.md Outdated
**Note:** You can install the Data Prep Kit via PyPI (when available), by running:

```bash
pip install data-prep-kit
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pip install data-prep-toolkit-transforms[language]

@dobromiriiliev dobromiriiliev force-pushed the DPK_Agent_GUI branch 2 times, most recently from 128a74a to eed0f94 Compare July 11, 2025 18:06
Copy link
Copy Markdown
Collaborator

@touma-I touma-I left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see various comments. I think more work is needed before this can be merged and used by the broader community.

Comment thread examples/DPK-Agent-GUI/dpk_agent_gui.py Outdated
print("--- DPK Discovery (Subprocess Execution) ---")
script_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))

launcher_path = os.path.abspath(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this be re-written to allow users to pip install the transforms rather than by cloning ?

Comment thread examples/DPK-Agent-GUI/dpk_agent_gui.py Outdated
error: Optional[str]


def _run_dpk_as_subprocess(args: List[str]) -> subprocess.CompletedProcess:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not clear on why this runs as a subprocess ? Can you elaborate on this design decision ?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of the design decisions in the code are not obvious. I suggest you enhance the readme.md to include details on the architecture and design of this application.

Comment thread examples/DPK-Agent-GUI/README.md Outdated

# 2. Clone the Data Prep Kit (DPK) as a sibling directory
cd ..
git clone https://github.com/data-prep-kit/data-prep-kit.git
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we just do pip install ? Why do we need to do git clone ?

@shahrokhDaijavad
Copy link
Copy Markdown
Collaborator

Thank you, @dobromiriiliev. Two small problems that I see:

  1. The hyperlink to Gradio that you had added in the first line of README is lost.
  2. There is no need for the requirements.txt file anymore, is there?

@dobromiriiliev dobromiriiliev requested a review from touma-I July 22, 2025 16:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants