hardwarelibrary 1.3.2__tar.gz → 1.3.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/CHANGELOG.md +21 -0
  2. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/PKG-INFO +1 -1
  3. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/cameras/camera.py +6 -6
  4. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/echodevice.py +0 -2
  5. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/sutterdevice.py +0 -2
  6. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/oscilloscope/oscilloscopedevice.py +2 -1
  7. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/__init__.py +1 -1
  8. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/base.py +5 -2
  9. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/oceaninsight.py +9 -7
  10. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/PKG-INFO +1 -1
  11. hardwarelibrary-1.3.3/hardwarelibrary.egg-info/scm_version.json +8 -0
  12. hardwarelibrary-1.3.2/hardwarelibrary.egg-info/scm_version.json +0 -8
  13. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.claude/skills/pyhardwarelibrary/SKILL.md +0 -0
  14. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.gitattributes +0 -0
  15. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.github/workflows/publish.yml +0 -0
  16. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.github/workflows/tests.yml +0 -0
  17. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.gitignore +0 -0
  18. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/.readthedocs.yaml +0 -0
  19. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/CLAUDE.md +0 -0
  20. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-1-USB.md +0 -0
  21. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-2-RS232.md +0 -0
  22. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-3-USB-Cameras.md +0 -0
  23. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-4-New-device-coding-example.md +0 -0
  24. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-5-Communication-ports.md +0 -0
  25. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-6-DebugPort.md +0 -0
  26. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README-7-Sutter-ROE-200.md +0 -0
  27. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/Am.png +0 -0
  28. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/asiZwo.png +0 -0
  29. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/automation.png +0 -0
  30. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210415195013040.png +0 -0
  31. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210415195905341.png +0 -0
  32. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210417140020797.png +0 -0
  33. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210423112830851.png +0 -0
  34. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210423112945687.png +0 -0
  35. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210423113821265.png +0 -0
  36. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/image-20210423113954823.png +0 -0
  37. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/integra.png +0 -0
  38. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/integra.png.sb-90e26077-lWIRgO +0 -0
  39. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.assets/preview.png +0 -0
  40. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/README.md +0 -0
  41. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/SCPI.md +0 -0
  42. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/Makefile +0 -0
  43. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/make.bat +0 -0
  44. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-1-USB.md +0 -0
  45. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-2-RS232.md +0 -0
  46. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-3-USB-Cameras.md +0 -0
  47. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-4-New-device-coding-example.md +0 -0
  48. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-5-Communication-ports.md +0 -0
  49. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-6-DebugPort.md +0 -0
  50. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README-7-Sutter-ROE-200.md +0 -0
  51. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/README.md +0 -0
  52. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/_static/.gitkeep +0 -0
  53. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/cameras.rst +0 -0
  54. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/communication.rst +0 -0
  55. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/core.rst +0 -0
  56. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/daq.rst +0 -0
  57. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/motion.rst +0 -0
  58. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/oscilloscope.rst +0 -0
  59. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/powermeters.rst +0 -0
  60. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/sources.rst +0 -0
  61. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/api/spectrometers.rst +0 -0
  62. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/conf.py +0 -0
  63. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/docs/source/index.rst +0 -0
  64. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/examples/1-simple/cobolt.py +0 -0
  65. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/examples/2-class/cobolt.py +0 -0
  66. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/examples/3-class+debugPort/cobolt.py +0 -0
  67. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  68. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/.idea/vcs.xml +0 -0
  69. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/.idea/workspace.xml +0 -0
  70. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/__init__.py +0 -0
  71. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/__main__.py +0 -0
  72. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/cameras/__init__.py +0 -0
  73. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/.gitignore +0 -0
  74. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/communication.iml +0 -0
  75. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/inspectionProfiles/profiles_settings.xml +0 -0
  76. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/misc.xml +0 -0
  77. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/modules.xml +0 -0
  78. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/.idea/vcs.xml +0 -0
  79. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/__init__.py +0 -0
  80. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/commands.py +0 -0
  81. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/communicationport.py +0 -0
  82. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/debugport.py +0 -0
  83. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/diagnostics.py +0 -0
  84. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/labviewtcpport.py +0 -0
  85. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/libusb/Darwin/libusb-1.0.0.dylib +0 -0
  86. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/libusb/MS32/libusb-1.0.dll +0 -0
  87. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/libusb/MS64/libusb-1.0.dll +0 -0
  88. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/serialport.py +0 -0
  89. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/tcpport.py +0 -0
  90. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/communication/usbport.py +0 -0
  91. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/daq/__init__.py +0 -0
  92. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/daq/daqdevice.py +0 -0
  93. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/daq/labjackdevice.py +0 -0
  94. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/devicecontroller.py +0 -0
  95. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/devicemanager.py +0 -0
  96. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Cobolt-owners-manual-0401-D0105-A.pdf +0 -0
  97. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Coherent_FieldMaster_GS_Manual_20199913940.pdf +0 -0
  98. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/HR2000+-OEM-Data-Sheet.pdf +0 -0
  99. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/MPC-325_OpMan.pdf +0 -0
  100. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Matisse Programmer's Guide v2.4.8.pdf +0 -0
  101. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Mightex CCD Line Camera Din8 Connector Description.pdf +0 -0
  102. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Mightex CCD Linear Camera User Manual.pdf +0 -0
  103. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Sirah-Matisse-Serial-Commands.md +0 -0
  104. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Spectra-Physics-Millennia-eV-Serial-Commands.md +0 -0
  105. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/TDS 1000B and TDS 2000B Manual.pdf +0 -0
  106. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/Tektronix TDS-1002 Programming manual.pdf +0 -0
  107. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/USB Primer.pdf +0 -0
  108. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/USB2000+-OEM-Data-Sheet.pdf +0 -0
  109. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/USB2000-OEM-Data-Sheet.pdf +0 -0
  110. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/User_Manual_Integra_V3.0.pdf +0 -0
  111. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/manuals/usb4000-oem-data-sheet.pdf +0 -0
  112. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/__init__.py +0 -0
  113. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/intellidrivedevice.py +0 -0
  114. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/linearmotiondevice.py +0 -0
  115. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/rotationdevice.py +0 -0
  116. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/motion/thorlabs.py +0 -0
  117. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/notificationcenter.py +0 -0
  118. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/oscilloscope/__init__.py +0 -0
  119. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/physicaldevice.py +0 -0
  120. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/powermeters/__init__.py +0 -0
  121. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/powermeters/capabilities.py +0 -0
  122. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/powermeters/fieldmasterdevice.py +0 -0
  123. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/powermeters/integradevice.py +0 -0
  124. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/powermeters/powermeterdevice.py +0 -0
  125. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/__init__.py +0 -0
  126. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/capabilities.py +0 -0
  127. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/cobolt.py +0 -0
  128. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/lasersourcedevice.py +0 -0
  129. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/matisse.py +0 -0
  130. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/sources/millennia.py +0 -0
  131. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/darkbulb.png +0 -0
  132. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/intelhexreader.py +0 -0
  133. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/lightbulb.png +0 -0
  134. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/stellarnet.zip +0 -0
  135. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/spectrometers/viewer.py +0 -0
  136. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/cobolt.json +0 -0
  137. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/socketclient.py +0 -0
  138. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/socketmain.py +0 -0
  139. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/testCobolt.py +0 -0
  140. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/testCoboltDevice.py +0 -0
  141. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/testCoboltSerial.py +0 -0
  142. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/testIntegraSerialPort.py +0 -0
  143. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/testJSON.py +0 -0
  144. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/deprecated/usbFinder.py +0 -0
  145. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/env.py +0 -0
  146. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testCobolt.py +0 -0
  147. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testCommandRecognition.py +0 -0
  148. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testCommunicationPorts.py +0 -0
  149. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testConnectSutter.py +0 -0
  150. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testDeviceController.py +0 -0
  151. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testDeviceManager.py +0 -0
  152. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testFieldMasterDevice.py +0 -0
  153. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testGenericSerialConverter.py +0 -0
  154. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testIntegraDevice.py +0 -0
  155. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testIntellidrive.py +0 -0
  156. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testLabjackU3.py +0 -0
  157. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testLabviewTCPPort.py +0 -0
  158. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testLaserCapabilities.py +0 -0
  159. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testLinearMotionDevice.py +0 -0
  160. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testMapPositionsFunction.py +0 -0
  161. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testMatisse.py +0 -0
  162. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testMillennia.py +0 -0
  163. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testModulePyFTDI.py +0 -0
  164. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testModulePySerial.py +0 -0
  165. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testNotificationCenter.py +0 -0
  166. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testOISpectrometer.py +0 -0
  167. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testOptotuneDevice.py +0 -0
  168. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testOscilloscope.py +0 -0
  169. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testPhysicalDevice.py +0 -0
  170. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testPyUSB.py +0 -0
  171. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testSerialHardwareFLow.py +0 -0
  172. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testSerialPortConverters.py +0 -0
  173. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testSutterDevice.py +0 -0
  174. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testSutterSerialPort.py +0 -0
  175. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testTCPPort.py +0 -0
  176. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testTableDrivenDebugPort.py +0 -0
  177. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/testThorlabs.py +0 -0
  178. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/tests/test_pylablib_kinesis.py +0 -0
  179. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary/utils.py +0 -0
  180. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/SOURCES.txt +0 -0
  181. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/dependency_links.txt +0 -0
  182. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/requires.txt +0 -0
  183. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/scm_file_list.json +0 -0
  184. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/hardwarelibrary.egg-info/top_level.txt +0 -0
  185. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/pyproject.toml +0 -0
  186. {hardwarelibrary-1.3.2 → hardwarelibrary-1.3.3}/setup.cfg +0 -0
@@ -6,6 +6,27 @@ API changes can land even when the minor version is unchanged.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.3.3] - 2026-07-08
10
+
11
+ ### Changed
12
+ - Heavy third-party modules are now imported lazily, at their point of use,
13
+ instead of at module load. `import hardwarelibrary` no longer pulls in
14
+ `matplotlib` or `numpy` (import time drops from ~336 ms to ~59 ms); they load
15
+ only when a plot is drawn or a spectrum is acquired. Affected: the
16
+ spectrometers package (`SpectraViewer` deferred into `display()`/`displayAny()`,
17
+ `numpy` into the methods that use it; `base.py` uses
18
+ `from __future__ import annotations` for its `-> np.array` hint),
19
+ `OscilloscopeDevice.displayWaveforms`, and the cameras module (`cv2`). Public
20
+ APIs are unchanged. Two behavioral notes: importing `hardwarelibrary.cameras`
21
+ no longer prints a warning when OpenCV is absent — a missing `cv2` now raises
22
+ `ModuleNotFoundError` when a camera operation is invoked; and the unused
23
+ matplotlib import block in `oceaninsight.py` was removed.
24
+
25
+ ### Removed
26
+ - Dead `from pyftdi.ftdi import Ftdi` imports in `SutterDevice` and `EchoDevice`
27
+ (both were unused and flagged `# FIXME: should not be here`). FTDI access still
28
+ goes through `SerialPort`, which owns the `pyftdi` dependency.
29
+
9
30
  ## [1.3.2] - 2026-07-07
10
31
 
11
32
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hardwarelibrary
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Cross-platform (macOS, Windows, Linux, etc...) library to control various hardware devices mostly for scientific applications.
5
5
  Author-email: Daniel Cote <dccote@cervo.ulaval.ca>
6
6
  License: MIT
@@ -4,12 +4,6 @@ from enum import Enum
4
4
  from hardwarelibrary.physicaldevice import PhysicalDevice
5
5
  from hardwarelibrary.notificationcenter import NotificationCenter, Notification
6
6
  from threading import Thread, RLock
7
- try:
8
- import cv2
9
- except Exception as err:
10
- print("No support for OpenCVcameras")
11
- pass
12
-
13
7
  import re
14
8
 
15
9
  class CameraDeviceNotification(Enum):
@@ -71,6 +65,8 @@ class CameraDevice(PhysicalDevice):
71
65
  raise RuntimeError("No monitoring loop running")
72
66
 
73
67
  def captureLoopSynchronous(self):
68
+ import cv2
69
+
74
70
  frame = None
75
71
  NotificationCenter().postNotification(notificationName=CameraDeviceNotification.didStartCapture,
76
72
  notifyingObject=self)
@@ -114,6 +110,8 @@ class OpenCVCamera(CameraDevice):
114
110
  self.cvCameraIndex = int(serialNumber)
115
111
 
116
112
  def openCVProperties(self):
113
+ import cv2
114
+
117
115
  properties = {}
118
116
  for property in dir(cv2):
119
117
  if re.search('CAP_', property) is not None:
@@ -139,6 +137,8 @@ class OpenCVCamera(CameraDevice):
139
137
  return wasAcquired
140
138
 
141
139
  def doInitializeDevice(self):
140
+ import cv2
141
+
142
142
  super().doInitializeDevice()
143
143
  with self.lock:
144
144
  # FIXME: Open the first camera we find
@@ -8,8 +8,6 @@ import re
8
8
  import time
9
9
  from struct import *
10
10
 
11
- from pyftdi.ftdi import Ftdi #FIXME: should not be here.
12
-
13
11
 
14
12
  class EchoDevice(PhysicalDevice):
15
13
  classIdProduct = 0x6001
@@ -10,8 +10,6 @@ import re
10
10
  import time
11
11
  from struct import *
12
12
 
13
- from pyftdi.ftdi import Ftdi #FIXME: should not be here.
14
-
15
13
  class SutterDevice(LinearMotionDevice):
16
14
  classIdVendor = 4930
17
15
  classIdProduct = 1
@@ -4,7 +4,6 @@ import struct
4
4
  from hardwarelibrary.communication.serialport import SerialPort
5
5
  from hardwarelibrary.physicaldevice import *
6
6
  from hardwarelibrary.notificationcenter import NotificationCenter, Notification
7
- import matplotlib.pyplot as plt
8
7
 
9
8
  class Channels(Enum):
10
9
  CH1 = "CH1"
@@ -35,6 +34,8 @@ class OscilloscopeDevice(PhysicalDevice):
35
34
  self.delay = None
36
35
 
37
36
  def displayWaveforms(self, channels=None):
37
+ import matplotlib.pyplot as plt
38
+
38
39
  if channels is None:
39
40
  channels = [Channels.CH1, Channels.CH2]
40
41
 
@@ -22,12 +22,12 @@ else:
22
22
 
23
23
  from .base import Spectrometer, getAllSubclasses
24
24
  from .oceaninsight import OISpectrometer, USB2000, USB4000, USB2000Plus, USB4000_2000Plus, USB650
25
- from .viewer import SpectraViewer
26
25
 
27
26
  def any() -> Spectrometer:
28
27
  return Spectrometer.any()
29
28
 
30
29
  def displayAny():
30
+ from .viewer import SpectraViewer
31
31
  spectrometer = Spectrometer.any()
32
32
  if spectrometer is not None:
33
33
  spectrometer.initializeDevice()
@@ -1,5 +1,6 @@
1
+ from __future__ import annotations
2
+
1
3
  import time
2
- import numpy as np
3
4
  from abc import abstractmethod
4
5
  from struct import *
5
6
  import csv
@@ -17,7 +18,6 @@ import usb.backend.libusb1
17
18
 
18
19
  from pathlib import *
19
20
  from hardwarelibrary.physicaldevice import PhysicalDevice, DeviceState
20
- from hardwarelibrary.spectrometers.viewer import *
21
21
 
22
22
  class NoSpectrometerConnected(RuntimeError):
23
23
  pass
@@ -32,6 +32,8 @@ class Spectrometer(PhysicalDevice):
32
32
  idVendor = None
33
33
  idProduct = None
34
34
  def __init__(self, serialNumber=None, idProduct:int = None, idVendor:int = None):
35
+ import numpy as np
36
+
35
37
  PhysicalDevice.__init__(self, serialNumber=serialNumber, idProduct=idProduct, idVendor=idVendor)
36
38
  self.model = ""
37
39
  self.wavelength = np.linspace(400,1000,1024)
@@ -57,6 +59,7 @@ class Spectrometer(PhysicalDevice):
57
59
  """
58
60
  if self.state != DeviceState.Ready:
59
61
  self.initializeDevice()
62
+ from hardwarelibrary.spectrometers.viewer import SpectraViewer
60
63
  viewer = SpectraViewer(spectrometer=self)
61
64
  viewer.display()
62
65
 
@@ -1,6 +1,5 @@
1
1
  try:
2
2
  import time
3
- import numpy as np
4
3
  from struct import *
5
4
  import csv
6
5
  from typing import NamedTuple
@@ -17,18 +16,12 @@ try:
17
16
  import usb.util
18
17
  import usb.backend.libusb1
19
18
 
20
- import matplotlib.backends as backends
21
- import matplotlib.pyplot as plt
22
- import matplotlib.animation as animation
23
- from matplotlib.widgets import Button, TextBox
24
-
25
19
 
26
20
  except Exception as err:
27
21
  print('** Error importing modules. {0}'.format(err))
28
22
  print('We will attempt to continue and hope for the best.')
29
23
 
30
24
  from hardwarelibrary.spectrometers.base import *
31
- from hardwarelibrary.spectrometers.viewer import *
32
25
 
33
26
  """
34
27
  This is a simple script to use an Ocean Insight USB2000 spectrometer. You can
@@ -627,6 +620,8 @@ class USB2000(OISpectrometer):
627
620
  The spectrum, in 16-bit integers corresponding to each wavelength
628
621
  available in self.wavelength.
629
622
  """
623
+ import numpy as np
624
+
630
625
  spectrum = []
631
626
 
632
627
  for packet in range(32):
@@ -726,6 +721,8 @@ class USB4000_2000Plus(OISpectrometer):
726
721
  The spectrum, in 16-bit integers corresponding to each wavelength
727
722
  available in self.wavelength.
728
723
  """
724
+ import numpy as np
725
+
729
726
  spectrum = []
730
727
 
731
728
  if not self.lastStatus.isHighSpeed:
@@ -847,6 +844,8 @@ class DebugSpectro:
847
844
  intensity:float = None
848
845
 
849
846
  def __init__(self):
847
+ import numpy as np
848
+
850
849
  self.model = "Debug - Nothing is connected"
851
850
  self.wavelength = np.linspace(400,1000,1024)
852
851
  self.integrationTime = 10
@@ -862,6 +861,8 @@ class DebugSpectro:
862
861
  return "000-000-000"
863
862
 
864
863
  def getSpectrum(self):
864
+ import numpy as np
865
+
865
866
  spectrum = []
866
867
  time = self.getIntegrationTime()
867
868
  for wavelength in self.wavelength:
@@ -880,6 +881,7 @@ class DebugSpectro:
880
881
 
881
882
  def display(self):
882
883
  """ Display the spectrum with the SpectraViewer class."""
884
+ from hardwarelibrary.spectrometers.viewer import SpectraViewer
883
885
  viewer = SpectraViewer(spectrometer=self)
884
886
  viewer.display()
885
887
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: hardwarelibrary
3
- Version: 1.3.2
3
+ Version: 1.3.3
4
4
  Summary: Cross-platform (macOS, Windows, Linux, etc...) library to control various hardware devices mostly for scientific applications.
5
5
  Author-email: Daniel Cote <dccote@cervo.ulaval.ca>
6
6
  License: MIT
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.3.3",
3
+ "distance": 0,
4
+ "node": "g01bb7217e81f978dc03e5d4b7181f4e8a002b197",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-08"
8
+ }
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "1.3.2",
3
- "distance": 0,
4
- "node": "g5d0a1c547033222aa72af252455ff6d0c7b9995d",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-07-07"
8
- }
File without changes