bapsf_motion
is a module developed for the
Basic Plasma Facility (BaPSF) at the
University of California, Los Angeles to integrate with its DAQ system
and control motion devices, such as probe drives.
This package uses PySide6
to develop its GUI interface. In attempts
to keep the code pythonic, we are using the feature
from __feature__ import snake_case
.
This will allow us to write code like QMainWindow.set_window_title()
instead of QMainWindow.setWindowTitle()
. To get a module set up the
__feature__
import must occur after the first PySide6
import, for
example:
from PySide6.QtWidgets import QMainWindow
from __feature__ import snake_case # noqa
Note the # noqa
, this is needed to prevent linters and code inspection
from complaining about the import order.
When this is first implement your linters and code inspection will
likely complain with unresolved instances. This is because the
Python stub files
(i.e. .pyi
files) were generated without this feature enabled. To
update your stub files follow the procedure below:
-
Determine where
PySide6
is installed. This can be done by executingpython -m pip show pyside6
in the command prompt. This show be thesite-packages
directory for you Python distribution. -
Navigate to the directory indicated by step 1.
-
Navigate into the
PySide6/
directory. -
Now execute the following command in your command prompt:
pyside6-genpyi all --feature snake_case
This will update all the stub files accordingly, and should only take a few seconds.