Skip to content

Reorganize optional dependencies by communication protocol#889

Open
rickwierenga wants to merge 1 commit intomainfrom
dependency-reorg
Open

Reorganize optional dependencies by communication protocol#889
rickwierenga wants to merge 1 commit intomainfrom
dependency-reorg

Conversation

@rickwierenga
Copy link
Member

Summary

  • Replace opaque dependency group names (fw, plate_reading, inheco, agrow) with protocol-based names (serial, usb, ftdi, hid, modbus) so users only install what they need
  • Update error messages in pylabrobot/io/*.py and agrowdosepump_backend.py to reference the new group names
  • Rewrite the installation docs extras list as a table mapping each group to its packages and use case
  • Add installation prerequisites to machine-specific doc pages (Hamilton STAR, pumps, heater-shakers, sealers, tilting, Synergy H1)

Breaking changes

  • pip install pylabrobot[fw] → use pylabrobot[usb] (USB only) or pylabrobot[serial] (serial only)
  • pip install pylabrobot[plate_reading] → use pylabrobot[ftdi]
  • pip install pylabrobot[inheco] → use pylabrobot[hid]
  • pip install pylabrobot[agrow] → use pylabrobot[modbus]

Test plan

  • Verify pip install pylabrobot[serial] installs only pyserial
  • Verify pip install pylabrobot[usb] installs pyusb + libusb-package
  • Verify pip install pylabrobot[ftdi] installs pylibftdi + pyusb
  • Verify pip install pylabrobot[dev] installs everything
  • Verify docs build without errors

🤖 Generated with Claude Code

Replace opaque group names (fw, plate_reading, inheco, agrow) with
protocol-based names (serial, usb, ftdi, hid, modbus) so users only
install what they actually need. Update error messages and docs to
reference the new group names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant