Now that we have manufacturer specific entry points (GitHub - PyLabRobot/pylabrobot at v1b1 · GitHub, Updating PLR API for machine interfaces discussion) that compose capabilities, the location where these are stored is
pylabrobot.vendor
on the current v1b1 branch. call that option 1.
The alternative (option 2) is to put devices in
pylabrobot.devices.vendor
and keep
pylabrobot.resources.vendor
(see Updating PLR API for machine interfaces discussion - #50 by vcjdeboer, Updating PLR API for machine interfaces discussion - #60 by rickwierenga)
We currently store labware definitions by vendor in pylabrobot.resources.vendor (next to pylabrobot.resources.plate etc. standard files)
I like putting vendor modules at the top level (meaning pylabrobot.hamilton, pylabrobot.corning, etc.) that houses all code for that particular vendor, with the rest of pylabrobot.X just being the universal shared code. It’s clean architecturally.
- This makes it easier to see all stuff we have for one vendor, and also makes it possible for vendors to easily just maintain a given directory if/when they start contributing more
- It keeps the
pylabrobot.resourceslibrary nice and clean and universal. - Also devices are to a certain extent labware definitions.
- Are we gonna move
ioandcapabilitiesand the rest of PLR intodevicesas well?

