waldiez 0.4.3__tar.gz → 0.4.4__tar.gz

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 (148) hide show
  1. {waldiez-0.4.3 → waldiez-0.4.4}/PKG-INFO +44 -26
  2. {waldiez-0.4.3 → waldiez-0.4.4}/pyproject.toml +58 -32
  3. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/_version.py +1 -1
  4. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/running/environment.py +3 -2
  5. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/running/running.py +48 -24
  6. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/cli_extras/__init__.py +2 -0
  7. waldiez-0.4.4/waldiez/utils/cli_extras/runner.py +37 -0
  8. {waldiez-0.4.3 → waldiez-0.4.4}/.gitignore +0 -0
  9. {waldiez-0.4.3 → waldiez-0.4.4}/LICENSE +0 -0
  10. {waldiez-0.4.3 → waldiez-0.4.4}/NOTICE.md +0 -0
  11. {waldiez-0.4.3 → waldiez-0.4.4}/README.md +0 -0
  12. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/__init__.py +0 -0
  13. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/__main__.py +0 -0
  14. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/cli.py +0 -0
  15. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporter.py +0 -0
  16. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/__init__.py +0 -0
  17. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/__init__.py +0 -0
  18. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/agent_exporter.py +0 -0
  19. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/__init__.py +0 -0
  20. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/captain_agent.py +0 -0
  21. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/code_execution.py +0 -0
  22. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/group_manager.py +0 -0
  23. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/__init__.py +0 -0
  24. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/chroma_utils.py +0 -0
  25. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/mongo_utils.py +0 -0
  26. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/pgvector_utils.py +0 -0
  27. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/qdrant_utils.py +0 -0
  28. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/rag_user.py +0 -0
  29. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/rag_user/vector_db.py +0 -0
  30. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/reasoning.py +0 -0
  31. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/swarm_agent.py +0 -0
  32. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/teachability.py +0 -0
  33. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/agent/utils/termination_message.py +0 -0
  34. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/__init__.py +0 -0
  35. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/agent_position.py +0 -0
  36. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/base_exporter.py +0 -0
  37. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/export_position.py +0 -0
  38. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/import_position.py +0 -0
  39. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/mixin.py +0 -0
  40. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/utils/__init__.py +0 -0
  41. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/utils/comments.py +0 -0
  42. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/utils/naming.py +0 -0
  43. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/utils/path_check.py +0 -0
  44. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/base/utils/to_string.py +0 -0
  45. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/__init__.py +0 -0
  46. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/chats_exporter.py +0 -0
  47. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/__init__.py +0 -0
  48. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/common.py +0 -0
  49. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/nested.py +0 -0
  50. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/sequential.py +0 -0
  51. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/single_chat.py +0 -0
  52. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/chats/utils/swarm.py +0 -0
  53. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/__init__.py +0 -0
  54. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/flow_exporter.py +0 -0
  55. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/__init__.py +0 -0
  56. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/agent_utils.py +0 -0
  57. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/chat_utils.py +0 -0
  58. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/def_main.py +0 -0
  59. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/flow_content.py +0 -0
  60. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/flow_names.py +0 -0
  61. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/importing_utils.py +0 -0
  62. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/flow/utils/logging_utils.py +0 -0
  63. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/models/__init__.py +0 -0
  64. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/models/models_exporter.py +0 -0
  65. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/models/utils.py +0 -0
  66. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/skills/__init__.py +0 -0
  67. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/skills/skills_exporter.py +0 -0
  68. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/exporting/skills/utils.py +0 -0
  69. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/__init__.py +0 -0
  70. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/__init__.py +0 -0
  71. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/__init__.py +0 -0
  72. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/agent.py +0 -0
  73. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/agent_data.py +0 -0
  74. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/agent_type.py +0 -0
  75. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/code_execution.py +0 -0
  76. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/linked_skill.py +0 -0
  77. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/nested_chat.py +0 -0
  78. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/teachability.py +0 -0
  79. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agent/termination_message.py +0 -0
  80. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/agents.py +0 -0
  81. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/assistant/__init__.py +0 -0
  82. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/assistant/assistant.py +0 -0
  83. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/assistant/assistant_data.py +0 -0
  84. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/captain_agent/__init__.py +0 -0
  85. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/captain_agent/captain_agent.py +0 -0
  86. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/captain_agent/captain_agent_data.py +0 -0
  87. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/captain_agent/captain_agent_lib_entry.py +0 -0
  88. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/extra_requirements.py +0 -0
  89. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/group_manager/__init__.py +0 -0
  90. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/group_manager/group_manager.py +0 -0
  91. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/group_manager/group_manager_data.py +0 -0
  92. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/group_manager/speakers.py +0 -0
  93. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/rag_user/__init__.py +0 -0
  94. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/rag_user/rag_user.py +0 -0
  95. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/rag_user/rag_user_data.py +0 -0
  96. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/rag_user/retrieve_config.py +0 -0
  97. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/rag_user/vector_db_config.py +0 -0
  98. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/reasoning/__init__.py +0 -0
  99. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/reasoning/reasoning_agent.py +0 -0
  100. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/reasoning/reasoning_agent_data.py +0 -0
  101. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/reasoning/reasoning_agent_reason_config.py +0 -0
  102. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/__init__.py +0 -0
  103. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/after_work.py +0 -0
  104. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/on_condition.py +0 -0
  105. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/on_condition_available.py +0 -0
  106. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/on_condition_target.py +0 -0
  107. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/swarm_agent.py +0 -0
  108. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/swarm_agent_data.py +0 -0
  109. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/swarm_agent/update_system_message.py +0 -0
  110. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/user_proxy/__init__.py +0 -0
  111. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/user_proxy/user_proxy.py +0 -0
  112. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/agents/user_proxy/user_proxy_data.py +0 -0
  113. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/__init__.py +0 -0
  114. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/chat.py +0 -0
  115. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/chat_data.py +0 -0
  116. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/chat_message.py +0 -0
  117. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/chat_nested.py +0 -0
  118. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/chat/chat_summary.py +0 -0
  119. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/__init__.py +0 -0
  120. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/ag2_version.py +0 -0
  121. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/base.py +0 -0
  122. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/date_utils.py +0 -0
  123. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/dict_utils.py +0 -0
  124. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/common/method_utils.py +0 -0
  125. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/flow/__init__.py +0 -0
  126. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/flow/flow.py +0 -0
  127. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/flow/flow_data.py +0 -0
  128. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/flow/utils.py +0 -0
  129. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/model/__init__.py +0 -0
  130. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/model/extra_requirements.py +0 -0
  131. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/model/model.py +0 -0
  132. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/model/model_data.py +0 -0
  133. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/skill/__init__.py +0 -0
  134. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/skill/extra_requirements.py +0 -0
  135. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/skill/skill.py +0 -0
  136. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/skill/skill_data.py +0 -0
  137. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/skill/skill_type.py +0 -0
  138. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/models/waldiez.py +0 -0
  139. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/py.typed +0 -0
  140. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/runner.py +0 -0
  141. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/running/__init__.py +0 -0
  142. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/running/gen_seq_diagram.py +0 -0
  143. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/__init__.py +0 -0
  144. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/cli_extras/jupyter.py +0 -0
  145. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/cli_extras/studio.py +0 -0
  146. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/conflict_checker.py +0 -0
  147. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/flaml_warnings.py +0 -0
  148. {waldiez-0.4.3 → waldiez-0.4.4}/waldiez/utils/pysqlite3_checker.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: waldiez
3
- Version: 0.4.3
4
- Summary: waldiez
3
+ Version: 0.4.4
4
+ Summary: Make AI Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez.
5
5
  Project-URL: homepage, https://waldiez.io
6
6
  Project-URL: repository, https://github.com/waldiez/python.git
7
7
  Project-URL: documentation, https://waldiez.github.io/python/
@@ -28,20 +28,27 @@ Requires-Dist: asyncer==0.0.8
28
28
  Requires-Dist: graphviz==0.20.3
29
29
  Requires-Dist: httpx<1
30
30
  Requires-Dist: jupytext
31
- Requires-Dist: numpy<=2.2.4
31
+ Requires-Dist: nest-asyncio==1.6.0
32
+ Requires-Dist: numpy<=2.2.5
32
33
  Requires-Dist: pandas>=2
33
34
  Requires-Dist: parso==0.8.4
34
- Requires-Dist: pyautogen[openai]==0.8.6
35
+ Requires-Dist: pyautogen[openai]==0.8.7
35
36
  Requires-Dist: pydantic<3,>=2.10.2
36
37
  Requires-Dist: typer<0.16,>=0.9
37
38
  Provides-Extra: ag2-extras
38
39
  Requires-Dist: beautifulsoup4; extra == 'ag2-extras'
39
- Requires-Dist: chromadb>=0.5.10; extra == 'ag2-extras'
40
- Requires-Dist: embedchain; extra == 'ag2-extras'
40
+ Requires-Dist: chromadb>=0.5.10; (sys_platform != 'win32') and extra == 'ag2-extras'
41
+ 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'
42
+ Requires-Dist: embedchain; (sys_platform != 'win32') and extra == 'ag2-extras'
43
+ 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'
44
+ Requires-Dist: google-api-python-client<3.0,>=2.163.0; extra == 'ag2-extras'
45
+ Requires-Dist: google-auth-httplib2<0.3,>=0.2.0; extra == 'ag2-extras'
46
+ Requires-Dist: google-auth-oauthlib<2.0,>=1.2.1; extra == 'ag2-extras'
41
47
  Requires-Dist: huggingface-hub; extra == 'ag2-extras'
42
48
  Requires-Dist: ipython; extra == 'ag2-extras'
43
49
  Requires-Dist: langchain-community<1,>=0.3.12; extra == 'ag2-extras'
44
50
  Requires-Dist: markdownify; extra == 'ag2-extras'
51
+ Requires-Dist: mcp<1.6,>=1.4.0; extra == 'ag2-extras'
45
52
  Requires-Dist: pgvector>=0.4.0; extra == 'ag2-extras'
46
53
  Requires-Dist: protobuf>=4.25.3; extra == 'ag2-extras'
47
54
  Requires-Dist: psycopg==3.2.6; (sys_platform == 'linux') and extra == 'ag2-extras'
@@ -49,40 +56,48 @@ Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine ==
49
56
  Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'ARM64') and extra == 'ag2-extras'
50
57
  Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'aarch64') and extra == 'ag2-extras'
51
58
  Requires-Dist: psycopg==3.2.6; (sys_platform == 'win32' and platform_machine == 'arm64') and extra == 'ag2-extras'
59
+ Requires-Dist: psycopg>=3.2.6; (sys_platform == 'win32') and extra == 'ag2-extras'
52
60
  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'
53
- Requires-Dist: psycopg[binary]>=3.2.6; extra == 'ag2-extras'
54
- Requires-Dist: pyautogen[anthropic]==0.8.6; extra == 'ag2-extras'
55
- Requires-Dist: pyautogen[bedrock]==0.8.6; extra == 'ag2-extras'
56
- Requires-Dist: pyautogen[cohere]==0.8.6; extra == 'ag2-extras'
57
- Requires-Dist: pyautogen[gemini]==0.8.6; extra == 'ag2-extras'
58
- Requires-Dist: pyautogen[groq]==0.8.6; extra == 'ag2-extras'
59
- Requires-Dist: pyautogen[interop-crewai]==0.8.6; extra == 'ag2-extras'
60
- Requires-Dist: pyautogen[interop-langchain]==0.8.6; extra == 'ag2-extras'
61
- Requires-Dist: pyautogen[lmm]==0.8.6; extra == 'ag2-extras'
62
- Requires-Dist: pyautogen[mistral]==0.8.6; extra == 'ag2-extras'
63
- Requires-Dist: pyautogen[neo4j]==0.8.6; extra == 'ag2-extras'
64
- Requires-Dist: pyautogen[ollama]==0.8.6; extra == 'ag2-extras'
65
- Requires-Dist: pyautogen[together]==0.8.6; extra == 'ag2-extras'
66
- Requires-Dist: pyautogen[websurfer]==0.8.6; extra == 'ag2-extras'
61
+ Requires-Dist: psycopg[binary]>=3.2.6; (sys_platform != 'win32') and extra == 'ag2-extras'
62
+ Requires-Dist: pyautogen[anthropic]==0.8.7; extra == 'ag2-extras'
63
+ Requires-Dist: pyautogen[bedrock]==0.8.7; extra == 'ag2-extras'
64
+ Requires-Dist: pyautogen[cohere]==0.8.7; extra == 'ag2-extras'
65
+ Requires-Dist: pyautogen[gemini]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
66
+ Requires-Dist: pyautogen[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'
67
+ Requires-Dist: pyautogen[groq]==0.8.7; extra == 'ag2-extras'
68
+ Requires-Dist: pyautogen[interop-crewai]==0.8.7; extra == 'ag2-extras'
69
+ Requires-Dist: pyautogen[interop-langchain]==0.8.7; extra == 'ag2-extras'
70
+ Requires-Dist: pyautogen[lmm]==0.8.7; extra == 'ag2-extras'
71
+ Requires-Dist: pyautogen[mistral]==0.8.7; extra == 'ag2-extras'
72
+ Requires-Dist: pyautogen[neo4j]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
73
+ Requires-Dist: pyautogen[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'
74
+ Requires-Dist: pyautogen[ollama]==0.8.7; extra == 'ag2-extras'
75
+ Requires-Dist: pyautogen[together]==0.8.7; (sys_platform != 'win32') and extra == 'ag2-extras'
76
+ Requires-Dist: pyautogen[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'
77
+ Requires-Dist: pyautogen[websurfer]==0.8.7; extra == 'ag2-extras'
67
78
  Requires-Dist: pydantic-ai>=0.0.21; extra == 'ag2-extras'
68
79
  Requires-Dist: pymongo>=4.11; extra == 'ag2-extras'
69
80
  Requires-Dist: pypdf; extra == 'ag2-extras'
70
81
  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'
71
- Requires-Dist: qdrant-client[fastembed]; extra == 'ag2-extras'
72
- Requires-Dist: sentence-transformers; extra == 'ag2-extras'
82
+ Requires-Dist: qdrant-client[fastembed]; (sys_platform != 'win32') and extra == 'ag2-extras'
83
+ 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'
84
+ Requires-Dist: sentence-transformers; (sys_platform == 'linux') and extra == 'ag2-extras'
85
+ Requires-Dist: wikipedia-api<1.0,>=0.8.1; extra == 'ag2-extras'
73
86
  Provides-Extra: dev
74
87
  Requires-Dist: autoflake==2.3.1; extra == 'dev'
75
88
  Requires-Dist: bandit==1.8.3; extra == 'dev'
76
89
  Requires-Dist: black[jupyter]==25.1.0; extra == 'dev'
77
90
  Requires-Dist: flake8==7.2.0; extra == 'dev'
78
91
  Requires-Dist: isort==6.0.1; extra == 'dev'
92
+ Requires-Dist: jupyter-server==2.15.0; extra == 'dev'
93
+ Requires-Dist: jupyterlab>=4.3.0; extra == 'dev'
79
94
  Requires-Dist: mypy==1.15.0; extra == 'dev'
80
95
  Requires-Dist: pandas-stubs==2.2.3.250308; extra == 'dev'
81
96
  Requires-Dist: pre-commit==4.2.0; extra == 'dev'
82
97
  Requires-Dist: pydocstyle==6.3.0; extra == 'dev'
83
98
  Requires-Dist: pylint==3.3.6; extra == 'dev'
84
99
  Requires-Dist: python-dotenv==1.1.0; extra == 'dev'
85
- Requires-Dist: ruff==0.11.5; extra == 'dev'
100
+ Requires-Dist: ruff==0.11.7; extra == 'dev'
86
101
  Requires-Dist: toml==0.10.2; (python_version <= '3.10') and extra == 'dev'
87
102
  Requires-Dist: types-pyyaml==6.0.12.20250402; extra == 'dev'
88
103
  Requires-Dist: types-toml==0.10.8.20240310; extra == 'dev'
@@ -92,16 +107,19 @@ Requires-Dist: mdx-include==1.4.2; extra == 'docs'
92
107
  Requires-Dist: mdx-truly-sane-lists==1.3; extra == 'docs'
93
108
  Requires-Dist: mkdocs-jupyter==0.25.1; extra == 'docs'
94
109
  Requires-Dist: mkdocs-macros-plugin==1.3.7; extra == 'docs'
95
- Requires-Dist: mkdocs-material==9.6.11; extra == 'docs'
110
+ Requires-Dist: mkdocs-material==9.6.12; extra == 'docs'
96
111
  Requires-Dist: mkdocs-minify-html-plugin==0.3.1; extra == 'docs'
97
112
  Requires-Dist: mkdocs==1.6.1; extra == 'docs'
98
113
  Requires-Dist: mkdocstrings-python==1.16.10; extra == 'docs'
99
114
  Requires-Dist: mkdocstrings[crystal,python]==0.29.1; extra == 'docs'
100
115
  Provides-Extra: jupyter
116
+ Requires-Dist: jupyter-server==2.15.0; extra == 'jupyter'
101
117
  Requires-Dist: jupyterlab>=4.3.0; extra == 'jupyter'
102
- Requires-Dist: waldiez-jupyter==0.4.3; extra == 'jupyter'
118
+ Requires-Dist: waldiez-jupyter==0.4.4; extra == 'jupyter'
119
+ Provides-Extra: runner
120
+ Requires-Dist: waldiez-runner==0.4.4; extra == 'runner'
103
121
  Provides-Extra: studio
104
- Requires-Dist: waldiez-studio==0.4.3; extra == 'studio'
122
+ Requires-Dist: waldiez-studio==0.4.4; extra == 'studio'
105
123
  Provides-Extra: test
106
124
  Requires-Dist: pytest-asyncio==0.26.0; extra == 'test'
107
125
  Requires-Dist: pytest-cov==6.1.1; extra == 'test'
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "waldiez"
3
- description = 'waldiez'
3
+ description = 'Make AI Agents Collaborate: Drag, Drop, and Orchestrate with Waldiez.'
4
4
  authors = [
5
5
  { name = 'Panagiotis Kasnesis', email = 'pkasnesis@waldiez.io' },
6
6
  { name= 'Lazaros Toumanidis', email= 'laztoum@waldiez.io' },
@@ -27,11 +27,16 @@ dependencies =[
27
27
  "aiofiles==24.1.0",
28
28
  "aiosqlite==0.21.0",
29
29
  "asyncer==0.0.8",
30
- "numpy<=2.2.4",
30
+ "numpy<=2.2.5",
31
+ "nest_asyncio==1.6.0",
31
32
  "graphviz==0.20.3",
32
33
  "pandas>=2",
33
- "pyautogen[openai]==0.8.6",
34
+ "pyautogen[openai]==0.8.7",
34
35
  "jupytext",
36
+ # "rpds-py @ git+https://github.com/crate-py/rpds.git@v0.24.0 ;sys_platform == 'win32' and platform_machine == 'arm64'",
37
+ # "rpds-py @ git+https://github.com/crate-py/rpds.git@v0.24.0 ;sys_platform == 'win32' and platform_machine == 'ARM64'",
38
+ # "rpds-py @ git+https://github.com/crate-py/rpds.git@v0.24.0 ;sys_platform == 'win32' and platform_machine == 'aarch64'",
39
+ # "rpds-py @ git+https://github.com/crate-py/rpds.git@v0.24.0 ;sys_platform == 'win32' and platform_machine == 'AARCH64'",
35
40
  "parso==0.8.4",
36
41
  "pydantic>=2.10.2,<3",
37
42
  "typer>=0.9,<0.16",
@@ -44,6 +49,9 @@ repository = 'https://github.com/waldiez/python.git'
44
49
  documentation = "https://waldiez.github.io/python/"
45
50
  issues = "https://github.com/waldiez/python/issues"
46
51
 
52
+ [tool.hatch.metadata]
53
+ allow-direct-references = true
54
+
47
55
  [tool.hatch.build.targets.sdist]
48
56
  packages = ["waldiez", "waldiez.*"]
49
57
  exclude = [ "**/example.py", ".gitignore" ]
@@ -54,17 +62,23 @@ exclude = [ "**/example.py" ]
54
62
 
55
63
  [project.optional-dependencies]
56
64
  studio = [
57
- "waldiez_studio==0.4.3",
65
+ "waldiez_studio==0.4.4",
66
+ ]
67
+ runner = [
68
+ "waldiez_runner==0.4.4",
58
69
  ]
59
70
  jupyter = [
60
- "waldiez_jupyter==0.4.3",
71
+ "waldiez_jupyter==0.4.4",
61
72
  'jupyterlab>=4.3.0',
73
+ "jupyter_server==2.15.0",
62
74
  ]
63
75
  dev = [
64
76
  'autoflake==2.3.1',
65
77
  'bandit==1.8.3',
66
78
  'black[jupyter]==25.1.0',
67
79
  'flake8==7.2.0',
80
+ 'jupyterlab>=4.3.0',
81
+ "jupyter_server==2.15.0",
68
82
  'isort==6.0.1',
69
83
  'mypy==1.15.0',
70
84
  'pandas-stubs==2.2.3.250308',
@@ -72,7 +86,7 @@ dev = [
72
86
  'pydocstyle==6.3.0',
73
87
  'pylint==3.3.6',
74
88
  'python-dotenv==1.1.0',
75
- 'ruff==0.11.5',
89
+ 'ruff==0.11.7',
76
90
  'types-pyyaml==6.0.12.20250402',
77
91
  'yamllint==1.37.0',
78
92
  'toml==0.10.2; python_version <= "3.10"',
@@ -80,43 +94,55 @@ dev = [
80
94
  ]
81
95
  ag2_extras =[
82
96
  # models
83
- 'pyautogen[anthropic]==0.8.6',
84
- 'pyautogen[bedrock]==0.8.6',
85
- 'pyautogen[cohere]==0.8.6',
86
- 'pyautogen[gemini]==0.8.6',
87
- 'pyautogen[groq]==0.8.6',
88
- 'pyautogen[lmm]==0.8.6',
89
- 'pyautogen[mistral]==0.8.6',
90
- 'pyautogen[ollama]==0.8.6',
91
- 'pyautogen[together]==0.8.6',
97
+ 'pyautogen[anthropic]==0.8.7',
98
+ 'pyautogen[bedrock]==0.8.7',
99
+ 'pyautogen[cohere]==0.8.7',
100
+ 'pyautogen[gemini]==0.8.7 ;sys_platform != "win32"',
101
+ 'pyautogen[gemini]==0.8.7 ;sys_platform == "win32" and platform_machine != "arm64" and platform_machine != "aarch64" and platform_machine != "ARM64" and platform_machine != "AARCH64"',
102
+ 'pyautogen[groq]==0.8.7',
103
+ 'pyautogen[lmm]==0.8.7',
104
+ 'pyautogen[mistral]==0.8.7',
105
+ 'pyautogen[ollama]==0.8.7',
106
+ 'pyautogen[together]==0.8.7 ;sys_platform != "win32"',
107
+ 'pyautogen[together]==0.8.7 ;sys_platform == "win32" and platform_machine != "arm64" and platform_machine != "aarch64" and platform_machine != "ARM64" and platform_machine != "AARCH64"',
92
108
  # utils
93
- 'pyautogen[interop-crewai]==0.8.6',
94
- 'pyautogen[interop-langchain]==0.8.6',
95
- 'pyautogen[neo4j]==0.8.6',
96
- 'pyautogen[websurfer]==0.8.6',
97
- 'chromadb>=0.5.10',
109
+ 'pyautogen[interop-crewai]==0.8.7',
110
+ 'pyautogen[interop-langchain]==0.8.7',
111
+ "pyautogen[neo4j]==0.8.7 ;sys_platform != 'win32'",
112
+ "pyautogen[neo4j]==0.8.7 ;sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
113
+ 'pyautogen[websurfer]==0.8.7',
114
+ "chromadb>=0.5.10 ;sys_platform != 'win32'",
115
+ "chromadb>=0.5.10 ;sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
98
116
  'pgvector>=0.4.0',
99
- "psycopg==3.2.6; sys_platform == 'linux'",
100
- "psycopg==3.2.6; sys_platform == 'win32' and platform_machine == 'arm64'",
101
- "psycopg==3.2.6; sys_platform == 'win32' and platform_machine == 'ARM64'",
102
- "psycopg==3.2.6; sys_platform == 'win32' and platform_machine == 'aarch64'",
103
- "psycopg==3.2.6; sys_platform == 'win32' and platform_machine == 'AARCH64'",
104
- "psycopg[binary]==3.2.6; sys_platform != 'linux' and platform_machine != 'arm64' and platform_machine != 'ARM64' and platform_machine != 'aarch64' and platform_machine != 'AARCH64'",
117
+ "psycopg==3.2.6 ;sys_platform == 'linux'",
118
+ "psycopg==3.2.6 ;sys_platform == 'win32' and platform_machine == 'arm64'",
119
+ "psycopg==3.2.6 ;sys_platform == 'win32' and platform_machine == 'ARM64'",
120
+ "psycopg==3.2.6 ;sys_platform == 'win32' and platform_machine == 'aarch64'",
121
+ "psycopg==3.2.6 ;sys_platform == 'win32' and platform_machine == 'AARCH64'",
122
+ "psycopg[binary]==3.2.6 ;sys_platform != 'linux' and platform_machine != 'arm64' and platform_machine != 'ARM64' and platform_machine != 'aarch64' and platform_machine != 'AARCH64'",
105
123
  'protobuf>=4.25.3',
106
124
  'pypdf',
107
- "pysqlite3-binary==0.5.4; sys_platform == 'linux' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
125
+ "pysqlite3-binary==0.5.4 ;sys_platform == 'linux' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
108
126
  'ipython',
109
127
  'markdownify',
110
128
  'beautifulsoup4',
111
- 'sentence-transformers',
129
+ "sentence-transformers ;sys_platform == 'linux'",
112
130
  'huggingface-hub',
113
- 'qdrant-client[fastembed]',
131
+ "qdrant-client[fastembed] ;sys_platform != 'win32'",
132
+ "qdrant-client[fastembed] ;sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
114
133
  'pgvector>=0.4.0',
115
- 'psycopg[binary]>=3.2.6',
116
- 'embedchain',
134
+ "psycopg[binary]>=3.2.6 ;sys_platform != 'win32'",
135
+ "psycopg>=3.2.6 ;sys_platform == 'win32'",
136
+ "embedchain ;sys_platform != 'win32'",
137
+ "embedchain ;sys_platform == 'win32' and platform_machine != 'arm64' and platform_machine != 'aarch64' and platform_machine != 'ARM64' and platform_machine != 'AARCH64'",
117
138
  'langchain-community>=0.3.12,<1',
118
139
  'pydantic-ai>=0.0.21',
119
140
  'pymongo>=4.11',
141
+ 'wikipedia-api>=0.8.1, <1.0',
142
+ 'google-api-python-client>=2.163.0,<3.0',
143
+ 'google-auth-httplib2>=0.2.0,<0.3',
144
+ 'google-auth-oauthlib>=1.2.1,<2.0',
145
+ 'mcp>=1.4.0,<1.6',
120
146
  ]
121
147
  test = [
122
148
  'pytest==8.3.5',
@@ -133,7 +159,7 @@ docs = [
133
159
  'mkdocs==1.6.1',
134
160
  'mkdocs-jupyter==0.25.1',
135
161
  'mkdocs-macros-plugin==1.3.7',
136
- 'mkdocs-material==9.6.11',
162
+ 'mkdocs-material==9.6.12',
137
163
  'mkdocs-minify-html-plugin==0.3.1',
138
164
  'mkdocstrings[crystal,python]==0.29.1',
139
165
  'mkdocstrings-python==1.16.10'
@@ -2,4 +2,4 @@
2
2
  # Copyright (c) 2024 - 2025 Waldiez and contributors.
3
3
  """Version information for Waldiez."""
4
4
 
5
- __version__ = "0.4.3"
5
+ __version__ = "0.4.4"
@@ -3,7 +3,7 @@
3
3
  # pylint: disable=import-outside-toplevel,reimported
4
4
  """Environment related utilities."""
5
5
 
6
- import importlib.util
6
+ import importlib
7
7
  import os
8
8
  import site
9
9
  import sys
@@ -20,7 +20,8 @@ def in_virtualenv() -> bool:
20
20
  True if inside a virtualenv, False otherwise.
21
21
  """
22
22
  return hasattr(sys, "real_prefix") or (
23
- hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix
23
+ hasattr(sys, "base_prefix")
24
+ and os.path.realpath(sys.base_prefix) != os.path.realpath(sys.prefix)
24
25
  )
25
26
 
26
27
 
@@ -120,20 +120,34 @@ def install_requirements(
120
120
  requirements_string = ", ".join(extra_requirements)
121
121
  printer(f"Installing requirements: {requirements_string}")
122
122
  pip_install = [sys.executable, "-m", "pip", "install"]
123
- if not in_virtualenv():
123
+ if not in_virtualenv(): # it should
124
+ # if not, let's try to install as user
125
+ # not sure if --break-system-packages is safe
126
+ # but it might fail if we don't
127
+ break_system_packages = os.environ.get("PIP_BREAK_SYSTEM_PACKAGES", "")
128
+ os.environ["PIP_BREAK_SYSTEM_PACKAGES"] = "1"
124
129
  pip_install.append("--user")
125
130
  pip_install.extend(extra_requirements)
126
- with subprocess.Popen(
127
- pip_install,
128
- stdout=subprocess.PIPE,
129
- stderr=subprocess.PIPE,
130
- ) as proc:
131
- if proc.stdout:
132
- for line in io.TextIOWrapper(proc.stdout, encoding="utf-8"):
133
- printer(line.strip())
134
- if proc.stderr:
135
- for line in io.TextIOWrapper(proc.stderr, encoding="utf-8"):
136
- printer(line.strip())
131
+ # pylint: disable=too-many-try-statements
132
+ try:
133
+ with subprocess.Popen(
134
+ pip_install,
135
+ stdout=subprocess.PIPE,
136
+ stderr=subprocess.PIPE,
137
+ ) as proc:
138
+ if proc.stdout:
139
+ for line in io.TextIOWrapper(proc.stdout, encoding="utf-8"):
140
+ printer(line.strip())
141
+ if proc.stderr:
142
+ for line in io.TextIOWrapper(proc.stderr, encoding="utf-8"):
143
+ printer(line.strip())
144
+ finally:
145
+ if not in_virtualenv():
146
+ # restore the old env var
147
+ if break_system_packages:
148
+ os.environ["PIP_BREAK_SYSTEM_PACKAGES"] = break_system_packages
149
+ else:
150
+ del os.environ["PIP_BREAK_SYSTEM_PACKAGES"]
137
151
 
138
152
 
139
153
  async def a_install_requirements(
@@ -152,19 +166,29 @@ async def a_install_requirements(
152
166
  printer(f"Installing requirements: {requirements_string}")
153
167
  pip_install = [sys.executable, "-m", "pip", "install"]
154
168
  if not in_virtualenv():
155
- pip_install.extend(["--user", "--break-system-packages"])
169
+ break_system_packages = os.environ.get("PIP_BREAK_SYSTEM_PACKAGES", "")
170
+ os.environ["PIP_BREAK_SYSTEM_PACKAGES"] = "1"
171
+ pip_install.extend(["--user"])
156
172
  pip_install.extend(extra_requirements)
157
- proc = await asyncio.create_subprocess_exec(
158
- *pip_install,
159
- stdout=asyncio.subprocess.PIPE,
160
- stderr=asyncio.subprocess.PIPE,
161
- )
162
- if proc.stdout:
163
- async for line in proc.stdout:
164
- printer(line.decode().strip())
165
- if proc.stderr:
166
- async for line in proc.stderr:
167
- printer(line.decode().strip())
173
+ # pylint: disable=too-many-try-statements
174
+ try:
175
+ proc = await asyncio.create_subprocess_exec(
176
+ *pip_install,
177
+ stdout=asyncio.subprocess.PIPE,
178
+ stderr=asyncio.subprocess.PIPE,
179
+ )
180
+ if proc.stdout:
181
+ async for line in proc.stdout:
182
+ printer(line.decode().strip())
183
+ if proc.stderr:
184
+ async for line in proc.stderr:
185
+ printer(line.decode().strip())
186
+ finally:
187
+ if not in_virtualenv():
188
+ if break_system_packages:
189
+ os.environ["PIP_BREAK_SYSTEM_PACKAGES"] = break_system_packages
190
+ else:
191
+ del os.environ["PIP_BREAK_SYSTEM_PACKAGES"]
168
192
 
169
193
 
170
194
  def after_run(
@@ -7,6 +7,7 @@
7
7
  import typer
8
8
 
9
9
  from .jupyter import add_jupyter_cli
10
+ from .runner import add_runner_cli
10
11
  from .studio import add_studio_cli
11
12
 
12
13
 
@@ -24,6 +25,7 @@ def add_cli_extras(app: typer.Typer) -> None:
24
25
  The app with the extra commands added
25
26
  """
26
27
  add_jupyter_cli(app)
28
+ add_runner_cli(app)
27
29
  add_studio_cli(app)
28
30
 
29
31
 
@@ -0,0 +1,37 @@
1
+ # SPDX-License-Identifier: Apache-2.0.
2
+ # Copyright (c) 2024 - 2025 Waldiez and contributors.
3
+ # pylint: skip-file
4
+ # isort: skip_file
5
+ # flake8: noqa: E501,E402
6
+ """Waldiez-runner extra typer commands for CLI."""
7
+
8
+ from typing import Any, Callable
9
+
10
+ import typer
11
+ from typer.models import CommandInfo
12
+
13
+ HAVE_RUNNER = False
14
+ runner_app: Callable[..., Any] | None = None
15
+
16
+ try:
17
+ from waldiez_runner.cli import run # type: ignore[unused-ignore, import-not-found, import-untyped]
18
+
19
+ runner_app = run
20
+
21
+ HAVE_RUNNER = True
22
+ except BaseException:
23
+ pass
24
+
25
+
26
+ def add_runner_cli(app: typer.Typer) -> None:
27
+ """Add runner command to the app if available.
28
+
29
+ Parameters
30
+ ----------
31
+ app : typer.Typer
32
+ The Typer app to add the runner command to.
33
+ """
34
+ if HAVE_RUNNER:
35
+ app.registered_commands.append(
36
+ CommandInfo(name="serve", callback=runner_app)
37
+ )
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes