yesterday, @CamilloMoschner and I renamed all backends to end in Backend
. The original class-names still exist, but will raise a NotImplementedError with a depreciation message on initialization that has the new class name. PR: Update LiquidHandlerBackend Naming: Part 1 - Trigger Warning by BioCam · Pull Request #464 · PyLabRobot/pylabrobot · GitHub
for example:
STAR
→STARBackend
VSpin
→VSpinBackend
Cytomat
→CytomatBackend
We made this change because we will be adding resource definitions for all machines, similar to how we have resource definitions for other labware like plates and tip racks. Machine
s are Resource
s. Currently, however, we don’t really have many definitions for what those machines look like. The user has to specify the size_{x,y,z} and other attributes manually every time. You can see examples in our README: GitHub - PyLabRobot/pylabrobot: interactive & hardware agnostic SDK for lab automation.
Function definitions for the machine resources address this. We will probably give functions definitions lower-case names (Pythonic for functions), like star
, vspin
, cytomat
, etc. Implementation detail: these functions will initialize a machine with the correct backend where possible. To avoid confusion between machine definitions (initialized front end w/ backend) and the backends themselves, we have renamed all backends to explicitly say they are backends.
One other change: the backend files now end in _backend.py
. While duplicitous in some file paths, people often navigate in vscode with ctrl p and this makes that more convenient.