• Hunter Hansen's avatar
    Converts container.sh into Python utilities (#539) · f565c33d
    Hunter Hansen authored
    This PR replicates the capabilities of `container.sh` in Python, and
    breaks its capabilities up into several files under a new directory
    `/docker/isaaclab_container_utils`, as well as a superior interface in
    `container.py`. The intention of this change is to make our
    container-mediating code more easily readable, debuggable, and
    modifiable. It is also done in the hopes that it can be more easily
    distributed as we see a desire from users to [compose and modify our
    setup](https://github.com/isaac-sim/IsaacLab/pull/455). It also has the
    additional benefit of needing fewer sudo installs because of Python's
    native yaml handling.
    
    The central class, `IsaacLabContainerInterface`, contains a lot of the
    original utility of the script, and several of the current
    `container.py` scripts options simply configure it and call a method.
    @pascal-roth `apptainer_utils.py` and the `./container.py job/push`
    logic are separated out, I'm curious what you think of this delineation.
    I also haven't been able to fully test that end of things as I don't
    have a cluster to use, though I did verify that it worked to the extent
    I could.
    
    I will update the docs when I have received approval
    
    <!-- As you go through the list, delete the ones that are not
    applicable. -->
    
    - Breaking change (fix or feature that would cause existing
    functionality to not work as expected)
    - This change requires a documentation update
    
    - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
    `./isaaclab.sh --format`
    - [x] I have made corresponding changes to the documentation
    - [x] My changes generate no new warnings
    - [ ] I have added tests that prove my fix is effective or that my
    feature works
    - [ ] I have run all the tests with `./isaaclab.sh --test` and they pass
    - [ ] I have updated the changelog and the corresponding version in the
    extension's `config/extension.toml` file
    - [x] I have added my name to the `CONTRIBUTORS.md` or my name already
    exists there
    
    ---------
    Signed-off-by: 's avatarHunter Hansen <50837800+hhansen-bdai@users.noreply.github.com>
    Signed-off-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
    Co-authored-by: 's avatarJames Smith <142246516+jsmith-bdai@users.noreply.github.com>
    Co-authored-by: 's avatarDavid Hoeller <dhoeller@nvidia.com>
    f565c33d
Name
Last commit
Last update
.github Loading commit data...
.vscode Loading commit data...
docker Loading commit data...
docs Loading commit data...
source Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.flake8 Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.pre-commit-config.yaml Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS.md Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
VERSION Loading commit data...
isaaclab.bat Loading commit data...
isaaclab.sh Loading commit data...
pyproject.toml Loading commit data...