You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Structure of the qdl-utils repository is disorganized which complicates understanding and slows further development.
Current repository structure is:
qt3utils/
hardware_type_1/
hardware_type_2/
... [I.e. a list of various hardware types...]
applications/
controllers/
[Random hardware controllers and YAML config files]
application_1/
[source code of various types]
application_2/
datagenerators/
spectrometers/
[Various application controllers]
experiments/
[Source code for epxeriments]
In this structure the main level of the repository is cluttered with various hardware types which are mixed in with other non-hardware subdirectories. Low-level hardware controllers are scattered throughout different parts of the repository due to conflation of the qt3utils.applications.controllers directory and the various hardware specific levels in qt3utils.hardware_type_X.
This will need to be discussed before committing to a final revised structure but I propose doing something along the lines of
qt3utils/
hardware/
hardware_type_1/ # e.g. `spectrometers` or `nidaq`
[Classes for interfacing directly with the specific hardware
of type 1 (e.g. `andor` or `princeton`)]
hardware_type_2/
...
...
applications/
application_1/
config/
[YAML config files, these are generally not shared between
applications anyway?]
[Source code files, possibly further separated into sub-directories
e.g. `application_1/gui` and `application/controller` if complex?]
main.py # What actually launches the application
application_2/
...
experiments/
[Source code for epxeriments]
With this structure, the low-level hardware controllers are separated and can be accessed straightforwardly by reference such as qt3utils.hardware.spectrometers.andor. Furthermore, this would completely separate specific applications and their components with hardware-specific code that is shared amongst different applications and experiments.
The text was updated successfully, but these errors were encountered:
After our discussion today, I will move forward with this reorganization process, more or less as described above. I might be able to update the name of the package as well to qdlutils in addition to cleaning up some of the existing code.
The aim of this process will be to rename and reorganize most of the base code. The first pull request will be after the names are changed.
Structure of the
qdl-utils
repository is disorganized which complicates understanding and slows further development.Current repository structure is:
In this structure the main level of the repository is cluttered with various hardware types which are mixed in with other non-hardware subdirectories. Low-level hardware controllers are scattered throughout different parts of the repository due to conflation of the
qt3utils.applications.controllers
directory and the various hardware specific levels inqt3utils.hardware_type_X
.This will need to be discussed before committing to a final revised structure but I propose doing something along the lines of
With this structure, the low-level hardware controllers are separated and can be accessed straightforwardly by reference such as
qt3utils.hardware.spectrometers.andor
. Furthermore, this would completely separate specific applications and their components with hardware-specific code that is shared amongst different applications and experiments.The text was updated successfully, but these errors were encountered: