Getting Started
🚀 Getting Started with Waldiez¶
You can use Waldiez in one of the following ways — pick the one that works best for you:
- 🌐 Use the Playground – no installation required
- 🐍 Install from PyPI – for full control and customization
- 🐳 Use Docker – no setup, great for reproducibility
- 📦 Use the JupyterLab extension – for interactive notebooks
- 🖥️ Use the Visual Studio Code extension – for a familiar IDE experience
- 🎬 Use Waldiez Studio – for a FastAPI-based web UI
🌐 1. Use the Playground (No Installation Required)¶
You can visit the Playground at: https://waldiez.github.io
You can:
- 🧩 Design and edit Waldiez flows visually
- 🔗 Share flows with others
- ✅ Test layout and logic before running locally
Note
This is great for quick mockups, or early-stage exploration.
Warning
The Playground is read-only:
- You cannot run or export flows from the Playground.
- To convert flows to Python code or run them, use the PyPI or Docker options below.
🐍 2. Install from PyPI (Recommended for Full Functionality)¶
If you want to create, convert, and run Waldiez flows locally — with full flexibility — install Waldiez using pip.
This option gives you:
- ✅ Full access to the Python API and CLI
- 🧪 Integration with JupyterLab and Waldiez Studio
- 🖥️ Local development with VS Code
📦 Basic Installation¶
(Optional but highly recommended) Create and activate a virtual environment¶
python3 -m venv .venv
source .venv/bin/activate # or .venv\Scripts\Activate.ps1 on Windows
# Upgrade pip (optional)
python -m pip install --upgrade pip
# Install the core Waldiez package
pip install waldiez
➕ Optional Extras¶
Install with extras depending on how you want to work:
# JupyterLab integration
pip install waldiez[jupyter] # or pip install waldiez-jupyter
# Waldiez Studio (FastAPI-based web UI)
pip install waldiez[studio] # or pip install waldiez-studio
# Both
pip install waldiez[studio,jupyter]
Note
These extras enable additional commands like waldiez lab
(for JupyterLab) and waldiez studio
.
🧪 Requirements:
- Python >= 3.10, < 3.13
- Optional: Docker/Podman if using containers later
🐳 3. Use Docker (No Setup Required)¶
If you don’t want to install Python or manage dependencies, you can use Waldiez directly from prebuilt container images.
This option gives you:
- ✅ Full functionality without installing anything
- 📦 Easy integration in CI, testing, or isolated dev environments
- 🔁 Reproducible setup across teams
Note
📦 Available Images:
waldiez/waldiez
— CLI-only: convert and run flowswaldiez/jupyter
— JupyterLab server with Waldiez extensionwaldiez/studio
— FastAPI web UI for local flow editing and running
🪟 Windows (PowerShell with Docker or Podman Desktop)¶
$flow = "C:\Users\YourName\Documents\flow.waldiez"
$output = "C:\Users\YourName\Documents\waldiez_output"
# Convert a flow to Python
docker run --rm `
-v "$flow:/flow.waldiez" `
-v "$output:/output" `
waldiez/waldiez convert --file /flow.waldiez --output /output/flow.py
# Convert and run it
docker run --rm `
-v "$flow:/flow.waldiez" `
-v "$output:/output" `
waldiez/waldiez run --file /flow.waldiez --output /output/output.py
Note
If using Hyper-V mode, make sure your files are in a shared folder Docker Desktop has access to.
More info: https://docs.docker.com/desktop/settings/windows/#file-sharing
🐧 Linux/macOS/WSL (Docker or Podman)¶
# Convert a flow to a Python script
docker run --rm \
-v $(pwd)/flow.waldiez:/flow.waldiez \
-v $(pwd)/output:/output \
waldiez/waldiez convert --file /flow.waldiez --output /output/flow.py
# Convert to a Jupyter Notebook instead
docker run --rm \
-v $(pwd)/flow.waldiez:/flow.waldiez \
-v $(pwd)/output:/output \
waldiez/waldiez convert --file /flow.waldiez --output /output/flow.ipynb
# Convert and immediately run it
docker run --rm -it \
-v $(pwd)/flow.waldiez:/flow.waldiez \
-v $(pwd)/output:/output \
waldiez/waldiez run --file /flow.waldiez --output /output/output.py
Note
📝 Tips:
- Try using absolute paths (or ${PWD}) in all
-v
volume mounts - Avoid spaces or special characters in file paths
- The
.waldiez
file should be a valid flow you’ve created in the Playground or elsewhere If you’re using Linux with Podman and/or SELinux, you might encounter permission errors, so you can try adding the following flags:
--userns=keep-id
and--security-opt label=disable
Example:
- 💬 If you run into any issues, feel free to open an issue on Github. We’re happy to help!
📦 4. Use the JupyterLab Extension (for Interactive Notebooks)¶
If you're already working in JupyterLab or prefer a notebook-based environment, you can use the official Waldiez extension.
This gives you:
- 🖥️ A visual flow editor directly inside JupyterLab
- 📤 Export flows to
.py
or.ipynb
- ▶️ Run flows from within the notebook environment
🚀 Install with Jupyter support¶
If you installed Waldiez from PyPI, add the [jupyter]
extra:
# Option 1: Fresh install
pip install waldiez[jupyter]
# Option 2: Add it to an existing install
pip install waldiez-jupyter
If you’re using the waldiez/jupyter
Docker image, the Waldiez extension is already preinstalled. To launch it, run:
This will start a JupyterLab server and mount the notebooks
directory from your host machine to the container. You can then open your browser at http://localhost:8888
and start using Waldiez.
▶️ Launch the Waldiez UI inside JupyterLab¶
Once installed, you can either:
# Use the CLI to open JupyterLab with the extension:
waldiez lab
# Or just launch JupyterLab normally:
jupyter lab
❓ Extension not loading?¶
Make sure you're running JupyterLab from the same environment where Waldiez is installed. If needed, you can reinstall or enable the extension manually:
jupyter labextension install waldiez
# can also check the currently installed and enabled extensions with:
jupyter labextension list
Note
You can also run Waldiez flows inside notebooks using the Python API:
🖥️ 5. Use the Visual Studio Code Extension (Familiar IDE Experience)¶
If you’re a VS Code user, you can work with Waldiez flows right inside your IDE using the official extension.
This gives you:
- 🧩 A drag-and-drop flow editor inside VS Code
- 📂 Open
.waldiez
files directly - 💾 Save, edit, and share flows as files
- Convert and run flows if a valid python interpreter exists.
📥 Install the Extension¶
You can install the extension directly from the VS Code Marketplace:
- Open the Extensions panel (
Ctrl+Shift+X
orCmd+Shift+X
on MacOS) - Search for:
Waldiez
and install it
Marketplace link:
🔗 https://marketplace.visualstudio.com/items?itemName=Waldiez.waldiez-vscode
Source code repo:
🔧 https://github.com/waldiez/vscode
🎬 6. Use Waldiez Studio (FastAPI-based Web UI)¶
Waldiez Studio is a lightweight local web application that allows you to:
- 🧩 Create and edit flows using a visual UI
- ▶️ Run flows and see output directly in the browser
- 📤 Export flows to Python or Jupyter formats
🚀 Installing Waldiez Studio¶
If you're using PyPI, install the [studio]
extra:
If you’re using Docker, pull the waldiez/studio image:
🚀 Running Waldiez Studio¶
You can run Waldiez Studio using the command line:
waldiez studio --help
# example output (from typer ❤️):
# Usage: waldiez studio [OPTIONS]
# --host TEXT The host to run the server on [default: localhost]
# --port INTEGER The port to run the server on [default: 8000]
# --reload --no-reload Reload the server on file changes [default: no-reload]
# --log-level
# [CRITICAL|ERROR|WARNING|INFO|DEBUG] The log level [default: INFO]
# --domain-name TEXT [default: localhost]
# --trusted-hosts TEXT [default: []]
# --trusted-origins TEXT [default: []]]
# --force-ssl --no-force-ssl Force SSL [default: no-force-ssl]
# --version Show the version
# --help -h Show this message and exit.
A typical usage would be:
You can then open your browser and navigate to: 🔗 http://localhost:8000
Note
We are using FastAPI's TrustedHostMiddleware, so make sure you visit the correct URL if you are using a different host or port. You can also use the --trusted-hosts
option to specify a list of trusted hosts. For example, if you are running Waldiez Studio on a remote server, you can use:
This will allow you to access waldiez studio from https://example.com
(assuming that a reverse proxy is set up to forward requests to the correct port and manages SSL).
🧪 Advanced Usage¶
🐍 Using the Python API¶
You can load, convert, and run .waldiez
flows directly in Python.
Export a flow¶
from waldiez import WaldiezExporter
flow_path = "/path/to/flow.waldiez"
output_path = "/path/to/output.py" # or .ipynb
exporter = WaldiezExporter.load(flow_path)
exporter.export(output_path)
Run a flow¶
from waldiez import WaldiezRunner
from waldiez import WaldiezRunner
flow_path = "/path/to/flow.waldiez"
output_path = "/path/to/output.py"
runner = WaldiezRunner.load(flow_path)
runner.run(output_path=output_path)
🧰 Using the Command Line
Waldiez also includes a CLI for converting and running flows:
# Convert a .waldiez flow to a Python script or Jupyter notebook
waldiez convert --file /path/to/flow.waldiez --output /path/to/output.py
# Convert and run (with optional --force if output exists)
waldiez run --file /path/to/flow.waldiez --output /path/to/output.py --force
Note
💡 Use waldiez --help
, waldiez convert --help
or waldiez run --help
to explore more CLI options.
➡️ That's it! Now that you're set up, learn how to use Waldiez →