Describe the feature
In the current codebase, communicate and read methods are part of the environment submodule. This increases the complexity of the environment codebase and limits extensibility when supporting different types of containers.
The proposal is to move the containerization logic to a new module and provide abstract implementations for new container types. It is also worth exploring the use of SWE-Rex, although it is unclear whether they support GPU passthrough.
Potential Solutions
One potential solution:
- Create a
containers module in mlgym package.
- Move
communicate, communicate_with_handling, read_with_timeout, interrupt, and other communication-related functions to the new containers module.
- If possible, create an abstraction for adding new containers.
Describe the feature
In the current codebase,
communicateandreadmethods are part of the environment submodule. This increases the complexity of the environment codebase and limits extensibility when supporting different types of containers.The proposal is to move the containerization logic to a new module and provide abstract implementations for new container types. It is also worth exploring the use of SWE-Rex, although it is unclear whether they support GPU passthrough.
Potential Solutions
One potential solution:
containersmodule inmlgympackage.communicate,communicate_with_handling,read_with_timeout,interrupt, and other communication-related functions to the newcontainersmodule.