Some options (not mutually exclusive):
- Wrappers around manufacturer API / protocols
a. One package per wrapper
b. One package per "device type" (e.g. all camera wrappers in one package)
c. One package with all wrappers
- High-level ABCs defining standard device interfaces
a. One package per abstract "device type"
b. One package with all ABCs
- ABC implementations for each device type
a. In the same location as (1)
b. In the same location as (2)
c. In their own packages
Some options (not mutually exclusive):
a. One package per wrapper
b. One package per "device type" (e.g. all camera wrappers in one package)
c. One package with all wrappers
a. One package per abstract "device type"
b. One package with all ABCs
a. In the same location as (1)
b. In the same location as (2)
c. In their own packages