Thanks for the feedback. Being able to just
import slicer would be certainly nice. However, it would require development of all logic classes in a way that they work correctly both in Slicer and in any Python executable. Making everything work in an uncontrolled third-party executable would be complicated, as we would not have control over the event loop, standard in/out, environment, threads, OpenGL contexts, etc. Probably that’s why other applications that embed Python (Blender, FreeCAD, Cinema4D, etc.) allows importing of only a small feature set as Python module, and it is mostly as experimental, not officially supported.
We may provide part of Slicer core available as a Python module in the future, but for now we rather focus on providing third-party integration in other ways: by making it easy to pip install any packages (so that you can run anything inside Slicer), run external scripts (which allows reusing the same Python scripts inside and outside Slicer), use Slicer as a Jupyter kernel (which allows running Jupyter notebooks in Slicer and interact with the data in the application’s interactive GUI - all in a single process), use Slicer from a web browser, run it in a docker container, etc.