PythonREPL#

class langchain_experimental.utilities.python.PythonREPL[source]#

Bases: BaseModel

Simulates a standalone Python REPL.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

param globals: Dict | None [Optional] (alias '_globals')#
param locals: Dict | None [Optional] (alias '_locals')#
run(command: str, timeout: int | None = None) str[source]#

Run command with own globals/locals and returns anything printed. Timeout after the specified number of seconds.

Parameters:
  • command (str)

  • timeout (int | None)

Return type:

str

static sanitize_input(query: str) str[source]#

Sanitize input to the python REPL.

Remove whitespace, backtick & python (if llm mistakes python console as terminal)

Parameters:

query (str) – The query to sanitize

Returns:

The sanitized query

Return type:

str

classmethod worker(command: str, globals: Dict | None, locals: Dict | None, queue: Queue) None[source]#
Parameters:
  • command (str)

  • globals (Dict | None)

  • locals (Dict | None)

  • queue (Queue)

Return type:

None

Examples using PythonREPL