Skip to content

SWE-rex Docker

SWE-rex Docker Environment class

minisweagent.environments.extra.swerex_docker

SwerexDockerEnvironmentConfig

Bases: BaseModel

image instance-attribute

image: str

cwd class-attribute instance-attribute

cwd: str = '/'

Working directory in which to execute commands.

timeout class-attribute instance-attribute

timeout: int = 30

Timeout for executing commands in the container.

deployment_extra_kwargs class-attribute instance-attribute

deployment_extra_kwargs: dict[str, Any] = {}

Extra kwargs to pass to DockerDeployment.

SwerexDockerEnvironment

SwerexDockerEnvironment(**kwargs)

This class executes bash commands in a Docker container using SWE-ReX for sandboxing.

Source code in src/minisweagent/environments/extra/swerex_docker.py
20
21
22
23
24
def __init__(self, **kwargs):
    """This class executes bash commands in a Docker container using SWE-ReX for sandboxing."""
    self.config = SwerexDockerEnvironmentConfig(**kwargs)
    self.deployment = DockerDeployment(image=self.config.image, **self.config.deployment_extra_kwargs)
    asyncio.run(self.deployment.start())

config instance-attribute

config = SwerexDockerEnvironmentConfig(**kwargs)

deployment instance-attribute

deployment = DockerDeployment(
    image=image, **(deployment_extra_kwargs)
)

execute

execute(
    command: str,
    cwd: str = "",
    *,
    timeout: int | None = None,
) -> dict[str, Any]

Execute a command in the environment and return the raw output.

Source code in src/minisweagent/environments/extra/swerex_docker.py
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
def execute(self, command: str, cwd: str = "", *, timeout: int | None = None) -> dict[str, Any]:
    """Execute a command in the environment and return the raw output."""
    output = asyncio.run(
        self.deployment.runtime.execute(
            RexCommand(
                command=command,
                shell=True,
                check=False,
                cwd=cwd or self.config.cwd,
                timeout=timeout or self.config.timeout,
                merge_output_streams=True,
            )
        )
    )
    return {
        "output": output.stdout,
        "returncode": output.exit_code,
    }

get_template_vars

get_template_vars() -> dict[str, Any]
Source code in src/minisweagent/environments/extra/swerex_docker.py
45
46
def get_template_vars(self) -> dict[str, Any]:
    return self.config.model_dump()