pcdshub / lightpath

LCLS Lightpath Module
https://pcdshub.github.io/lightpath
Other
4 stars 9 forks source link

Consider splitting into two independently installable packages #180

Open ZLLentz opened 1 year ago

ZLLentz commented 1 year ago

Expected Behavior

It would be nice for testing/CI and maybe even some applications to be able to build with a lightpath dependency for the dataclasses and internals but not need to include pydm or pyqt because the UI isn't going to be used.

It's not clear to me that this is worth the effort but I thought it would be an interesting thing to propose:

Current Behavior

One big installable package, gui and logic

Possible Solution

I'm not actually sure the best way to accomplish something like this, maybe look to other packages for inspiration.

Context

A lot of our CI python 3.11 builds fail on environment creation due to an inclusion of pydm/pyqt even though these aren't tested in those builds.

ZLLentz commented 1 year ago

Currently, only the ui submodule and main.py import qt-related dependencies.

tangkong commented 1 year ago

I think we can look to matplotlib for inspiration here. They have a matplotlib-base and matplotlib package that adds pyqt as a dependency.

on the pip side ... I'm not exactly sure what happens yet. I imagine we can continue using the pip extras stuff we recently started adding