Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Collection of I/O interfaces to communicate with microcontroller boards and laboratory devices, with optional PyQt/PySide multithread support and graphical user-interfaces.
|pypi| |python| |readthedocs| |black| |license|
.. |pypi| image:: https://img.shields.io/pypi/v/dvg-devices :target: https://pypi.org/project/dvg-devices .. |python| image:: https://img.shields.io/pypi/pyversions/dvg-devices :target: https://pypi.org/project/dvg-devices .. |readthedocs| image:: https://readthedocs.org/projects/python-dvg-devices/badge/?version=latest :target: https://python-dvg-devices.readthedocs.io/en/latest/?badge=latest .. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg :target: https://github.com/psf/black .. |license| image:: https://img.shields.io/badge/License-MIT-purple.svg :target: https://github.com/Dennis-van-Gils/python-dvg-devices/blob/master/LICENSE.txt
Collection of I/O interfaces to communicate with microcontroller boards and laboratory devices, with optional PyQt/PySide multithread support and graphical user-interfaces.
Supports PyQt5, PyQt6, PySide2 and PySide6.
Installation::
pip install dvg-devices
To be able to run the several provided graphical user-interfaces, one has to
install an additional Qt-library. This can be either PyQt5, PyQt6, PySide2 or
PySide6. Pick one. My personal recommendation is PyQt5 for Python <= 3.7
,
and PySide6 for Python >= 3.8
::
pip install pyqt5
pip install pyqt6
pip install pyside2
pip install pyside6
If you wish to interface with an GPIB device you need to additionally install a Visa backend. See https://pyvisa.readthedocs.io/en/latest/introduction/getting.html
======================= ==============================
Arduino, or similar Microcontroller board
Aim TTi QL series II Power supply
Bronkhorst EL-FLOW Mass flow controller
Julabo circulator Recirculating bath
Keysight 3497xA Digital multimeter
Keysight N8700 Power supply
Novanta IMS MDrive Stepper motor controller
Parker Compax3 Servo controller
Picotech PT104 Temperature logger
PolyScience PD Recirculating bath
ThermoFisher ThermoFlex Chiller
Xylem Hydrovar HVL Variable speed pump controller
======================= ==============================
Class SerialDevice()
offering higher-level general I/O methods for
a serial device, such as auto_connect()
, write()
and query()
.
Class Arduino()
which wraps around SerialDevice()
. In combination with
DvG_StreamCommand <https://github.com/Dennis-van-Gils/DvG_StreamCommand>
_ it
allows for automatically connecting to your Arduino(-like) device and for easy
serial I/O communication.
Separate PyQt/PySide interfaces are provided for each of these devices,
offering out-of-the-box multithreaded data acquisition and communication. It
relies on DvG_QDeviceIO <https://python-dvg-qdeviceio.readthedocs.io>
_.
Ready-to-run PyQt/PySide demos to directly control many of the supported devices with a graphical user-interface.
qtpy
still expects
app.exec_()
instead of app.exec()
. That got fixed in the qtpy
version
for Python >= 3.7.Major clean-up and streamlining:
qtpy
library instead of my own Qt5/6 mechanismqdev
arguments to MainWindow
nowNew devices added:
BaseDevice.SerialDevice.query_bytes()
BaseDevice.SerialDevice
BaseDevice.SerialDevice.readline()
Julabo_circulator_qdev.py
pyserial~= 3.4
Aim_TTi_PSU_protocol_RS232
where
the power supply occasionally will skew the serial input and output stream,
such that the reply matches the second-previous query statement. Fixed by
forcefully flushing the serial input and output buffers whenever a wrong reply
is received. Hopefully, this will fix the skew when the next query()
operation gets executed.BaseDevice.query_ascii()
. The use of ast.literal_eval
got
removed because it chokes on nan
. Everything is now interpreted as a
float
instead.dvg-pyqt-controls
dvg-pyqt-filelogger
dvg-pyqt-controls~=1.0
dvg-pyqt-filelogger~=1.0
dvg-pyqtgraph-threadsafe~=3.0
BaseDevice.py
where inspect.getouterframes()
would
momentarily suspend the thread. Solved by ditching inspect. The new
ID_validation_query
mechanism now relies on a simple boolean flag that
gets set to force query()
to raise on timeout.dvg-qdeviceio==0.3.0
dvg-qdeviceio==0.2.2
BaseDevice.SerialDevice()
dvg-qdeviceio==0.2.1
dvg-qdeviceio==0.2.0
Enum DAQ_trigger
is now called DAQ_TRIGGER
dvg-qdeviceio==0.1.2
DvG_QDeviceIO
FAQs
Collection of I/O interfaces to communicate with microcontroller boards and laboratory devices, with optional PyQt/PySide multithread support and graphical user-interfaces.
We found that dvg-devices demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.