Instro: An open-source Python library for interfacing with hardware test equipment
Every instrument vendor ships its own SDK, its own SCPI quirks, and its own idea of what "set voltage" means. Test code ends up welded to whatever hardware sat on the bench that day, and gets rewritten when a lab swaps a supply or a scope.
Instro is an open-source Python library that puts one typed API in front of power supplies, DAQs, multimeters, oscilloscopes, and arbitrary waveform generators. Write the test once, swap the driver, and your code stays put.
This is a demo-driven talk. We drive a power supply live using Instro's built-in simulator, so nothing depends on hardware in the room, then write a driver for an unsupported instrument and cover the design decisions behind the abstraction, including where it deliberately stops. We won't cover measurement theory or vendor SCPI reference.
For engineers, scientists, and Python developers who automate benchtop hardware, or anyone designing a device abstraction layer. You should be comfortable with Python classes and type hints; no instrumentation background needed.
You'll leave with a mental model for hardware abstraction, a pattern for testing instrument code without instruments, and enough to contribute a driver yourself.
Instro is an open-source Python library that puts one typed API in front of power supplies, DAQs, multimeters, oscilloscopes, and more.
Write your test once, swap the driver, and your code stays put. We drive a power supply live using the built-in simulator, no hardware required, and show how to add your own.