waldiez 0.4.6__py3-none-any.whl → 0.4.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of waldiez might be problematic. Click here for more details.

Files changed (244) hide show
  1. waldiez/__init__.py +5 -5
  2. waldiez/_version.py +1 -1
  3. waldiez/cli.py +112 -73
  4. waldiez/exporter.py +61 -19
  5. waldiez/exporting/__init__.py +25 -6
  6. waldiez/exporting/agent/__init__.py +7 -3
  7. waldiez/exporting/agent/code_execution.py +114 -0
  8. waldiez/exporting/agent/exporter.py +354 -0
  9. waldiez/exporting/agent/extras/__init__.py +15 -0
  10. waldiez/exporting/agent/extras/captain_agent_extras.py +315 -0
  11. waldiez/exporting/agent/extras/group/target.py +178 -0
  12. waldiez/exporting/agent/extras/group_manager_agent_extas.py +500 -0
  13. waldiez/exporting/agent/extras/group_member_extras.py +181 -0
  14. waldiez/exporting/agent/extras/handoffs/__init__.py +19 -0
  15. waldiez/exporting/agent/extras/handoffs/after_work.py +78 -0
  16. waldiez/exporting/agent/extras/handoffs/available.py +74 -0
  17. waldiez/exporting/agent/extras/handoffs/condition.py +158 -0
  18. waldiez/exporting/agent/extras/handoffs/handoff.py +171 -0
  19. waldiez/exporting/agent/extras/handoffs/target.py +189 -0
  20. waldiez/exporting/agent/extras/rag/__init__.py +10 -0
  21. waldiez/exporting/agent/{utils/rag_user/chroma_utils.py → extras/rag/chroma_extras.py} +16 -15
  22. waldiez/exporting/agent/{utils/rag_user/mongo_utils.py → extras/rag/mongo_extras.py} +10 -10
  23. waldiez/exporting/agent/{utils/rag_user/pgvector_utils.py → extras/rag/pgvector_extras.py} +13 -13
  24. waldiez/exporting/agent/{utils/rag_user/qdrant_utils.py → extras/rag/qdrant_extras.py} +13 -13
  25. waldiez/exporting/agent/{utils/rag_user/vector_db.py → extras/rag/vector_db_extras.py} +59 -46
  26. waldiez/exporting/agent/extras/rag_user_proxy_agent_extras.py +245 -0
  27. waldiez/exporting/agent/extras/reasoning_agent_extras.py +88 -0
  28. waldiez/exporting/agent/factory.py +95 -0
  29. waldiez/exporting/agent/processor.py +150 -0
  30. waldiez/exporting/agent/system_message.py +36 -0
  31. waldiez/exporting/agent/termination.py +50 -0
  32. waldiez/exporting/chats/__init__.py +7 -3
  33. waldiez/exporting/chats/exporter.py +97 -0
  34. waldiez/exporting/chats/factory.py +65 -0
  35. waldiez/exporting/chats/processor.py +226 -0
  36. waldiez/exporting/chats/utils/__init__.py +6 -5
  37. waldiez/exporting/chats/utils/common.py +11 -45
  38. waldiez/exporting/chats/utils/group.py +55 -0
  39. waldiez/exporting/chats/utils/nested.py +37 -52
  40. waldiez/exporting/chats/utils/sequential.py +72 -61
  41. waldiez/exporting/chats/utils/{single_chat.py → single.py} +48 -50
  42. waldiez/exporting/core/__init__.py +196 -0
  43. waldiez/exporting/core/constants.py +17 -0
  44. waldiez/exporting/core/content.py +69 -0
  45. waldiez/exporting/core/context.py +244 -0
  46. waldiez/exporting/core/enums.py +89 -0
  47. waldiez/exporting/core/errors.py +19 -0
  48. waldiez/exporting/core/exporter.py +390 -0
  49. waldiez/exporting/core/exporters.py +67 -0
  50. waldiez/exporting/core/extras/__init__.py +39 -0
  51. waldiez/exporting/core/extras/agent_extras/__init__.py +27 -0
  52. waldiez/exporting/core/extras/agent_extras/captain_extras.py +57 -0
  53. waldiez/exporting/core/extras/agent_extras/group_manager_extras.py +102 -0
  54. waldiez/exporting/core/extras/agent_extras/rag_user_extras.py +53 -0
  55. waldiez/exporting/core/extras/agent_extras/reasoning_extras.py +68 -0
  56. waldiez/exporting/core/extras/agent_extras/standard_extras.py +263 -0
  57. waldiez/exporting/core/extras/base.py +241 -0
  58. waldiez/exporting/core/extras/chat_extras.py +118 -0
  59. waldiez/exporting/core/extras/flow_extras.py +70 -0
  60. waldiez/exporting/core/extras/model_extras.py +73 -0
  61. waldiez/exporting/core/extras/path_resolver.py +93 -0
  62. waldiez/exporting/core/extras/serializer.py +138 -0
  63. waldiez/exporting/core/extras/tool_extras.py +82 -0
  64. waldiez/exporting/core/protocols.py +259 -0
  65. waldiez/exporting/core/result.py +705 -0
  66. waldiez/exporting/core/types.py +329 -0
  67. waldiez/exporting/core/utils/__init__.py +11 -0
  68. waldiez/exporting/core/utils/comment.py +33 -0
  69. waldiez/exporting/core/utils/llm_config.py +117 -0
  70. waldiez/exporting/core/validation.py +96 -0
  71. waldiez/exporting/flow/__init__.py +6 -2
  72. waldiez/exporting/flow/execution_generator.py +193 -0
  73. waldiez/exporting/flow/exporter.py +107 -0
  74. waldiez/exporting/flow/factory.py +94 -0
  75. waldiez/exporting/flow/file_generator.py +214 -0
  76. waldiez/exporting/flow/merger.py +387 -0
  77. waldiez/exporting/flow/orchestrator.py +411 -0
  78. waldiez/exporting/flow/utils/__init__.py +9 -36
  79. waldiez/exporting/flow/utils/common.py +206 -0
  80. waldiez/exporting/flow/utils/importing.py +373 -0
  81. waldiez/exporting/flow/utils/linting.py +200 -0
  82. waldiez/exporting/flow/utils/{logging_utils.py → logging.py} +23 -9
  83. waldiez/exporting/models/__init__.py +3 -1
  84. waldiez/exporting/models/exporter.py +233 -0
  85. waldiez/exporting/models/factory.py +66 -0
  86. waldiez/exporting/models/processor.py +139 -0
  87. waldiez/exporting/tools/__init__.py +11 -0
  88. waldiez/exporting/tools/exporter.py +207 -0
  89. waldiez/exporting/tools/factory.py +57 -0
  90. waldiez/exporting/tools/processor.py +248 -0
  91. waldiez/exporting/tools/registration.py +133 -0
  92. waldiez/io/__init__.py +128 -0
  93. waldiez/io/_ws.py +199 -0
  94. waldiez/io/models/__init__.py +60 -0
  95. waldiez/io/models/base.py +66 -0
  96. waldiez/io/models/constants.py +78 -0
  97. waldiez/io/models/content/__init__.py +23 -0
  98. waldiez/io/models/content/audio.py +43 -0
  99. waldiez/io/models/content/base.py +45 -0
  100. waldiez/io/models/content/file.py +43 -0
  101. waldiez/io/models/content/image.py +96 -0
  102. waldiez/io/models/content/text.py +37 -0
  103. waldiez/io/models/content/video.py +43 -0
  104. waldiez/io/models/user_input.py +269 -0
  105. waldiez/io/models/user_response.py +215 -0
  106. waldiez/io/mqtt.py +681 -0
  107. waldiez/io/redis.py +782 -0
  108. waldiez/io/structured.py +419 -0
  109. waldiez/io/utils.py +184 -0
  110. waldiez/io/ws.py +298 -0
  111. waldiez/logger.py +481 -0
  112. waldiez/models/__init__.py +108 -51
  113. waldiez/models/agents/__init__.py +34 -70
  114. waldiez/models/agents/agent/__init__.py +10 -4
  115. waldiez/models/agents/agent/agent.py +466 -65
  116. waldiez/models/agents/agent/agent_data.py +119 -47
  117. waldiez/models/agents/agent/agent_type.py +13 -2
  118. waldiez/models/agents/agent/code_execution.py +12 -12
  119. waldiez/models/agents/agent/human_input_mode.py +8 -0
  120. waldiez/models/agents/agent/{linked_skill.py → linked_tool.py} +7 -7
  121. waldiez/models/agents/agent/nested_chat.py +35 -7
  122. waldiez/models/agents/agent/termination_message.py +30 -22
  123. waldiez/models/agents/{swarm_agent → agent}/update_system_message.py +22 -22
  124. waldiez/models/agents/agents.py +58 -63
  125. waldiez/models/agents/assistant/assistant.py +4 -4
  126. waldiez/models/agents/assistant/assistant_data.py +13 -1
  127. waldiez/models/agents/{captain_agent → captain}/captain_agent.py +5 -5
  128. waldiez/models/agents/{captain_agent → captain}/captain_agent_data.py +5 -5
  129. waldiez/models/agents/extra_requirements.py +11 -16
  130. waldiez/models/agents/group_manager/group_manager.py +103 -13
  131. waldiez/models/agents/group_manager/group_manager_data.py +36 -14
  132. waldiez/models/agents/group_manager/speakers.py +77 -24
  133. waldiez/models/agents/{rag_user → rag_user_proxy}/__init__.py +16 -16
  134. waldiez/models/agents/rag_user_proxy/rag_user_proxy.py +64 -0
  135. waldiez/models/agents/{rag_user/rag_user_data.py → rag_user_proxy/rag_user_proxy_data.py} +6 -5
  136. waldiez/models/agents/{rag_user → rag_user_proxy}/retrieve_config.py +182 -114
  137. waldiez/models/agents/{rag_user → rag_user_proxy}/vector_db_config.py +13 -13
  138. waldiez/models/agents/reasoning/reasoning_agent.py +6 -6
  139. waldiez/models/agents/reasoning/reasoning_agent_data.py +110 -63
  140. waldiez/models/agents/reasoning/reasoning_agent_reason_config.py +38 -10
  141. waldiez/models/agents/user_proxy/user_proxy.py +11 -7
  142. waldiez/models/agents/user_proxy/user_proxy_data.py +2 -2
  143. waldiez/models/chat/__init__.py +2 -1
  144. waldiez/models/chat/chat.py +166 -87
  145. waldiez/models/chat/chat_data.py +99 -136
  146. waldiez/models/chat/chat_message.py +33 -23
  147. waldiez/models/chat/chat_nested.py +31 -30
  148. waldiez/models/chat/chat_summary.py +10 -8
  149. waldiez/models/common/__init__.py +52 -2
  150. waldiez/models/common/ag2_version.py +1 -1
  151. waldiez/models/common/base.py +38 -7
  152. waldiez/models/common/dict_utils.py +42 -17
  153. waldiez/models/common/handoff.py +459 -0
  154. waldiez/models/common/id_generator.py +19 -0
  155. waldiez/models/common/method_utils.py +130 -68
  156. waldiez/{exporting/base/utils → models/common}/naming.py +38 -61
  157. waldiez/models/common/waldiez_version.py +37 -0
  158. waldiez/models/flow/__init__.py +9 -2
  159. waldiez/models/flow/connection.py +18 -0
  160. waldiez/models/flow/flow.py +311 -215
  161. waldiez/models/flow/flow_data.py +207 -40
  162. waldiez/models/flow/info.py +85 -0
  163. waldiez/models/flow/naming.py +131 -0
  164. waldiez/models/model/__init__.py +7 -1
  165. waldiez/models/model/extra_requirements.py +3 -12
  166. waldiez/models/model/model.py +76 -21
  167. waldiez/models/model/model_data.py +108 -20
  168. waldiez/models/tool/__init__.py +16 -0
  169. waldiez/models/tool/extra_requirements.py +36 -0
  170. waldiez/models/{skill/skill.py → tool/tool.py} +88 -88
  171. waldiez/models/tool/tool_data.py +51 -0
  172. waldiez/models/tool/tool_type.py +8 -0
  173. waldiez/models/waldiez.py +97 -80
  174. waldiez/runner.py +114 -49
  175. waldiez/running/__init__.py +1 -1
  176. waldiez/running/environment.py +49 -68
  177. waldiez/running/gen_seq_diagram.py +16 -14
  178. waldiez/running/running.py +53 -34
  179. waldiez/utils/__init__.py +0 -4
  180. waldiez/utils/cli_extras/jupyter.py +5 -3
  181. waldiez/utils/cli_extras/runner.py +6 -4
  182. waldiez/utils/cli_extras/studio.py +6 -4
  183. waldiez/utils/conflict_checker.py +15 -9
  184. waldiez/utils/flaml_warnings.py +5 -5
  185. {waldiez-0.4.6.dist-info → waldiez-0.4.8.dist-info}/METADATA +235 -91
  186. waldiez-0.4.8.dist-info/RECORD +200 -0
  187. waldiez/exporting/agent/agent_exporter.py +0 -297
  188. waldiez/exporting/agent/utils/__init__.py +0 -23
  189. waldiez/exporting/agent/utils/captain_agent.py +0 -263
  190. waldiez/exporting/agent/utils/code_execution.py +0 -65
  191. waldiez/exporting/agent/utils/group_manager.py +0 -220
  192. waldiez/exporting/agent/utils/rag_user/__init__.py +0 -7
  193. waldiez/exporting/agent/utils/rag_user/rag_user.py +0 -209
  194. waldiez/exporting/agent/utils/reasoning.py +0 -36
  195. waldiez/exporting/agent/utils/swarm_agent.py +0 -469
  196. waldiez/exporting/agent/utils/teachability.py +0 -41
  197. waldiez/exporting/agent/utils/termination_message.py +0 -44
  198. waldiez/exporting/base/__init__.py +0 -25
  199. waldiez/exporting/base/agent_position.py +0 -75
  200. waldiez/exporting/base/base_exporter.py +0 -118
  201. waldiez/exporting/base/export_position.py +0 -48
  202. waldiez/exporting/base/import_position.py +0 -23
  203. waldiez/exporting/base/mixin.py +0 -137
  204. waldiez/exporting/base/utils/__init__.py +0 -18
  205. waldiez/exporting/base/utils/comments.py +0 -96
  206. waldiez/exporting/base/utils/path_check.py +0 -68
  207. waldiez/exporting/base/utils/to_string.py +0 -84
  208. waldiez/exporting/chats/chats_exporter.py +0 -240
  209. waldiez/exporting/chats/utils/swarm.py +0 -210
  210. waldiez/exporting/flow/flow_exporter.py +0 -528
  211. waldiez/exporting/flow/utils/agent_utils.py +0 -204
  212. waldiez/exporting/flow/utils/chat_utils.py +0 -71
  213. waldiez/exporting/flow/utils/def_main.py +0 -77
  214. waldiez/exporting/flow/utils/flow_content.py +0 -202
  215. waldiez/exporting/flow/utils/flow_names.py +0 -116
  216. waldiez/exporting/flow/utils/importing_utils.py +0 -227
  217. waldiez/exporting/models/models_exporter.py +0 -199
  218. waldiez/exporting/models/utils.py +0 -174
  219. waldiez/exporting/skills/__init__.py +0 -9
  220. waldiez/exporting/skills/skills_exporter.py +0 -176
  221. waldiez/exporting/skills/utils.py +0 -369
  222. waldiez/models/agents/agent/teachability.py +0 -70
  223. waldiez/models/agents/rag_user/rag_user.py +0 -60
  224. waldiez/models/agents/swarm_agent/__init__.py +0 -50
  225. waldiez/models/agents/swarm_agent/after_work.py +0 -179
  226. waldiez/models/agents/swarm_agent/on_condition.py +0 -105
  227. waldiez/models/agents/swarm_agent/on_condition_available.py +0 -142
  228. waldiez/models/agents/swarm_agent/on_condition_target.py +0 -40
  229. waldiez/models/agents/swarm_agent/swarm_agent.py +0 -107
  230. waldiez/models/agents/swarm_agent/swarm_agent_data.py +0 -124
  231. waldiez/models/flow/utils.py +0 -232
  232. waldiez/models/skill/__init__.py +0 -16
  233. waldiez/models/skill/extra_requirements.py +0 -36
  234. waldiez/models/skill/skill_data.py +0 -53
  235. waldiez/models/skill/skill_type.py +0 -8
  236. waldiez/utils/pysqlite3_checker.py +0 -308
  237. waldiez/utils/rdps_checker.py +0 -122
  238. waldiez-0.4.6.dist-info/RECORD +0 -149
  239. /waldiez/models/agents/{captain_agent → captain}/__init__.py +0 -0
  240. /waldiez/models/agents/{captain_agent → captain}/captain_agent_lib_entry.py +0 -0
  241. {waldiez-0.4.6.dist-info → waldiez-0.4.8.dist-info}/WHEEL +0 -0
  242. {waldiez-0.4.6.dist-info → waldiez-0.4.8.dist-info}/entry_points.txt +0 -0
  243. {waldiez-0.4.6.dist-info → waldiez-0.4.8.dist-info}/licenses/LICENSE +0 -0
  244. {waldiez-0.4.6.dist-info → waldiez-0.4.8.dist-info}/licenses/NOTICE.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waldiez
3
- Version: 0.4.6
3
+ Version: 0.4.8
4
4
  Dynamic: Keywords
5
5
  Summary: Make AG2 Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez.
6
6
  Project-URL: Homepage, https://waldiez.io
@@ -9,8 +9,10 @@ Project-URL: Repository, https://github.com/waldiez/waldiez.git
9
9
  Author-email: Panagiotis Kasnesis <pkasnesis@waldiez.io>, Lazaros Toumanidis <laztoum@waldiez.io>, Stella Ioannidou <stella@waldiez.io>
10
10
  License-File: LICENSE
11
11
  License-File: NOTICE.md
12
- Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Framework :: Pydantic :: 2
13
14
  Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Education
14
16
  Classifier: Intended Audience :: Science/Research
15
17
  Classifier: License :: OSI Approved :: Apache Software License
16
18
  Classifier: Operating System :: OS Independent
@@ -20,132 +22,175 @@ Classifier: Programming Language :: Python :: 3.10
20
22
  Classifier: Programming Language :: Python :: 3.11
21
23
  Classifier: Programming Language :: Python :: 3.12
22
24
  Classifier: Programming Language :: Python :: 3.13
25
+ Classifier: Topic :: Scientific/Engineering
26
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
27
+ Classifier: Topic :: Software Development :: Code Generators
28
+ Classifier: Typing :: Typed
23
29
  Requires-Python: <3.14,>=3.10
24
- Requires-Dist: ag2[openai]==0.8.7
30
+ Requires-Dist: ag2[openai]==0.9.2
25
31
  Requires-Dist: aiocsv==1.3.2
26
32
  Requires-Dist: aiofiles==24.1.0
27
33
  Requires-Dist: aiosqlite==0.21.0
28
34
  Requires-Dist: asyncer==0.0.8
29
- Requires-Dist: graphviz==0.20.3
35
+ Requires-Dist: click<8.2
36
+ Requires-Dist: graphviz<=0.20.3
30
37
  Requires-Dist: httpx<1
31
38
  Requires-Dist: jupytext
32
39
  Requires-Dist: nest-asyncio==1.6.0
33
- Requires-Dist: numpy<=2.2.5
40
+ Requires-Dist: numpy<=2.3.0
34
41
  Requires-Dist: pandas>=2
35
42
  Requires-Dist: parso==0.8.4
36
- Requires-Dist: pillow>=10.0.0
43
+ Requires-Dist: pillow
44
+ Requires-Dist: pip>=25
37
45
  Requires-Dist: pydantic<3,>=2.10.2
38
- Requires-Dist: typer<0.16,>=0.9
46
+ Requires-Dist: rpds-py==0.25.1
47
+ Requires-Dist: typer<1,>=0.9.0
39
48
  Provides-Extra: ag2-extras
40
- Requires-Dist: ag2[anthropic]==0.8.7; extra == 'ag2-extras'
41
- Requires-Dist: ag2[bedrock]==0.8.7; extra == 'ag2-extras'
42
- Requires-Dist: ag2[cohere]==0.8.7; extra == 'ag2-extras'
43
- Requires-Dist: ag2[gemini]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
44
- Requires-Dist: ag2[gemini]==0.8.7; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
45
- Requires-Dist: ag2[groq]==0.8.7; extra == 'ag2-extras'
46
- Requires-Dist: ag2[interop-crewai]==0.8.7; extra == 'ag2-extras'
47
- Requires-Dist: ag2[interop-langchain]==0.8.7; extra == 'ag2-extras'
48
- Requires-Dist: ag2[lmm]==0.8.7; extra == 'ag2-extras'
49
- Requires-Dist: ag2[mistral]==0.8.7; extra == 'ag2-extras'
50
- Requires-Dist: ag2[neo4j]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
51
- Requires-Dist: ag2[neo4j]==0.8.7; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
52
- Requires-Dist: ag2[ollama]==0.8.7; extra == 'ag2-extras'
53
- Requires-Dist: ag2[together]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
54
- Requires-Dist: ag2[together]==0.8.7; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
55
- Requires-Dist: ag2[websurfer]==0.8.7; extra == 'ag2-extras'
49
+ Requires-Dist: ag2[anthropic]==0.9.2; extra == 'ag2-extras'
50
+ Requires-Dist: ag2[bedrock]==0.9.2; extra == 'ag2-extras'
51
+ Requires-Dist: ag2[cohere]==0.9.2; extra == 'ag2-extras'
52
+ Requires-Dist: ag2[gemini]==0.9.2; (sys_platform != 'win32') and extra == 'ag2-extras'
53
+ Requires-Dist: ag2[gemini]==0.9.2; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
54
+ Requires-Dist: ag2[groq]==0.9.2; extra == 'ag2-extras'
55
+ Requires-Dist: ag2[interop-crewai]==0.9.2; extra == 'ag2-extras'
56
+ Requires-Dist: ag2[interop-langchain]==0.9.2; extra == 'ag2-extras'
57
+ Requires-Dist: ag2[lmm]==0.9.2; extra == 'ag2-extras'
58
+ Requires-Dist: ag2[mistral]==0.9.2; extra == 'ag2-extras'
59
+ Requires-Dist: ag2[neo4j]==0.9.2; (sys_platform != 'win32') and extra == 'ag2-extras'
60
+ Requires-Dist: ag2[neo4j]==0.9.2; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
61
+ Requires-Dist: ag2[ollama]==0.9.2; extra == 'ag2-extras'
62
+ Requires-Dist: ag2[redis]==0.9.2; extra == 'ag2-extras'
63
+ Requires-Dist: ag2[together]==0.9.2; (sys_platform != 'win32') and extra == 'ag2-extras'
64
+ Requires-Dist: ag2[together]==0.9.2; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
65
+ Requires-Dist: ag2[websockets]==0.9.2; extra == 'ag2-extras'
66
+ Requires-Dist: ag2[websurfer]==0.9.2; extra == 'ag2-extras'
56
67
  Requires-Dist: beautifulsoup4; extra == 'ag2-extras'
57
68
  Requires-Dist: chromadb>=0.5.10; (sys_platform != 'win32') and extra == 'ag2-extras'
58
69
  Requires-Dist: chromadb>=0.5.10; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
59
- Requires-Dist: embedchain; (sys_platform != 'win32') and extra == 'ag2-extras'
60
- Requires-Dist: embedchain; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
70
+ Requires-Dist: crewai-tools<=0.46.0; (python_version < '3.13') and extra == 'ag2-extras'
71
+ Requires-Dist: crewai<1,>=0.76; extra == 'ag2-extras'
72
+ Requires-Dist: embedchain; (python_version < '3.13.3' and sys_platform != 'win32') and extra == 'ag2-extras'
73
+ Requires-Dist: embedchain; (python_version < '3.13.3' and sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
61
74
  Requires-Dist: google-api-python-client<3.0,>=2.163.0; extra == 'ag2-extras'
62
75
  Requires-Dist: google-auth-httplib2<0.3,>=0.2.0; extra == 'ag2-extras'
63
76
  Requires-Dist: google-auth-oauthlib<2.0,>=1.2.1; extra == 'ag2-extras'
77
+ Requires-Dist: hf-xet<2.0.0,>=1.1.2; (platform_machine == 'x86_64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'ARM64' or platform_machine == 'aarch64') and extra == 'ag2-extras'
64
78
  Requires-Dist: huggingface-hub; extra == 'ag2-extras'
65
79
  Requires-Dist: ipython; extra == 'ag2-extras'
66
80
  Requires-Dist: langchain-community<1,>=0.3.12; extra == 'ag2-extras'
81
+ Requires-Dist: litellm; extra == 'ag2-extras'
67
82
  Requires-Dist: markdownify; extra == 'ag2-extras'
68
83
  Requires-Dist: mcp<1.6,>=1.4.0; extra == 'ag2-extras'
84
+ Requires-Dist: mistralai>=1.8.1; extra == 'ag2-extras'
85
+ Requires-Dist: networkx; (python_version < '3.11') and extra == 'ag2-extras'
86
+ Requires-Dist: networkx>=3.5; (python_version >= '3.11') and extra == 'ag2-extras'
87
+ Requires-Dist: opentelemetry-api>=1.34.0; extra == 'ag2-extras'
88
+ Requires-Dist: opentelemetry-sdk>=1.34.0; extra == 'ag2-extras'
69
89
  Requires-Dist: pgvector>=0.4.0; extra == 'ag2-extras'
70
- Requires-Dist: protobuf>=4.25.3; extra == 'ag2-extras'
71
- Requires-Dist: psycopg==3.2.6; (sys_platform == 'linux') and extra == 'ag2-extras'
72
- Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'AARCH64') and extra == 'ag2-extras'
73
- Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'ARM64') and extra == 'ag2-extras'
74
- Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'aarch64') and extra == 'ag2-extras'
75
- Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'arm64') and extra == 'ag2-extras'
76
- Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32') and extra == 'ag2-extras'
77
- Requires-Dist: psycopg[binary]==3.2.6; (sys_platform != 'linux' and platform_machine != 'arm64' and platform_machine != 'ARM64' and platform_machine != 'aarch64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
78
- Requires-Dist: psycopg[binary]>=3.2.6; (sys_platform != 'win32') and extra == 'ag2-extras'
90
+ Requires-Dist: protobuf>=5.29.3; extra == 'ag2-extras'
91
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'linux') and extra == 'ag2-extras'
92
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32' and platform_machine == 'AARCH64') and extra == 'ag2-extras'
93
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32' and platform_machine == 'ARM64') and extra == 'ag2-extras'
94
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32' and platform_machine == 'aarch64') and extra == 'ag2-extras'
95
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32' and platform_machine == 'arm64') and extra == 'ag2-extras'
96
+ Requires-Dist: psycopg[binary]>=3.2.6; (sys_platform != 'linux' and platform_machine != 'arm64' and platform_machine != 'ARM64' and platform_machine != 'aarch64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
79
97
  Requires-Dist: pydantic-ai>=0.0.21; extra == 'ag2-extras'
80
98
  Requires-Dist: pymongo>=4.11; extra == 'ag2-extras'
81
99
  Requires-Dist: pypdf; extra == 'ag2-extras'
82
- Requires-Dist: pysqlite3-binary==0.5.4; (sys_platform == 'linux' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
83
100
  Requires-Dist: qdrant-client[fastembed]; (sys_platform != 'win32') and extra == 'ag2-extras'
84
101
  Requires-Dist: qdrant-client[fastembed]; (sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64') and extra == 'ag2-extras'
85
102
  Requires-Dist: sentence-transformers; (sys_platform == 'linux') and extra == 'ag2-extras'
103
+ Requires-Dist: weaviate-client<5,>=4; extra == 'ag2-extras'
86
104
  Requires-Dist: wikipedia-api<1.0,>=0.8.1; extra == 'ag2-extras'
87
105
  Provides-Extra: dev
106
+ Requires-Dist: ag2[redis]==0.9.2; extra == 'dev'
107
+ Requires-Dist: ag2[websockets]==0.9.2; extra == 'dev'
88
108
  Requires-Dist: autoflake==2.3.1; extra == 'dev'
89
109
  Requires-Dist: bandit==1.8.3; extra == 'dev'
90
110
  Requires-Dist: black[jupyter]==25.1.0; extra == 'dev'
111
+ Requires-Dist: build==1.2.2.post1; extra == 'dev'
112
+ Requires-Dist: fakeredis>=2.28.1; extra == 'dev'
113
+ Requires-Dist: fastjsonschema>=2.21; extra == 'dev'
91
114
  Requires-Dist: flake8==7.2.0; extra == 'dev'
92
115
  Requires-Dist: hatchling==1.27.0; extra == 'dev'
93
- Requires-Dist: jupyter-server==2.15.0; extra == 'dev'
94
- Requires-Dist: jupyterlab>=4.3.0; extra == 'dev'
95
- Requires-Dist: mypy==1.15.0; extra == 'dev'
96
- Requires-Dist: pandas-stubs==2.2.3.250308; extra == 'dev'
116
+ Requires-Dist: jsonschema==4.24.0; extra == 'dev'
117
+ Requires-Dist: jupyter-server==2.16.0; extra == 'dev'
118
+ Requires-Dist: jupyterlab<5.0,>=4.4.0; extra == 'dev'
119
+ Requires-Dist: mypy-extensions>=1.1.0; extra == 'dev'
120
+ Requires-Dist: mypy==1.16.0; extra == 'dev'
121
+ Requires-Dist: nbclient>=0.10.2; extra == 'dev'
122
+ Requires-Dist: nbconvert>=7.16.6; extra == 'dev'
123
+ Requires-Dist: nbformat>=5.10.4; extra == 'dev'
124
+ Requires-Dist: nodeenv>=1.9.1; extra == 'dev'
125
+ Requires-Dist: notebook-shim>=0.2.4; extra == 'dev'
126
+ Requires-Dist: paho-mqtt<3.0,>=2.1.0; extra == 'dev'
127
+ Requires-Dist: pandas-stubs==2.2.3.250527; extra == 'dev'
97
128
  Requires-Dist: pre-commit==4.2.0; extra == 'dev'
98
129
  Requires-Dist: pydocstyle==6.3.0; extra == 'dev'
99
- Requires-Dist: pylint==3.3.6; extra == 'dev'
130
+ Requires-Dist: pylint==3.3.7; extra == 'dev'
100
131
  Requires-Dist: python-dotenv==1.1.0; extra == 'dev'
101
- Requires-Dist: ruff==0.11.8; extra == 'dev'
132
+ Requires-Dist: ruff==0.11.13; extra == 'dev'
102
133
  Requires-Dist: toml==0.10.2; (python_version <= '3.10') and extra == 'dev'
103
- Requires-Dist: types-pyyaml==6.0.12.20250402; extra == 'dev'
104
- Requires-Dist: types-requests==2.32.0.20250328; extra == 'dev'
134
+ Requires-Dist: types-jsonschema==4.24.0.20250528; extra == 'dev'
135
+ Requires-Dist: types-pyyaml==6.0.12.20250516; extra == 'dev'
136
+ Requires-Dist: types-redis==4.6.0.20241004; extra == 'dev'
137
+ Requires-Dist: types-requests==2.32.0.20250602; extra == 'dev'
105
138
  Requires-Dist: types-toml==0.10.8.20240310; extra == 'dev'
139
+ Requires-Dist: watchdog==6.0.0; extra == 'dev'
106
140
  Requires-Dist: yamllint==1.37.1; extra == 'dev'
107
141
  Provides-Extra: docs
142
+ Requires-Dist: markdown-callouts==0.4.0; extra == 'docs'
108
143
  Requires-Dist: mdx-include==1.4.2; extra == 'docs'
109
144
  Requires-Dist: mdx-truly-sane-lists==1.3; extra == 'docs'
110
- Requires-Dist: mkdocs-awesome-nav; extra == 'docs'
145
+ Requires-Dist: mkdocs-autorefs==1.4.2; extra == 'docs'
146
+ Requires-Dist: mkdocs-awesome-nav==3.1.2; extra == 'docs'
111
147
  Requires-Dist: mkdocs-jupyter==0.25.1; extra == 'docs'
112
148
  Requires-Dist: mkdocs-macros-plugin==1.3.7; extra == 'docs'
113
- Requires-Dist: mkdocs-material==9.6.12; extra == 'docs'
149
+ Requires-Dist: mkdocs-material==9.6.14; extra == 'docs'
114
150
  Requires-Dist: mkdocs-minify-html-plugin==0.3.1; extra == 'docs'
115
151
  Requires-Dist: mkdocs-open-in-new-tab==1.0.8; extra == 'docs'
116
152
  Requires-Dist: mkdocs==1.6.1; extra == 'docs'
117
- Requires-Dist: mkdocstrings-python==1.16.10; extra == 'docs'
153
+ Requires-Dist: mkdocstrings-crystal==0.3.7; extra == 'docs'
154
+ Requires-Dist: mkdocstrings-python==1.16.12; extra == 'docs'
118
155
  Requires-Dist: mkdocstrings[crystal,python]==0.29.1; extra == 'docs'
156
+ Requires-Dist: natsort==8.4.0; extra == 'docs'
119
157
  Provides-Extra: jupyter
120
- Requires-Dist: jupyter-server==2.15.0; extra == 'jupyter'
121
- Requires-Dist: jupyterlab>=4.3.0; extra == 'jupyter'
122
- Requires-Dist: waldiez-jupyter==0.4.6; extra == 'jupyter'
158
+ Requires-Dist: jupyter-server==2.16.0; extra == 'jupyter'
159
+ Requires-Dist: jupyterlab<5.0,>=4.3.0; extra == 'jupyter'
160
+ Requires-Dist: waldiez-jupyter==0.4.8; extra == 'jupyter'
161
+ Provides-Extra: mqtt
162
+ Requires-Dist: paho-mqtt<3.0,>=2.1.0; extra == 'mqtt'
163
+ Provides-Extra: redis
164
+ Requires-Dist: ag2[redis]==0.9.2; extra == 'redis'
123
165
  Provides-Extra: runner
124
- Requires-Dist: waldiez-runner==0.4.6; (python_version >= '3.11') and extra == 'runner'
166
+ Requires-Dist: waldiez-runner==0.4.8; (python_version >= '3.11') and extra == 'runner'
125
167
  Provides-Extra: studio
126
- Requires-Dist: waldiez-studio==0.4.6; extra == 'studio'
168
+ Requires-Dist: waldiez-studio==0.4.8; extra == 'studio'
127
169
  Provides-Extra: test
128
- Requires-Dist: pytest-asyncio==0.26.0; extra == 'test'
170
+ Requires-Dist: ag2[redis]==0.9.2; extra == 'test'
171
+ Requires-Dist: ag2[websockets]==0.9.2; extra == 'test'
172
+ Requires-Dist: fakeredis>=2.28.1; extra == 'test'
173
+ Requires-Dist: paho-mqtt<3.0,>=2.1.0; extra == 'test'
174
+ Requires-Dist: pytest-asyncio==1.0.0; extra == 'test'
129
175
  Requires-Dist: pytest-cov==6.1.1; extra == 'test'
130
176
  Requires-Dist: pytest-html==4.1.1; extra == 'test'
131
177
  Requires-Dist: pytest-sugar==1.0.0; extra == 'test'
132
178
  Requires-Dist: pytest-timeout==2.4.0; extra == 'test'
133
- Requires-Dist: pytest-xdist==3.6.1; extra == 'test'
134
- Requires-Dist: pytest==8.3.5; extra == 'test'
179
+ Requires-Dist: pytest-xdist==3.7.0; extra == 'test'
180
+ Requires-Dist: pytest==8.4.0; extra == 'test'
181
+ Provides-Extra: websockets
182
+ Requires-Dist: ag2[websockets]==0.9.2; extra == 'websockets'
135
183
  Description-Content-Type: text/markdown
136
184
 
137
185
  # Waldiez
138
186
 
139
- ![CI Build](https://github.com/waldiez/python/actions/workflows/main.yaml/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/waldiez/python/badge.svg)](https://coveralls.io/github/waldiez/python) [![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)
187
+ [![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)
140
188
 
141
189
  ## Make AG2 Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez
142
190
 
143
- Design AI Agents and translate a Waldiez flow to AG2:
191
+ Design AI Agents and translate a Waldiez flow to [AG2](https://github.com/ag2ai/ag2/):
144
192
 
145
-
146
- https://github.com/user-attachments/assets/71d4b8d1-a24b-45ab-ab53-dfc193e8fcaa
147
-
148
- To a python script or a jupyter notebook with the corresponding [ag2](https://github.com/ag2ai/ag2/) agents and chats.
193
+ <video 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%"></video>
149
194
 
150
195
  ## Features
151
196
 
@@ -175,7 +220,81 @@ If you’re looking for the React component, please refer to [README.npm](https:
175
220
 
176
221
  > Note: The React component is only for creating and editing flows — it is not needed to convert or run flows (that functionality is handled by the Python package).
177
222
 
178
- Quick install:
223
+ To include waldiez on your website using CDN, here is a simple example:
224
+
225
+ ```html
226
+ <!doctype html>
227
+ <html lang="en">
228
+ <head>
229
+ <meta charset="UTF-8" />
230
+ <script type="importmap">
231
+ {
232
+ "imports": {
233
+ "react": "https://esm.sh/react@19.1.0",
234
+ "react-dom/client": "https://esm.sh/react-dom@19.1.0/client",
235
+ "@waldiez/react": "https://esm.sh/@waldiez/react"
236
+ }
237
+ }
238
+ </script>
239
+ <style>
240
+ body {
241
+ margin: 0;
242
+ padding: 0;
243
+ justify-content: center;
244
+ background-color: white;
245
+ color: black;
246
+ }
247
+ @media (prefers-color-scheme: dark) {
248
+ body {
249
+ background-color: black;
250
+ color: white;
251
+ }
252
+ }
253
+ #loading {
254
+ width: 100vw;
255
+ height: 100vh;
256
+ padding: 0;
257
+ margin: 0;
258
+ display: flex;
259
+ align-items: center;
260
+ }
261
+ #root {
262
+ display: flex;
263
+ flex-direction: column;
264
+ width: 100vw;
265
+ height: 100vh;
266
+ }
267
+ #waldiez-root {
268
+ position: relative;
269
+ width: 80vw;
270
+ height: 80vh;
271
+ margin: auto;
272
+ }
273
+ </style>
274
+ <link rel="stylesheet" href="https://esm.sh/@waldiez/react/dist/@waldiez.css">
275
+ </head>
276
+ <body>
277
+ <div id="root"></div>
278
+ <div id="loading">
279
+ Loading...
280
+ </div>
281
+ <script type="module" src="https://esm.sh/tsx"></script>
282
+ <script type="text/babel">
283
+ import { createRoot } from "react-dom/client"
284
+ import { Waldiez } from "@waldiez/react";
285
+ const root = document.getElementById("root");
286
+ document.getElementById("loading").style.display = "none";
287
+ createRoot(root).render(
288
+ <div id="waldiez-root">
289
+ <Waldiez />
290
+ </div>
291
+ )
292
+ </script>
293
+ </body>
294
+ </html>
295
+ ```
296
+
297
+ To add the waldiez library to your app:
179
298
 
180
299
  ```shell
181
300
  npm install @waldiez/react
@@ -192,7 +311,7 @@ bun add @waldiez/react
192
311
  ### UI Options
193
312
 
194
313
  - For creating-only (no exporting or running) waldiez flows, you can use the playground at <https://waldiez.github.io>.
195
- - There is also a jupyterlab extension [here](https://github.com/waldiez/jupyter)
314
+ - There is also a jupyterlab extension here: [waldiez/jupyter](https://github.com/waldiez/jupyter)
196
315
  - You also can use the vscode extension:
197
316
  - [repo](https://github.com/waldiez/vscode)
198
317
  - [marketplace](https://marketplace.visualstudio.com/items?itemName=Waldiez.waldiez-vscode)
@@ -213,39 +332,65 @@ pip install waldiez[studio,jupyter]
213
332
  # Convert a Waldiez flow to a python script or a jupyter notebook
214
333
  waldiez convert --file /path/to/a/flow.waldiez --output /path/to/an/output/flow[.py|.ipynb]
215
334
  # Convert and run the script, optionally force generation if the output file already exists
216
- waldiez run --file /path/to/a/flow.waldiez --output /path/to/an/output/flow[.py] [--force]
335
+ waldiez run --file /path/to/a/flow.waldiez --output /path/to/an/output/flow[.py|.ipynb] [--force]
217
336
  ```
218
337
 
219
338
  ### Using docker/podman
220
339
 
221
- ```shell
222
- CONTAINER_COMMAND=docker # or podman
223
- # pull the image
224
- $CONTAINER_COMMAND pull waldiez/waldiez
225
- # Convert a Waldiez flow to a python script or a jupyter notebook
226
- $CONTAINER_COMMAND run \
227
- --rm \
228
- -v /path/to/a/flow.waldiez:/flow.waldiez \
229
- -v /path/to/an/output:/output \
230
- waldiez/waldiez convert --file /flow.waldiez --output /output/flow[.py|.ipynb] [--force]
231
-
232
- # with selinux and/or podman, you might get permission (or file not found) errors, so you can try:
233
- $CONTAINER_COMMAND run \
234
- --rm \
235
- -v /path/to/a/flow.waldiez:/flow.waldiez \
236
- -v /path/to/an/output:/output \
237
- --userns=keep-id \
238
- --security-opt label=disable \
239
- waldiez/waldiez convert --file /flow.waldiez --output /output/flow[.py|.ipynb] [--force]
340
+ ### 🪟 Windows (PowerShell with Docker or Podman Desktop)
341
+
342
+ ```powershell
343
+ $hostInputFile = "C:\Users\YourName\Documents\flow.waldiez"
344
+ $containerInputFile = "/home/waldiez/workspace/flow.waldiez"
345
+ $hostOutputDir = "C:\Users\YourName\Documents\waldiez_output"
346
+ $containerOutputDir = "/home/waldiez/output"
347
+ $containerOutputFile = "/home/waldiez/output/flow.ipynb"
348
+
349
+ # Convert a flow to Jupyter Notebook
350
+ docker run --rm `
351
+ -v "$hostInputFile:$containerInputFile" `
352
+ -v "$hostOutputDir:$containerOutputDir" `
353
+ waldiez/waldiez convert --file $hostInputFile --output $containerOutputFile
354
+
355
+ # Convert and run it
356
+ docker run --rm `
357
+ -v "$flow:/home/waldiez/workspace/flow.waldiez" `
358
+ -v "$output:/output" `
359
+ waldiez/waldiez run --file $hostInputFile --output $containerOutputFile
240
360
  ```
241
361
 
362
+ > Note
363
+ If using Hyper-V mode, make sure your files are in a shared folder Docker Desktop has access to.
364
+ More info: <https://docs.docker.com/desktop/settings/windows/#file-sharing>
365
+
366
+ ### 🐧 Linux/macOS/WSL (Docker or Podman)
367
+
242
368
  ```shell
243
- # Convert and run the script
244
- $CONTAINER_COMMAND run \
245
- --rm \
246
- -v /path/to/a/flow.waldiez:/flow.waldiez \
247
- -v /path/to/an/output:/output \
248
- waldiez/waldiez run --file /flow.waldiez --output /output/output[.py]
369
+ CONTAINER_COMMAND=docker # or podman
370
+ # Asuming ./flow.waldiez exists
371
+ HOST_INPUT="$(pwd)/flow.waldiez"
372
+ CONTAINER_INPUT="/home/waldiez/workspace/flow.waldiez"
373
+ HOST_OUTPUT_DIR="$(pwd)/output"
374
+ CONTAINER_OUTPUT_DIR="/home/waldiez/output"
375
+ mkdir -p ${HOST_OUTPUT_DIR}
376
+
377
+ # Convert a flow to a Python script
378
+ $CONTAINER_COMMAND run --rm \
379
+ -v ${HOST_INPUT}:${CONTAINER_INPUT} \
380
+ -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \
381
+ waldiez/waldiez convert --file $HOST_INPUT --output ${CONTAINER_OUTPUT_DIR}/flow.py
382
+
383
+ # Convert to a Jupyter Notebook instead
384
+ $CONTAINER_COMMAND run --rm \
385
+ -v ${HOST_INPUT}:${CONTAINER_INPUT} \
386
+ -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \
387
+ waldiez/waldiez convert --file $HOST_INPUT --output ${CONTAINER_OUTPUT_DIR}/flow.ipynb
388
+
389
+ # Convert and run it (force override generated file if it exists)
390
+ $CONTAINER_COMMAND run --rm -it \
391
+ -v ${HOST_INPUT}:${CONTAINER_INPUT} \
392
+ -v ${HOST_OUTPUT_DIR}:${CONTAINER_OUTPUT_DIR} \
393
+ waldiez/waldiez run --file $HOST_INPUT --force
249
394
  ```
250
395
 
251
396
  ### As a library
@@ -313,9 +458,10 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
313
458
  <tbody>
314
459
  <tr>
315
460
  <td align="center" valign="top" width="14.28%"><a href="https://scholar.google.com/citations?user=JmW9DwkAAAAJ"><img src="https://avatars.githubusercontent.com/u/29335277?v=4?s=100" width="100px;" alt="Panagiotis Kasnesis"/><br /><sub><b>Panagiotis Kasnesis</b></sub></a><br /><a href="#projectManagement-ounospanas" title="Project Management">📆</a> <a href="#research-ounospanas" title="Research">🔬</a></td>
461
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/lazToum"><img src="https://avatars.githubusercontent.com/u/4764837?v=4?s=100" width="100px;" alt="Lazaros Toumanidis"/><br /><sub><b>Lazaros Toumanidis</b></sub></a><br /><a href="https://github.com/waldiez/waldiez/commits?author=lazToum" title="Code">💻</a></td>
316
462
  <td align="center" valign="top" width="14.28%"><a href="https://humancentered.gr/"><img src="https://avatars.githubusercontent.com/u/3456066?v=4?s=100" width="100px;" alt="Stella Ioannidou"/><br /><sub><b>Stella Ioannidou</b></sub></a><br /><a href="#promotion-siioannidou" title="Promotion">📣</a> <a href="#design-siioannidou" title="Design">🎨</a></td>
317
- <td align="center" valign="top" width="14.28%"><a href="https://github.com/lazToum"><img src="https://avatars.githubusercontent.com/u/4764837?v=4?s=100" width="100px;" alt="Lazaros Toumanidis"/><br /><sub><b>Lazaros Toumanidis</b></sub></a><br /><a href="https://github.com/waldiez/react/commits?author=lazToum" title="Code">💻</a></td>
318
463
  <td align="center" valign="top" width="14.28%"><a href="https://github.com/amaliacontiero"><img src="https://avatars.githubusercontent.com/u/29499343?v=4?s=100" width="100px;" alt="Amalia Contiero"/><br /><sub><b>Amalia Contiero</b></sub></a><br /><a href="https://github.com/waldiez/vscode/commits?author=amaliacontiero" title="Code">💻</a> <a href="https://github.com/waldiez/vscode/issues?q=author%3Aamaliacontiero" title="Bug reports">🐛</a></td>
464
+ <td align="center" valign="top" width="14.28%"><a href="https://github.com/hchris0"><img src="https://avatars.githubusercontent.com/u/23460824?v=4?s=100" width="100px;" alt="Christos Chatzigeorgiou"/><br /><sub><b>Christos Chatzigeorgiou</b></sub></a><br /><a href="https://github.com/waldiez/runner/commits?author=hchris0" title="Code">💻</a></td>
319
465
  </tr>
320
466
  </tbody>
321
467
  <tfoot>
@@ -334,8 +480,6 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
334
480
 
335
481
  <!-- ALL-CONTRIBUTORS-LIST:END -->
336
482
 
337
- This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
338
-
339
483
  ## License
340
484
 
341
485
  This project is licensed under the [Apache License, Version 2.0 (Apache-2.0)](https://github.com/waldiez/waldiez/blob/main/LICENSE).