I am currently developing a python module, say my_package, which contains some image processing algorithms. It contains a setup.py for a convenient installation. Now I want to add a gui to the package so that users can try the algorithms and play with parameters. The gui will use Qt from the PySide2 package. Are there best practices for the package / directory structure for modules with both algorithms and gui?
At first I wanted to create submodules my_package.core and my_package.gui. However, since users can only install my_package as a whole, this will add the PySide2 dependency to all users, even if they just want to use the algorithms without the gui. Is it better if I create two separate packages my_package and my_package_gui, both with their own setup.py? Or will this be confusing?