Taipy Two-in-One Architecture
Taipy GUI — Interactive Dashboards
Build rich web UIs with pure Python — no HTML, CSS, or JavaScript:
import taipy.gui.builder as tgb
from taipy.gui import Gui
import pandas as pd
data = pd.DataFrame({"Month": ["Jan","Feb","Mar"], "Revenue": [100, 150, 200]})
selected_month = "All"
def filter_data(state):
if state.selected_month == "All":
state.filtered = data
else:
state.filtered = data[data["Month"] == state.selected_month]
with tgb.Page() as dashboard:
tgb.text("# Revenue Dashboard", mode="md")
tgb.selector("{selected_month}", lov=["All","Jan","Feb","Mar"],
on_change=filter_data)
tgb.chart("{filtered}", x="Month", y="Revenue", type="bar")
tgb.table("{filtered}")
Gui(page=dashboard).run()Available components:
- Charts — Line, bar, scatter, pie, heatmap (Plotly-based)
- Tables — Sortable, filterable, editable data tables
- Forms — Input, slider, toggle, date picker, file upload
- Layout — Columns, expandable sections, tabs, dialog
- Media — Images, videos, maps
Taipy Core — Pipeline Orchestration
Manage data pipelines with versioning and scenario comparison:
from taipy import Config
import taipy as tp
# Define the pipeline
raw = Config.configure_data_node("raw_data", path="sales.csv")
forecast = Config.configure_data_node("forecast")
train_task = Config.configure_task("train_model", train_fn, [raw], [forecast])
scenario_cfg = Config.configure_scenario("sales_forecast", [train_task])
# Run scenarios
tp.Core().run()
scenario_1 = tp.create_scenario(scenario_cfg)
tp.submit(scenario_1)
# Compare scenarios (what-if analysis)
scenario_2 = tp.create_scenario(scenario_cfg)
scenario_2.raw_data.write(alternative_data)
tp.submit(scenario_2)
# Both scenarios tracked with full lineageWhat-If Scenario Analysis
Taipy's killer feature — compare multiple pipeline runs:
Scenario A: "Base forecast with 2025 data"
└─ Revenue prediction: $2.1M
Scenario B: "Optimistic — 10% growth assumption"
└─ Revenue prediction: $2.3M
Scenario C: "Conservative — recession adjustment"
└─ Revenue prediction: $1.8M
→ Side-by-side comparison in the dashboardREST API (Built-in)
Every Taipy app automatically exposes a REST API:
# Get scenario results
GET /api/v1/scenarios/{id}
# Submit a new scenario
POST /api/v1/scenarios/{id}/submit
# Read data node
GET /api/v1/datanodes/{id}/readDeployment
# Development
taipy run app.py
# Production with Gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 app:gui
# Docker
docker build -t my-taipy-app .
docker run -p 5000:5000 my-taipy-appFAQ
Q: What is Taipy? A: Taipy is a full-stack Python framework with 15,000+ GitHub stars that combines a GUI builder (create dashboards without JavaScript) and a workflow orchestrator (manage ML pipelines and scenarios) in one package.
Q: How is Taipy different from Streamlit or Gradio? A: Streamlit/Gradio are great for quick demos but struggle with production needs. Taipy adds pipeline orchestration, scenario management, multi-page apps, built-in REST API, and enterprise deployment — it's designed for production, not just prototyping.
Q: Is Taipy free? A: The Community Edition is free and open-source under Apache-2.0. Taipy also offers an Enterprise Edition with additional features.