Instro architecture
A typed Python API for driving lab instruments — power supplies, meters, loads, DAQs, and scopes.
What is Instro?
Instro is a Python library for talking to test instrumentation through one typed API. Power supplies, multimeters, electronic loads, DAQs, oscilloscopes, and PLCs are all driven with the same construct, configure, and measure pattern, with vendor differences pushed down into drivers.
A unified API across that many instrument families only works if the abstraction is right, which makes the layering the interesting part. What does the hardware abstraction layer actually require of a driver? How are instrument categories kept separate from the buses they talk over? Where does a vendor-specific package plug in without touching the core?
The map on this page is JigsawML's read of the Instro repository. It groups the library into the eight areas below, showing how the abstraction layer sits above the instrument categories and the bus protocols beneath them.
Key components in the Instro architecture
JigsawML identified and labelled these components automatically by analysing the Instro repository. Open the interactive map to expand any of them and read the underlying code.
HAL Lib
The hardware abstraction layer every instrument driver implements against.
Power Load
Support for power supplies and electronic loads.
Measurement Categories
Instrument families that measure — multimeters, oscilloscopes, and similar.
DAQ Category
Data-acquisition devices and the channel handling they require.
Bus Industrial
Transports such as SCPI over TCP, serial buses, and PLC protocols.
Extension Packages
Optional vendor driver packages installed alongside the core library.
Documentation Examples
The documentation site sources and runnable example scripts.
External Services
Instrument endpoints and the Nominal platform data can be published to.
Explore the Instro architecture map
The map is live and interactive - pan, zoom, drill into a component, and ask questions about how Instro fits together. No login required.
Open the Instro mapHow this map was generated
JigsawML ingested the public repository, resolved its dependencies, and grouped the code into architectural components using AI agents and a knowledge graph. Nothing here was drawn by hand. The same process runs against private repositories and cloud accounts, and re-runs on every commit so the map never goes stale.
Map your own codebaseOther open-source architectures
- Axios architecturePromise-based HTTP client for the browser and node.js
- Flask architectureThe Python micro framework for building web applications
- Hono architectureAn ultrafast web framework built on Web Standards
- Nanoclaw architectureA personal AI agent which runs securely in containers
- Nemoclaw architectureA reference stack for running OpenClaw in OpenShell
- OpenClaw architectureA self-hosted gateway that connects chat apps to AI coding agents
- OpenHands architectureA self-hosted developer control center for coding agents and automations
- Pydantic architectureData validation library for Python
- Pyramid architectureThe Start Small, Finish Big, Stay Finished Framework
- Zod architectureA TypeScript-first validation library