waldiez 0.4.7__py3-none-any.whl → 0.4.9__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.
- waldiez/__init__.py +5 -5
- waldiez/_version.py +1 -1
- waldiez/cli.py +97 -102
- waldiez/exporter.py +61 -19
- waldiez/exporting/__init__.py +25 -6
- waldiez/exporting/agent/__init__.py +7 -3
- waldiez/exporting/agent/code_execution.py +114 -0
- waldiez/exporting/agent/exporter.py +354 -0
- waldiez/exporting/agent/extras/__init__.py +15 -0
- waldiez/exporting/agent/extras/captain_agent_extras.py +315 -0
- waldiez/exporting/agent/extras/group/target.py +178 -0
- waldiez/exporting/agent/extras/group_manager_agent_extas.py +500 -0
- waldiez/exporting/agent/extras/group_member_extras.py +181 -0
- waldiez/exporting/agent/extras/handoffs/__init__.py +19 -0
- waldiez/exporting/agent/extras/handoffs/after_work.py +78 -0
- waldiez/exporting/agent/extras/handoffs/available.py +74 -0
- waldiez/exporting/agent/extras/handoffs/condition.py +158 -0
- waldiez/exporting/agent/extras/handoffs/handoff.py +171 -0
- waldiez/exporting/agent/extras/handoffs/target.py +189 -0
- waldiez/exporting/agent/extras/rag/__init__.py +10 -0
- waldiez/exporting/agent/{utils/rag_user/chroma_utils.py → extras/rag/chroma_extras.py} +37 -24
- waldiez/exporting/agent/{utils/rag_user/mongo_utils.py → extras/rag/mongo_extras.py} +10 -10
- waldiez/exporting/agent/{utils/rag_user/pgvector_utils.py → extras/rag/pgvector_extras.py} +13 -13
- waldiez/exporting/agent/{utils/rag_user/qdrant_utils.py → extras/rag/qdrant_extras.py} +13 -13
- waldiez/exporting/agent/{utils/rag_user/vector_db.py → extras/rag/vector_db_extras.py} +59 -46
- waldiez/exporting/agent/extras/rag_user_proxy_agent_extras.py +245 -0
- waldiez/exporting/agent/extras/reasoning_agent_extras.py +88 -0
- waldiez/exporting/agent/factory.py +95 -0
- waldiez/exporting/agent/processor.py +150 -0
- waldiez/exporting/agent/system_message.py +36 -0
- waldiez/exporting/agent/termination.py +50 -0
- waldiez/exporting/chats/__init__.py +7 -3
- waldiez/exporting/chats/exporter.py +97 -0
- waldiez/exporting/chats/factory.py +65 -0
- waldiez/exporting/chats/processor.py +226 -0
- waldiez/exporting/chats/utils/__init__.py +6 -5
- waldiez/exporting/chats/utils/common.py +11 -45
- waldiez/exporting/chats/utils/group.py +55 -0
- waldiez/exporting/chats/utils/nested.py +37 -52
- waldiez/exporting/chats/utils/sequential.py +72 -61
- waldiez/exporting/chats/utils/{single_chat.py → single.py} +48 -50
- waldiez/exporting/core/__init__.py +196 -0
- waldiez/exporting/core/constants.py +17 -0
- waldiez/exporting/core/content.py +69 -0
- waldiez/exporting/core/context.py +244 -0
- waldiez/exporting/core/enums.py +89 -0
- waldiez/exporting/core/errors.py +19 -0
- waldiez/exporting/core/exporter.py +390 -0
- waldiez/exporting/core/exporters.py +67 -0
- waldiez/exporting/core/extras/__init__.py +39 -0
- waldiez/exporting/core/extras/agent_extras/__init__.py +27 -0
- waldiez/exporting/core/extras/agent_extras/captain_extras.py +57 -0
- waldiez/exporting/core/extras/agent_extras/group_manager_extras.py +102 -0
- waldiez/exporting/core/extras/agent_extras/rag_user_extras.py +53 -0
- waldiez/exporting/core/extras/agent_extras/reasoning_extras.py +68 -0
- waldiez/exporting/core/extras/agent_extras/standard_extras.py +263 -0
- waldiez/exporting/core/extras/base.py +241 -0
- waldiez/exporting/core/extras/chat_extras.py +118 -0
- waldiez/exporting/core/extras/flow_extras.py +70 -0
- waldiez/exporting/core/extras/model_extras.py +73 -0
- waldiez/exporting/core/extras/path_resolver.py +93 -0
- waldiez/exporting/core/extras/serializer.py +138 -0
- waldiez/exporting/core/extras/tool_extras.py +82 -0
- waldiez/exporting/core/protocols.py +259 -0
- waldiez/exporting/core/result.py +705 -0
- waldiez/exporting/core/types.py +329 -0
- waldiez/exporting/core/utils/__init__.py +11 -0
- waldiez/exporting/core/utils/comment.py +33 -0
- waldiez/exporting/core/utils/llm_config.py +117 -0
- waldiez/exporting/core/validation.py +96 -0
- waldiez/exporting/flow/__init__.py +6 -2
- waldiez/exporting/flow/execution_generator.py +193 -0
- waldiez/exporting/flow/exporter.py +107 -0
- waldiez/exporting/flow/factory.py +94 -0
- waldiez/exporting/flow/file_generator.py +214 -0
- waldiez/exporting/flow/merger.py +387 -0
- waldiez/exporting/flow/orchestrator.py +411 -0
- waldiez/exporting/flow/utils/__init__.py +9 -36
- waldiez/exporting/flow/utils/common.py +206 -0
- waldiez/exporting/flow/utils/importing.py +373 -0
- waldiez/exporting/flow/utils/linting.py +200 -0
- waldiez/exporting/flow/utils/{logging_utils.py → logging.py} +23 -9
- waldiez/exporting/models/__init__.py +3 -1
- waldiez/exporting/models/exporter.py +233 -0
- waldiez/exporting/models/factory.py +66 -0
- waldiez/exporting/models/processor.py +139 -0
- waldiez/exporting/tools/__init__.py +11 -0
- waldiez/exporting/tools/exporter.py +207 -0
- waldiez/exporting/tools/factory.py +57 -0
- waldiez/exporting/tools/processor.py +248 -0
- waldiez/exporting/tools/registration.py +133 -0
- waldiez/io/__init__.py +128 -0
- waldiez/io/_ws.py +199 -0
- waldiez/io/models/__init__.py +60 -0
- waldiez/io/models/base.py +66 -0
- waldiez/io/models/constants.py +78 -0
- waldiez/io/models/content/__init__.py +23 -0
- waldiez/io/models/content/audio.py +43 -0
- waldiez/io/models/content/base.py +45 -0
- waldiez/io/models/content/file.py +43 -0
- waldiez/io/models/content/image.py +96 -0
- waldiez/io/models/content/text.py +37 -0
- waldiez/io/models/content/video.py +43 -0
- waldiez/io/models/user_input.py +269 -0
- waldiez/io/models/user_response.py +215 -0
- waldiez/io/mqtt.py +681 -0
- waldiez/io/redis.py +782 -0
- waldiez/io/structured.py +439 -0
- waldiez/io/utils.py +184 -0
- waldiez/io/ws.py +298 -0
- waldiez/logger.py +481 -0
- waldiez/models/__init__.py +108 -51
- waldiez/models/agents/__init__.py +34 -70
- waldiez/models/agents/agent/__init__.py +10 -4
- waldiez/models/agents/agent/agent.py +466 -65
- waldiez/models/agents/agent/agent_data.py +119 -47
- waldiez/models/agents/agent/agent_type.py +13 -2
- waldiez/models/agents/agent/code_execution.py +12 -12
- waldiez/models/agents/agent/human_input_mode.py +8 -0
- waldiez/models/agents/agent/{linked_skill.py → linked_tool.py} +7 -7
- waldiez/models/agents/agent/nested_chat.py +35 -7
- waldiez/models/agents/agent/termination_message.py +30 -22
- waldiez/models/agents/{swarm_agent → agent}/update_system_message.py +22 -22
- waldiez/models/agents/agents.py +58 -63
- waldiez/models/agents/assistant/assistant.py +4 -4
- waldiez/models/agents/assistant/assistant_data.py +13 -1
- waldiez/models/agents/{captain_agent → captain}/captain_agent.py +5 -5
- waldiez/models/agents/{captain_agent → captain}/captain_agent_data.py +5 -5
- waldiez/models/agents/extra_requirements.py +11 -16
- waldiez/models/agents/group_manager/group_manager.py +103 -13
- waldiez/models/agents/group_manager/group_manager_data.py +36 -14
- waldiez/models/agents/group_manager/speakers.py +77 -24
- waldiez/models/agents/{rag_user → rag_user_proxy}/__init__.py +16 -16
- waldiez/models/agents/rag_user_proxy/rag_user_proxy.py +64 -0
- waldiez/models/agents/{rag_user/rag_user_data.py → rag_user_proxy/rag_user_proxy_data.py} +6 -5
- waldiez/models/agents/{rag_user → rag_user_proxy}/retrieve_config.py +182 -114
- waldiez/models/agents/{rag_user → rag_user_proxy}/vector_db_config.py +13 -13
- waldiez/models/agents/reasoning/reasoning_agent.py +6 -6
- waldiez/models/agents/reasoning/reasoning_agent_data.py +110 -63
- waldiez/models/agents/reasoning/reasoning_agent_reason_config.py +38 -10
- waldiez/models/agents/user_proxy/user_proxy.py +11 -7
- waldiez/models/agents/user_proxy/user_proxy_data.py +2 -2
- waldiez/models/chat/__init__.py +2 -1
- waldiez/models/chat/chat.py +166 -87
- waldiez/models/chat/chat_data.py +99 -136
- waldiez/models/chat/chat_message.py +33 -23
- waldiez/models/chat/chat_nested.py +31 -30
- waldiez/models/chat/chat_summary.py +10 -8
- waldiez/models/common/__init__.py +52 -2
- waldiez/models/common/ag2_version.py +1 -1
- waldiez/models/common/base.py +38 -7
- waldiez/models/common/dict_utils.py +42 -17
- waldiez/models/common/handoff.py +459 -0
- waldiez/models/common/id_generator.py +19 -0
- waldiez/models/common/method_utils.py +130 -68
- waldiez/{exporting/base/utils → models/common}/naming.py +38 -61
- waldiez/models/common/waldiez_version.py +37 -0
- waldiez/models/flow/__init__.py +9 -2
- waldiez/models/flow/connection.py +18 -0
- waldiez/models/flow/flow.py +311 -215
- waldiez/models/flow/flow_data.py +207 -40
- waldiez/models/flow/info.py +85 -0
- waldiez/models/flow/naming.py +131 -0
- waldiez/models/model/__init__.py +7 -1
- waldiez/models/model/extra_requirements.py +3 -12
- waldiez/models/model/model.py +76 -21
- waldiez/models/model/model_data.py +108 -20
- waldiez/models/tool/__init__.py +16 -0
- waldiez/models/tool/extra_requirements.py +36 -0
- waldiez/models/{skill/skill.py → tool/tool.py} +88 -88
- waldiez/models/tool/tool_data.py +51 -0
- waldiez/models/tool/tool_type.py +8 -0
- waldiez/models/waldiez.py +97 -80
- waldiez/runner.py +115 -61
- waldiez/running/__init__.py +13 -7
- waldiez/running/environment.py +49 -68
- waldiez/running/gen_seq_diagram.py +16 -14
- waldiez/running/post_run.py +119 -0
- waldiez/running/pre_run.py +149 -0
- waldiez/running/util.py +134 -0
- waldiez/utils/__init__.py +2 -4
- waldiez/utils/cli_extras/jupyter.py +5 -3
- waldiez/utils/cli_extras/runner.py +6 -4
- waldiez/utils/cli_extras/studio.py +6 -4
- waldiez/utils/conflict_checker.py +15 -9
- waldiez/utils/flaml_warnings.py +5 -5
- waldiez/utils/version.py +47 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/METADATA +235 -91
- waldiez-0.4.9.dist-info/RECORD +203 -0
- waldiez/exporting/agent/agent_exporter.py +0 -297
- waldiez/exporting/agent/utils/__init__.py +0 -23
- waldiez/exporting/agent/utils/captain_agent.py +0 -263
- waldiez/exporting/agent/utils/code_execution.py +0 -65
- waldiez/exporting/agent/utils/group_manager.py +0 -220
- waldiez/exporting/agent/utils/rag_user/__init__.py +0 -7
- waldiez/exporting/agent/utils/rag_user/rag_user.py +0 -209
- waldiez/exporting/agent/utils/reasoning.py +0 -36
- waldiez/exporting/agent/utils/swarm_agent.py +0 -469
- waldiez/exporting/agent/utils/teachability.py +0 -41
- waldiez/exporting/agent/utils/termination_message.py +0 -44
- waldiez/exporting/base/__init__.py +0 -25
- waldiez/exporting/base/agent_position.py +0 -75
- waldiez/exporting/base/base_exporter.py +0 -118
- waldiez/exporting/base/export_position.py +0 -48
- waldiez/exporting/base/import_position.py +0 -23
- waldiez/exporting/base/mixin.py +0 -137
- waldiez/exporting/base/utils/__init__.py +0 -18
- waldiez/exporting/base/utils/comments.py +0 -96
- waldiez/exporting/base/utils/path_check.py +0 -68
- waldiez/exporting/base/utils/to_string.py +0 -84
- waldiez/exporting/chats/chats_exporter.py +0 -240
- waldiez/exporting/chats/utils/swarm.py +0 -210
- waldiez/exporting/flow/flow_exporter.py +0 -528
- waldiez/exporting/flow/utils/agent_utils.py +0 -204
- waldiez/exporting/flow/utils/chat_utils.py +0 -71
- waldiez/exporting/flow/utils/def_main.py +0 -77
- waldiez/exporting/flow/utils/flow_content.py +0 -202
- waldiez/exporting/flow/utils/flow_names.py +0 -116
- waldiez/exporting/flow/utils/importing_utils.py +0 -227
- waldiez/exporting/models/models_exporter.py +0 -199
- waldiez/exporting/models/utils.py +0 -174
- waldiez/exporting/skills/__init__.py +0 -9
- waldiez/exporting/skills/skills_exporter.py +0 -176
- waldiez/exporting/skills/utils.py +0 -369
- waldiez/models/agents/agent/teachability.py +0 -70
- waldiez/models/agents/rag_user/rag_user.py +0 -60
- waldiez/models/agents/swarm_agent/__init__.py +0 -50
- waldiez/models/agents/swarm_agent/after_work.py +0 -179
- waldiez/models/agents/swarm_agent/on_condition.py +0 -105
- waldiez/models/agents/swarm_agent/on_condition_available.py +0 -142
- waldiez/models/agents/swarm_agent/on_condition_target.py +0 -40
- waldiez/models/agents/swarm_agent/swarm_agent.py +0 -107
- waldiez/models/agents/swarm_agent/swarm_agent_data.py +0 -124
- waldiez/models/flow/utils.py +0 -232
- waldiez/models/skill/__init__.py +0 -16
- waldiez/models/skill/extra_requirements.py +0 -36
- waldiez/models/skill/skill_data.py +0 -53
- waldiez/models/skill/skill_type.py +0 -8
- waldiez/running/running.py +0 -369
- waldiez/utils/pysqlite3_checker.py +0 -308
- waldiez/utils/rdps_checker.py +0 -122
- waldiez-0.4.7.dist-info/RECORD +0 -149
- /waldiez/models/agents/{captain_agent → captain}/__init__.py +0 -0
- /waldiez/models/agents/{captain_agent → captain}/captain_agent_lib_entry.py +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/WHEEL +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/entry_points.txt +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/licenses/LICENSE +0 -0
- {waldiez-0.4.7.dist-info → waldiez-0.4.9.dist-info}/licenses/NOTICE.md +0 -0
waldiez/utils/version.py
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# SPDX-License-Identifier: Apache-2.0.
|
|
2
|
+
# Copyright (c) 2024 - 2025 Waldiez and contributors.
|
|
3
|
+
"""Try to get the Waldiez version."""
|
|
4
|
+
|
|
5
|
+
import json
|
|
6
|
+
from pathlib import Path
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def _get_waldiez_version_from_package_json() -> str | None:
|
|
10
|
+
"""Get the Waldiez version from package.json."""
|
|
11
|
+
package_json_path = Path(__file__).parent.parent.parent / "package.json"
|
|
12
|
+
if package_json_path.exists():
|
|
13
|
+
with open(package_json_path, "r", encoding="utf-8") as f:
|
|
14
|
+
package_data = json.load(f)
|
|
15
|
+
return package_data.get("version", None)
|
|
16
|
+
return None
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def _get_waldiez_version_from_version_py() -> str | None:
|
|
20
|
+
"""Get the Waldiez version from _version.py."""
|
|
21
|
+
version_py_path = Path(__file__).parent.parent / "_version.py"
|
|
22
|
+
if version_py_path.exists():
|
|
23
|
+
with open(version_py_path, "r", encoding="utf-8") as f:
|
|
24
|
+
for line in f:
|
|
25
|
+
if line.startswith("__version__"):
|
|
26
|
+
return line.split('"')[1]
|
|
27
|
+
return None
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def get_waldiez_version() -> str:
|
|
31
|
+
"""Get the Waldiez version.
|
|
32
|
+
|
|
33
|
+
Returns
|
|
34
|
+
-------
|
|
35
|
+
str
|
|
36
|
+
The Waldiez version, or "dev" if not found.
|
|
37
|
+
"""
|
|
38
|
+
w_version = _get_waldiez_version_from_package_json()
|
|
39
|
+
if not w_version:
|
|
40
|
+
w_version = _get_waldiez_version_from_version_py()
|
|
41
|
+
if not w_version:
|
|
42
|
+
w_version = "dev"
|
|
43
|
+
return w_version
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
if __name__ == "__main__":
|
|
47
|
+
print(get_waldiez_version())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: waldiez
|
|
3
|
-
Version: 0.4.
|
|
3
|
+
Version: 0.4.9
|
|
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 ::
|
|
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.
|
|
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:
|
|
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.
|
|
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
|
|
43
|
+
Requires-Dist: pillow
|
|
44
|
+
Requires-Dist: pip>=25
|
|
37
45
|
Requires-Dist: pydantic<3,>=2.10.2
|
|
38
|
-
Requires-Dist:
|
|
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.
|
|
41
|
-
Requires-Dist: ag2[bedrock]==0.
|
|
42
|
-
Requires-Dist: ag2[cohere]==0.
|
|
43
|
-
Requires-Dist: ag2[gemini]==0.
|
|
44
|
-
Requires-Dist: ag2[gemini]==0.
|
|
45
|
-
Requires-Dist: ag2[groq]==0.
|
|
46
|
-
Requires-Dist: ag2[interop-crewai]==0.
|
|
47
|
-
Requires-Dist: ag2[interop-langchain]==0.
|
|
48
|
-
Requires-Dist: ag2[lmm]==0.
|
|
49
|
-
Requires-Dist: ag2[mistral]==0.
|
|
50
|
-
Requires-Dist: ag2[neo4j]==0.
|
|
51
|
-
Requires-Dist: ag2[neo4j]==0.
|
|
52
|
-
Requires-Dist: ag2[ollama]==0.
|
|
53
|
-
Requires-Dist: ag2[
|
|
54
|
-
Requires-Dist: ag2[together]==0.
|
|
55
|
-
Requires-Dist: ag2[
|
|
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:
|
|
60
|
-
Requires-Dist:
|
|
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>=
|
|
71
|
-
Requires-Dist: psycopg
|
|
72
|
-
Requires-Dist: psycopg
|
|
73
|
-
Requires-Dist: psycopg
|
|
74
|
-
Requires-Dist: psycopg
|
|
75
|
-
Requires-Dist: psycopg
|
|
76
|
-
Requires-Dist: psycopg>=3.2.6; (sys_platform
|
|
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:
|
|
94
|
-
Requires-Dist:
|
|
95
|
-
Requires-Dist:
|
|
96
|
-
Requires-Dist:
|
|
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.
|
|
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.
|
|
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-
|
|
104
|
-
Requires-Dist: types-
|
|
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-
|
|
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.
|
|
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-
|
|
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.
|
|
121
|
-
Requires-Dist: jupyterlab
|
|
122
|
-
Requires-Dist: waldiez-jupyter==0.4.
|
|
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.9; 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.
|
|
166
|
+
Requires-Dist: waldiez-runner==0.4.9; (python_version >= '3.11') and extra == 'runner'
|
|
125
167
|
Provides-Extra: studio
|
|
126
|
-
Requires-Dist: waldiez-studio==0.4.
|
|
168
|
+
Requires-Dist: waldiez-studio==0.4.9; extra == 'studio'
|
|
127
169
|
Provides-Extra: test
|
|
128
|
-
Requires-Dist:
|
|
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.
|
|
134
|
-
Requires-Dist: pytest==8.
|
|
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
|
-
|
|
187
|
+
[](https://coveralls.io/github/waldiez/waldiez) [](https://pepy.tech/projects/waldiez) [](https://badge.fury.io/py/waldiez) [](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
|
-
|
|
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 [
|
|
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
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
$
|
|
225
|
-
|
|
226
|
-
$
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
$
|
|
234
|
-
--
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
#
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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).
|