Contrib drivers
instro-contrib is a separate package containing drivers that have passed code review but were verified on real hardware by the contributor, not by Nominal. They typically come from one of two sources:
- Community contributions: drivers submitted by users who own the hardware and tested locally.
- Staff drops: drivers Nominal has written for a device it doesn’t have on hand.
instro-contrib, that means: it type-checks, it has a unit test against a mocked transport, and a Nominal reviewer has read it. It does not mean Nominal has personally run it on the device.
Install
instro-contrib is published on PyPI and installed via the contrib extra:
all extra. See Installation for the full list of extras.
Import path
Contrib drivers live underinstro.contrib.<category>.drivers.<driver_module>:
InstroPSU, InstroDMM, etc.) is always imported from core instro. Only the concrete driver lives in instro.contrib.
Stability expectations
- API may change between releases. A contrib driver’s constructor or behavior may be revised based on user feedback or graduation. Pin to a specific commit if you need a frozen target.
- No regression verification by Nominal. A core dependency change (e.g. a
VisaDriverrefactor) might break a contrib driver between releases. The smoke test catches import-level breaks. Behavioral breaks may not surface until you run it. - Bugs are accepted as PRs. If you hit a problem with a contrib driver, the fastest path to a fix is usually contributing one: the original author may not be reachable.
Available drivers
This is the complete set ofinstro-contrib drivers as of the current release.
Matrix WPS300S-series PSU
Class:MatrixWPS300SImport:
from instro.contrib.psu.drivers import MatrixWPS300STested against: WPS300S-150-5 (0–150 V, 0–5 A, 300 W)
Protocol: SCPI over RS-232, 9600 baud 8-N-1 Drivers should be added to this list as part of the merge which brings them into the main branch. For pre-release drivers browse
packages/instro-contrib/instro/contrib/ or this file in the source GitHub repository.
Graduation to core
When Nominal acquires the hardware and can verify the driver directly, it moves into coreinstro. The import path drops .contrib:
CHANGELOG.md. The old instro.contrib import path is a hard cutover. There is no compatibility shim: old code stays broken until the import is updated.
For one release after the graduation, a stub at the old path raises an ImportError that names the destination:
ImportError.
Contributing a driver
See the Contrib Package section ofCONTRIBUTING.md for the contribution bar and review process.