There should be a small number of top level modules that are exposed to the library user. All of the IBL methods should be inside an ibl.py with the implementations in hidden _*.py files. This will allow the large modules to be split up into smaller, more manageable lengths. Every current top level module could use this.
The main problem with this is that the current sphinx workflow will show the modules belonging to _*.py and not the module exposed to the external users. This will probably require some hand coding of the rst files that are currently autogenerated into the _autosummary directory.
There should be a small number of top level modules that are exposed to the library user. All of the IBL methods should be inside an ibl.py with the implementations in hidden
_*.pyfiles. This will allow the large modules to be split up into smaller, more manageable lengths. Every current top level module could use this.The main problem with this is that the current sphinx workflow will show the modules belonging to
_*.pyand not the module exposed to the external users. This will probably require some hand coding of the rst files that are currently autogenerated into the_autosummarydirectory.