|
1 | 1 | import logging |
2 | 2 | import httpx |
3 | 3 |
|
4 | | -from typing import Optional, Dict, overload, Literal, Union, List |
| 4 | +from typing import Optional, Dict, overload, Union, List |
5 | 5 | from httpx import Client |
6 | 6 | from e2b import Sandbox as BaseSandbox, InvalidArgumentException |
7 | 7 |
|
|
13 | 13 | from e2b_code_interpreter.models import ( |
14 | 14 | ExecutionError, |
15 | 15 | Execution, |
| 16 | + RunCodeLanguage, |
16 | 17 | Context, |
17 | 18 | Result, |
18 | 19 | extract_exception, |
@@ -65,41 +66,7 @@ def _client(self) -> Client: |
65 | 66 | def run_code( |
66 | 67 | self, |
67 | 68 | code: str, |
68 | | - language: Union[Literal["python"], None] = None, |
69 | | - on_stdout: Optional[OutputHandler[OutputMessage]] = None, |
70 | | - on_stderr: Optional[OutputHandler[OutputMessage]] = None, |
71 | | - on_result: Optional[OutputHandler[Result]] = None, |
72 | | - on_error: Optional[OutputHandler[ExecutionError]] = None, |
73 | | - envs: Optional[Dict[str, str]] = None, |
74 | | - timeout: Optional[float] = None, |
75 | | - request_timeout: Optional[float] = None, |
76 | | - ) -> Execution: |
77 | | - """ |
78 | | - Runs the code as Python. |
79 | | -
|
80 | | - Specify the `language` or `context` option to run the code as a different language or in a different `Context`. |
81 | | -
|
82 | | - You can reference previously defined variables, imports, and functions in the code. |
83 | | -
|
84 | | - :param code: Code to execute |
85 | | - :param language: Language to use for code execution. If not defined, the default Python context is used. |
86 | | - :param on_stdout: Callback for stdout messages |
87 | | - :param on_stderr: Callback for stderr messages |
88 | | - :param on_result: Callback for the `Result` object |
89 | | - :param on_error: Callback for the `ExecutionError` object |
90 | | - :param envs: Custom environment variables |
91 | | - :param timeout: Timeout for the code execution in **seconds** |
92 | | - :param request_timeout: Timeout for the request in **seconds** |
93 | | -
|
94 | | - :return: `Execution` result object |
95 | | - """ |
96 | | - ... |
97 | | - |
98 | | - @overload |
99 | | - def run_code( |
100 | | - self, |
101 | | - code: str, |
102 | | - language: Optional[str] = None, |
| 69 | + language: Optional[RunCodeLanguage] = None, |
103 | 70 | on_stdout: Optional[OutputHandler[OutputMessage]] = None, |
104 | 71 | on_stderr: Optional[OutputHandler[OutputMessage]] = None, |
105 | 72 | on_result: Optional[OutputHandler[Result]] = None, |
@@ -232,7 +199,7 @@ def run_code( |
232 | 199 | def create_code_context( |
233 | 200 | self, |
234 | 201 | cwd: Optional[str] = None, |
235 | | - language: Optional[str] = None, |
| 202 | + language: Optional[RunCodeLanguage] = None, |
236 | 203 | request_timeout: Optional[float] = None, |
237 | 204 | ) -> Context: |
238 | 205 | """ |
|
0 commit comments