Instead of relying on the recursive import of import_packages() in lab_tasks extension make a registry module that imports environments and registers them. Users should build environments anywhere but would register them all in the same file rather than in various places throughout the extension.
Motivation
By relying on recursive imports through the top level init.py it's not possible to import individual modules from the lab_tasks extension. For instance, if I want to extend an environment in my own extension I have to import the entire lab_tasks extension rather than the specific pieces I need.
Alternatives
Add registry.py top level module that does the recursive import (and modify that logic) so we can move imports out of init.py
Checklist
[X] I have checked that there is no similar issue in the repo (required)
Acceptance Criteria
[ ] Individual modules can be imported from the lab_tasks extension without importing all extension dependencies.
[ ] Individual modules can be imported from the lab_tasks extension without registering all environments with gym.
Proposal
Instead of relying on the recursive import of import_packages() in lab_tasks extension make a registry module that imports environments and registers them. Users should build environments anywhere but would register them all in the same file rather than in various places throughout the extension.
Motivation
By relying on recursive imports through the top level init.py it's not possible to import individual modules from the lab_tasks extension. For instance, if I want to extend an environment in my own extension I have to import the entire lab_tasks extension rather than the specific pieces I need.
Alternatives
Checklist
Acceptance Criteria