waldiez 0.1.18__tar.gz → 0.1.19__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.
- {waldiez-0.1.18 → waldiez-0.1.19}/PKG-INFO +1 -1
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/_version.py +1 -1
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/runner.py +52 -19
- {waldiez-0.1.18 → waldiez-0.1.19}/.gitignore +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/LICENSE +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/README.md +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/pyproject.toml +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/__main__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/cli.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/conflict_checker.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporter.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/agent.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/agent_skills.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/code_execution.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/group_manager.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/llm_config.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/chroma_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/mongo_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/pgvector_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/qdrant_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/rag_user.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/rag_user/vector_db.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/teachability.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/agents/termination_message.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/chats/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/chats/chats.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/chats/helpers.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/chats/nested.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/flow/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/flow/def_main.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/flow/flow.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/models/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/skills/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/comments.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/importing.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/logging_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/method_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/naming.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/object_string.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/exporting/utils/path_check.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/agent.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/agent_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/code_execution.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/linked_skill.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/nested_chat.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/teachability.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agent/termination_message.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/agents.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/assistant/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/assistant/assistant.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/assistant/assistant_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/group_manager/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/group_manager/group_manager.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/group_manager/group_manager_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/group_manager/speakers.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/rag_user/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/rag_user/rag_user.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/rag_user/rag_user_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/rag_user/retrieve_config.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/rag_user/vector_db_config.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/user_proxy/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/user_proxy/user_proxy.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/agents/user_proxy/user_proxy_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/chat.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/chat_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/chat_message.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/chat_nested.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/chat/chat_summary.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/common/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/common/base.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/common/method_utils.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/flow/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/flow/flow.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/flow/flow_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/model/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/model/model.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/model/model_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/skill/__init__.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/skill/skill.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/skill/skill_data.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/models/waldiez.py +0 -0
- {waldiez-0.1.18 → waldiez-0.1.19}/waldiez/py.typed +0 -0
|
@@ -7,6 +7,8 @@ return the results. Before running the flow, any additional environment
|
|
|
7
7
|
variables specified in the waldiez file are set.
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
|
+
# pylint: disable=import-outside-toplevel,reimported
|
|
11
|
+
|
|
10
12
|
import datetime
|
|
11
13
|
import importlib.util
|
|
12
14
|
import io
|
|
@@ -59,11 +61,6 @@ def _chdir(to: Union[str, Path]) -> Iterator[None]:
|
|
|
59
61
|
os.chdir(old_cwd)
|
|
60
62
|
|
|
61
63
|
|
|
62
|
-
def refresh_site_packages() -> None:
|
|
63
|
-
"""Refresh the site packages."""
|
|
64
|
-
site.main()
|
|
65
|
-
|
|
66
|
-
|
|
67
64
|
class WaldiezRunner:
|
|
68
65
|
"""Waldiez runner class."""
|
|
69
66
|
|
|
@@ -75,6 +72,7 @@ class WaldiezRunner:
|
|
|
75
72
|
self._running = False
|
|
76
73
|
self._file_path = file_path
|
|
77
74
|
self._exporter = WaldiezExporter(waldiez)
|
|
75
|
+
self._called_install_requirements = False
|
|
78
76
|
|
|
79
77
|
@classmethod
|
|
80
78
|
def load(
|
|
@@ -147,8 +145,10 @@ class WaldiezRunner:
|
|
|
147
145
|
"""Get the running status."""
|
|
148
146
|
return self._running
|
|
149
147
|
|
|
150
|
-
def
|
|
148
|
+
def install_requirements(self) -> None:
|
|
151
149
|
"""Install the requirements for the flow."""
|
|
150
|
+
self._called_install_requirements = True
|
|
151
|
+
printer = get_printer()
|
|
152
152
|
extra_requirements = set(
|
|
153
153
|
req for req in self.waldiez.requirements if req not in sys.modules
|
|
154
154
|
)
|
|
@@ -169,13 +169,7 @@ class WaldiezRunner:
|
|
|
169
169
|
if proc.stderr:
|
|
170
170
|
for line in io.TextIOWrapper(proc.stderr, encoding="utf-8"):
|
|
171
171
|
printer(line.strip())
|
|
172
|
-
|
|
173
|
-
refresh_site_packages()
|
|
174
|
-
printer(
|
|
175
|
-
"Requirements installed.\n"
|
|
176
|
-
"NOTE: If new packages were added and you are using Jupyter, "
|
|
177
|
-
"you might need to restart the kernel."
|
|
178
|
-
)
|
|
172
|
+
refresh_environment()
|
|
179
173
|
|
|
180
174
|
@staticmethod
|
|
181
175
|
def _after_run(
|
|
@@ -245,11 +239,16 @@ class WaldiezRunner:
|
|
|
245
239
|
Union[ChatResult, List[ChatResult]]
|
|
246
240
|
The result(s) of the chat(s).
|
|
247
241
|
"""
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
242
|
+
if not self._called_install_requirements:
|
|
243
|
+
self.install_requirements()
|
|
244
|
+
else:
|
|
245
|
+
refresh_environment()
|
|
246
|
+
printer = get_printer()
|
|
247
|
+
printer(
|
|
248
|
+
"Requirements installed.\n"
|
|
249
|
+
"NOTE: If new packages were added and you are using Jupyter, "
|
|
250
|
+
"you might need to restart the kernel."
|
|
251
|
+
)
|
|
253
252
|
results: Union["ChatResult", List["ChatResult"]] = []
|
|
254
253
|
if not uploads_root:
|
|
255
254
|
uploads_root = Path(tempfile.mkdtemp())
|
|
@@ -277,7 +276,7 @@ class WaldiezRunner:
|
|
|
277
276
|
old_vars = self._set_env_vars()
|
|
278
277
|
module = importlib.util.module_from_spec(spec)
|
|
279
278
|
spec.loader.exec_module(module)
|
|
280
|
-
printer("Starting workflow...")
|
|
279
|
+
printer("<Waldiez> - Starting workflow...")
|
|
281
280
|
results = module.main()
|
|
282
281
|
sys.path.pop(0)
|
|
283
282
|
self._reset_env_vars(old_vars)
|
|
@@ -329,3 +328,37 @@ def in_virtualenv() -> bool:
|
|
|
329
328
|
return hasattr(sys, "real_prefix") or (
|
|
330
329
|
hasattr(sys, "base_prefix") and sys.base_prefix != sys.prefix
|
|
331
330
|
)
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
def refresh_environment() -> None:
|
|
334
|
+
"""Refresh the environment."""
|
|
335
|
+
# backup the default IOStream
|
|
336
|
+
from autogen.io import IOStream # type: ignore
|
|
337
|
+
|
|
338
|
+
default_io_stream = IOStream.get_default()
|
|
339
|
+
site.main()
|
|
340
|
+
# pylint: disable=import-outside-toplevel
|
|
341
|
+
modules_to_reload = [
|
|
342
|
+
mod for mod in sys.modules if mod.startswith("autogen")
|
|
343
|
+
]
|
|
344
|
+
for mod in modules_to_reload:
|
|
345
|
+
del sys.modules[mod]
|
|
346
|
+
import autogen
|
|
347
|
+
from autogen.io import IOStream
|
|
348
|
+
|
|
349
|
+
importlib.reload(autogen)
|
|
350
|
+
# restore the default IOStream
|
|
351
|
+
IOStream.set_global_default(default_io_stream)
|
|
352
|
+
|
|
353
|
+
|
|
354
|
+
def get_printer() -> Callable[..., None]:
|
|
355
|
+
"""Get the printer function.
|
|
356
|
+
|
|
357
|
+
Returns
|
|
358
|
+
-------
|
|
359
|
+
Callable[..., None]
|
|
360
|
+
The printer function.
|
|
361
|
+
"""
|
|
362
|
+
from autogen.io import IOStream
|
|
363
|
+
|
|
364
|
+
return IOStream.get_default().print
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|