diff --git a/python/packages/autogen-ext/src/autogen_ext/code_executors/jupyter/_jupyter_code_executor.py b/python/packages/autogen-ext/src/autogen_ext/code_executors/jupyter/_jupyter_code_executor.py index 2476b5a3349f..50f2e786b981 100644 --- a/python/packages/autogen-ext/src/autogen_ext/code_executors/jupyter/_jupyter_code_executor.py +++ b/python/packages/autogen-ext/src/autogen_ext/code_executors/jupyter/_jupyter_code_executor.py @@ -145,11 +145,13 @@ def __init__( if timeout < 1: raise ValueError("Timeout must be greater than or equal to 1.") - self._output_dir: Path = Path(tempfile.mkdtemp()) if output_dir is None else Path(output_dir) - self._output_dir.mkdir(exist_ok=True, parents=True) - self._temp_dir: Optional[tempfile.TemporaryDirectory[str]] = None - self._temp_dir_path: Optional[Path] = None + if output_dir is None: + self._temp_dir = tempfile.TemporaryDirectory() + self._output_dir = Path(self._temp_dir.name) + else: + self._output_dir = Path(output_dir) + self._output_dir.mkdir(exist_ok=True, parents=True) self._started = False @@ -308,6 +310,10 @@ async def stop(self) -> None: self._client = None self._started = False + if self._temp_dir is not None: + self._temp_dir.cleanup() + self._temp_dir = None + def _to_config(self) -> JupyterCodeExecutorConfig: """Convert current instance to config object""" return JupyterCodeExecutorConfig(