{"id":31558065,"url":"https://github.com/waldiez/waldiez","last_synced_at":"2025-10-05T00:14:03.702Z","repository":{"id":255986881,"uuid":"845838787","full_name":"waldiez/waldiez","owner":"waldiez","description":"Make AG2 Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez","archived":false,"fork":false,"pushed_at":"2025-10-03T10:16:15.000Z","size":76363,"stargazers_count":104,"open_issues_count":2,"forks_count":10,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-03T10:31:50.357Z","etag":null,"topics":["ag2","agents","multiagent","no-code","ui","workflow"],"latest_commit_sha":null,"homepage":"https://waldiez.io","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waldiez.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":"governance/CLA.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE.md","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-22T02:58:06.000Z","updated_at":"2025-09-22T20:29:17.000Z","dependencies_parsed_at":"2024-12-08T09:20:56.617Z","dependency_job_id":"75f0d9ba-780d-482d-b877-328ffd4fd4d2","html_url":"https://github.com/waldiez/waldiez","commit_stats":null,"previous_names":["waldiez/py","waldiez/waldiez"],"tags_count":60,"template":false,"template_full_name":null,"purl":"pkg:github/waldiez/waldiez","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waldiez%2Fwaldiez","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waldiez%2Fwaldiez/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waldiez%2Fwaldiez/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waldiez%2Fwaldiez/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waldiez","download_url":"https://codeload.github.com/waldiez/waldiez/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waldiez%2Fwaldiez/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391671,"owners_count":25979049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ag2","agents","multiagent","no-code","ui","workflow"],"created_at":"2025-10-05T00:14:02.136Z","updated_at":"2025-10-05T00:14:03.696Z","avatar_url":"https://github.com/waldiez.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Waldiez\n\n[![Coverage Status](https://coveralls.io/repos/github/waldiez/waldiez/badge.svg)](https://coveralls.io/github/waldiez/waldiez) [![PyPI Downloads](https://static.pepy.tech/badge/waldiez)](https://pepy.tech/projects/waldiez) [![PyPI version](https://badge.fury.io/py/waldiez.svg?icon=si%3Apython)](https://badge.fury.io/py/waldiez) [![npm version](https://badge.fury.io/js/@waldiez%2Freact.svg)](https://badge.fury.io/js/@waldiez%2Freact)\n\n## Make AG2 Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez\n\nDesign AI Agents and translate a Waldiez flow to [AG2](https://github.com/ag2ai/ag2/):\n\n\u003cvideo src=\"https://github.com/user-attachments/assets/71d4b8d1-a24b-45ab-ab53-dfc193e8fcaa\" controls=\"controls\" autoplay=\"autoplay\" loop=\"loop\" muted=\"muted\" playsinline=\"playsinline\" width=\"100%\" height=\"100%\"\u003e\u003c/video\u003e\n\n## Features\n\n- Convert .waldiez flows to .py or .ipynb\n- Run a .waldiez flow\n- Store the runtime logs of a flow to csv for further analysis\n\n## Installation\n\n### Python\n\nOn PyPI:\n\n```shell\npython -m pip install waldiez\n```\n\nFrom the repository:\n\n```shell\npython -m pip install git+https://github.com/waldiez/waldiez.git\n```\n\n### React Component\n\nIf you’re looking for the React component, please refer to [README.npm](https://github.com/waldiez/waldiez/blob/main/README.npm.md).\n\n\u003e Note: The React component is only for creating and editing flows — it is not used for converting or running flows (that functionality is handled by the Python package).\n\nTo add the waldiez library to your app:\n\n```shell\nnpm install @waldiez/react\n# or\nyarn add @waldiez/react\n# or\npnpm add @waldiez/react\n# or\nbun add @waldiez/react\n```\n\n## Usage\n\n### UI Options\n\n- For creating-only (no exporting or running) waldiez flows, you can use the playground at \u003chttps://waldiez.github.io\u003e.\n- There is also a jupyterlab extension here: [waldiez/jupyter](https://github.com/waldiez/jupyter)\n- You also can use the vscode extension:\n  - [repo](https://github.com/waldiez/vscode)\n  - [marketplace](https://marketplace.visualstudio.com/items?itemName=Waldiez.waldiez-vscode)\n- Finally, you can use [waldiez-studio](https://github.com/waldiez/studio), which includes a FastAPI app to handle the conversion and running of waldiez flows.\n\nThe jupyterlab extension and waldiez studio are also provided as extras in the main package.\n\n```shell\npip install waldiez[studio]  # or pip install waldiez_studio\npip install waldiez[jupyter]  # or pip install waldiez_jupyter\n# or both\npip install waldiez[studio,jupyter]\n```\n\n### CLI\n\n```bash\n# Convert a Waldiez flow to a python script or a jupyter notebook\nwaldiez convert --file /path/to/a/flow.waldiez --output /path/to/an/output/flow[.py|.ipynb]\n# Convert and run the script, optionally force generation if the output file already exists\nwaldiez run --file /path/to/a/flow.waldiez --output /path/to/an/output/flow[.py|.ipynb] [--force]\n```\n\n### Using docker/podman\n\n### 🪟 Windows (PowerShell with Docker or Podman Desktop)\n\n```powershell\n$hostInputFile = \"C:\\Users\\YourName\\Documents\\flow.waldiez\"\n$containerInputFile = \"/home/waldiez/workspace/flow.waldiez\"\n$hostOutputDir = \"C:\\Users\\YourName\\Documents\\waldiez_output\"\n$containerOutputDir = \"/home/waldiez/output\"\n$containerOutputFile = \"/home/waldiez/output/flow.ipynb\"\n\n# Convert a flow to Jupyter Notebook\ndocker run --rm `\n  -v \"$hostInputFile:$containerInputFile\" `\n  -v \"$hostOutputDir:$containerOutputDir\" `\n  waldiez/waldiez convert --file $hostInputFile --output $containerOutputFile\n\n# Convert and run it\ndocker run --rm `\n  -v \"$flow:/home/waldiez/workspace/flow.waldiez\" `\n  -v \"$output:/output\" `\n  waldiez/waldiez run --file $hostInputFile --output $containerOutputFile\n```\n\n\u003e Note\n  If using Hyper-V mode, make sure your files are in a shared folder Docker Desktop has access to.  \n  More info: \u003chttps://docs.docker.com/desktop/settings/windows/#file-sharing\u003e\n\n### 🐧 Linux/macOS/WSL (Docker or Podman)\n\n```shell\nCONTAINER_COMMAND=docker # or podman\n# Assuming ./flow.waldiez exists\nHOST_INPUT=\"$(pwd)/flow.waldiez\"\nCONTAINER_INPUT=\"/home/waldiez/workspace/flow.waldiez\"\nHOST_OUTPUT_DIR=\"$(pwd)/output\"\nCONTAINER_OUTPUT_DIR=\"/home/waldiez/output\"\nmkdir -p ${HOST_OUTPUT_DIR}\n\n# Convert a flow to a Python script\n$CONTAINER_COMMAND run --rm \\\n  -v ${HOST_INPUT}:${CONTAINER_INPUT} \\\n  -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \\\n  waldiez/waldiez convert --file $HOST_INPUT --output ${CONTAINER_OUTPUT_DIR}/flow.py\n\n# Convert to a Jupyter Notebook instead\n$CONTAINER_COMMAND run --rm \\\n  -v ${HOST_INPUT}:${CONTAINER_INPUT} \\\n  -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \\\n  waldiez/waldiez convert --file $HOST_INPUT --output ${CONTAINER_OUTPUT_DIR}/flow.ipynb\n\n# Convert and run it (force override generated file if it exists)\n$CONTAINER_COMMAND run --rm -it \\\n  -v ${HOST_INPUT}:${CONTAINER_INPUT} \\\n  -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \\\n  waldiez/waldiez run --file $HOST_INPUT --force\n```\n\n### As a library\n\n#### Generate a script or a notebook from a flow\n\n```python\n# Export a Waldiez flow to a python script or a jupyter notebook\nfrom pathlib import Path\nfrom waldiez import WaldiezExporter\nflow_path = \"/path/to/a/flow.waldiez\"\noutput_path = \"/path/to/an/output.py\"  # or .ipynb\nexporter = WaldiezExporter.load(Path(flow_path))\nexporter.export(output_path)\n```\n\n#### Run a flow\n\n```python\n# Run a flow\nfrom pathlib import Path\nfrom waldiez import WaldiezRunner\nflow_path = \"/path/to/a/flow.waldiez\"\noutput_path = \"/path/to/an/output.py\"\nrunner = WaldiezRunner.load(Path(flow_path))\nrunner.run(output_path=output_path)\n```\n\n## Known Conflicts\n\n- **autogen-agentchat**: This package conflicts with `ag2`. Ensure that `autogen-agentchat` is uninstalled before installing `waldiez`. If you have already installed `autogen-agentchat`, you can uninstall it with the following command:\n\n  ```shell\n  pip uninstall autogen-agentchat -y\n  ```\n\n  If already installed waldiez you might need to reinstall it after uninstalling `autogen-agentchat`:\n\n  ```shell\n  pip install --force --no-cache waldiez ag2\n  ```\n\n## See also\n\n- [Waldiez Playground](https://waldiez.github.io)\n- [React Component](https://github.com/waldiez/waldiez/blob/main/README.npm.md)\n- [Waldiez Studio](https://github.com/waldiez/studio)\n- [Waldiez JupyterLab Extension](https://github.com/waldiez/jupyter)\n- [Waldiez VSCode Extension](https://github.com/waldiez/vscode)\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!--suppress ALL --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://scholar.google.com/citations?user=JmW9DwkAAAAJ\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29335277?v=4?s=100\" width=\"100px;\" alt=\"Panagiotis Kasnesis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePanagiotis Kasnesis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#projectManagement-ounospanas\" title=\"Project Management\"\u003e📆\u003c/a\u003e \u003ca href=\"#research-ounospanas\" title=\"Research\"\u003e🔬\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lazToum\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4764837?v=4?s=100\" width=\"100px;\" alt=\"Lazaros Toumanidis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLazaros Toumanidis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/waldiez/waldiez/commits?author=lazToum\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://humancentered.gr/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3456066?v=4?s=100\" width=\"100px;\" alt=\"Stella Ioannidou\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eStella Ioannidou\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#promotion-siioannidou\" title=\"Promotion\"\u003e📣\u003c/a\u003e \u003ca href=\"#design-siioannidou\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/amaliacontiero\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/29499343?v=4?s=100\" width=\"100px;\" alt=\"Amalia Contiero\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAmalia Contiero\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/waldiez/vscode/commits?author=amaliacontiero\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/waldiez/vscode/issues?q=author%3Aamaliacontiero\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/hchris0\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/23460824?v=4?s=100\" width=\"100px;\" alt=\"Christos Chatzigeorgiou\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristos Chatzigeorgiou\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/waldiez/runner/commits?author=hchris0\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" size=\"13px\" colspan=\"7\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg\"\u003e\n        \u003ca href=\"https://all-contributors.js.org/docs/en/bot/usage\"\u003eAdd your contributions\u003c/a\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n## License\n\nThis project is licensed under the [Apache License, Version 2.0 (Apache-2.0)](https://github.com/waldiez/waldiez/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaldiez%2Fwaldiez","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaldiez%2Fwaldiez","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaldiez%2Fwaldiez/lists"}