Environment classes
We support various environments for executing code through different backends.
If you run mini, you will run in the local environment by default.
However, particularly for evaluating on SWE-bench, we offer multiple environment backends that you can use.
You can specify the environment class with the --environment-class flag or the
environment.environment_class key in the agent config file.
-
local(LocalEnvironment). Executes commands directly on the host machine usingsubprocess.run. No isolation. Directly works in your current python environment. -
docker(DockerEnvironment). Executes commands withdocker exec. -
singularity(SingularityEnvironment) - Executes commands in Singularity/Apptainer containers. Good alternative to Docker in HPC environments where Docker is not available.
On top, there are a few more specialized environment classes that you can use:
-
swerex_docker(SwerexDockerEnvironment) - Docker execution through SWE-ReX -
bubblewrap(BubblewrapEnvironment) - Linux only. Uses bubblewrap for lightweight, unprivileged sandboxing. Experimental.