v0.5.0 — Type Hints, Async Support & Regression Tests
What's Changed
Type Hints (Closes #108)
- Added return type annotations and parameter type hints to all 14 driver modules (900+ methods)
- Covers
InstrumentDriver,Multimeter,PowerSupply,SpectrumAnalyzer,NetworkAnalyzer,Oscilloscope,SignalGenerator,FunctionGenerator,ElectronicLoad,FrequencyCounterand all concrete implementations
Async / Await Support (Closes #107)
- New
AsyncInstrumentDriver+ type-specific wrappers (AsyncMultimeter,AsyncPowerSupply,AsyncSpectrumAnalyzer,AsyncNetworkAnalyzer,AsyncOscilloscope,AsyncSignalGenerator,AsyncFunctionGenerator,AsyncElectronicLoad,AsyncFrequencyCounter) wrap_async(driver)factory — automatically picks the most specific async wrapperasync withcontext manager support- Parallel measurements via
asyncio.gather() - Backward compatible with existing
driver.async_*()dynamic wrapper
Regression Test Suite
- 43 new regression tests covering driver basics,
MeasurementResultcontract, safety guardrails, simulated physics, type hint completeness, async wrapper, factory, and registry - 242 tests total (up from 199)
Good First Issue Skeletons
- 5 new skeleton functions in
transport.pyandscanner.pyfor contributor onboarding:
Other
- Version bumped to 0.5.0
- Release notes updated
Full Changelog: v0.4.2...v0.5.0