daggr  by gradio-app

Build and visualize AI workflows with a Python SDK

Created 1 month ago
514 stars

Top 61.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Daggr is a Python library for building and visualizing AI workflows by chaining Gradio apps, Hugging Face Inference Providers, and custom Python functions. It targets developers preferring a code-first approach, offering an auto-generated visual canvas for inspecting intermediate outputs, rerunning steps, and tracking provenance. Daggr streamlines AI/ML workflow development and debugging with real-time visual feedback and state preservation.

How It Works

Workflows are constructed as directed acyclic graphs (DAGs) composed of nodes. Each node represents a computation: GradioNode for Gradio Space APIs, FnNode for Python functions, or InferenceNode for Hugging Face models. Data flows via input/output ports, connectable to other nodes, UI components, fixed values, or callables. Key features include an auto-generated visual canvas for inspecting results, rerunning steps, and automatic provenance tracking that restores exact inputs for any given output. Visual staleness indicators (edge colors) clearly highlight workflow state.

Quick Start & Requirements

  • Primary install: pip install daggr
  • Prerequisites: Python 3.10 or higher. Hugging Face authentication (hf auth login) is recommended for remote Gradio Spaces and InferenceNode usage.
  • Quick Start: Create a Python file (e.g., app.py) with a Daggr graph definition and run using daggr app.py for hot reloading, or python app.py for standard execution.
  • Links: The README serves as the primary documentation.

Highlighted Details

  • Code-first workflow definition with an auto-generated visual canvas.
  • Robust provenance tracking, including result history and automatic input restoration.
  • Visual staleness indicators for clear workflow state awareness.
  • Direct integration with Gradio Spaces and Hugging Face Inference Providers.
  • run_locally=True option for offline Gradio Space execution.
  • daggr deploy command for easy deployment to Hugging Face Spaces.
  • LLM-friendly error messages with actionable suggestions for debugging.
  • Experimental features like Scatter/Gather and Choice Nodes for advanced workflow patterns.

Maintenance & Community

The project is associated with the gradio-app organization on GitHub. Specific details regarding active contributors, sponsorships, or dedicated community channels (like Discord/Slack) are not detailed in the provided README.

Licensing & Compatibility

Daggr is released under the MIT License, which generally permits commercial use and integration into closed-source projects without significant restrictions.

Limitations & Caveats

Daggr is explicitly stated to be in active development (beta status). Users should anticipate potential API changes between versions and a risk of data loss during updates, advising against its use in production-critical workflows at this stage.

Health Check
Last Commit

5 days ago

Responsiveness

Inactive

Pull Requests (30d)
54
Issues (30d)
27
Star History
513 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.