Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Python interface module for Ocean Optics spectrometers. This software is not associated with Ocean Optics. Use it at your own risk.
Python-seabreeze is the easy way to access your Ocean Optics spectrometers from python. It wraps the SeaBreeze library provided by Ocean Optics to communicate with the spectrometer. It also provides a pyUSB based reimplementation of SeaBreeze for easy extension. This software is not associated with Ocean Optics. Use it at your own risk.
You'll find the documentation and more detailed information here https://python-seabreeze.readthedocs.io/en/latest/
The changelog can be found here CHANGELOG.md
# via pypi
pip install seabreeze
seabreeze_os_setup
or
# via conda
conda install -c conda-forge seabreeze
seabreeze_os_setup
The backend pyseabreeze requires the libraries pyusb and libusb
# via pypi
pip install seabreeze[pyseabreeze] # this ensures installation of pyusb
Additionally, you might need to manually install libusb1. Go here https://libusb.info/, Downloads -> Latest Windows Binaries. In the zip file, enter either the folder MinGW64/dll or MinGW32/dll (depending on your OS). Copy the file libusb-1.0.dll
into C:\Windows\System32
.
The following example shows how simple it is to acquire a spectrum with python-seabreeze through the model independent Spectrometer class. For a more detailed description read the documentation:
>>> from seabreeze.spectrometers import Spectrometer
>>> spec = Spectrometer.from_first_available()
>>> spec.integration_time_micros(20000)
>>> spec.wavelengths()
array([ 340.32581 , 340.70321186, 341.08058305, ..., 1024.84940994,
1025.1300678 , 1025.4106617 ])
>>> spec.intensities()
array([ 1.58187931e+01, 2.66704852e+04, 6.80208103e+02, ...,
6.53090172e+02, 6.35011552e+02, 6.71168793e+02])
To use the pyseabreeze backend (requires pyusb
) simply run this before importing seabreeze.spectrometers
.
>>> import seabreeze
>>> seabreeze.use('pyseabreeze')
>>> import seabreeze.spectrometers as sb
Spectrometer | cseabreeze | pyseabreeze (usb) | pyseabreeze (ethernet) |
---|---|---|---|
HR2000 | x | x | |
HR2000PLUS | x | x | |
HR4000 | x | x | |
JAZ | x | x | |
MAYA2000 | x | x | |
MAYA2000PRO | x | x | |
MAYALSL | x | x | |
NIRQUEST256 | x | x | |
NIRQUEST512 | x | x | |
QE65000 | x | x | |
QE-PRO | x | x | |
STS | x | x | |
TORUS | x | x | |
USB2000 | x | x | |
USB2000PLUS | x | x | |
USB4000 | x | x | |
USB650 | Issue #47 | ||
SPARK | x | x | |
ADC1000 | x | ||
HDX | Issue #133 | x | |
HR2 | x | ||
HR4 | x | ||
HR6 | x | ||
SR2 | x | ||
SR4 | x | ||
SR6 | x | ||
ST-VIS | x |
This functionality is currently implemented for the HDX with the pyseabreeze backend. The following example shows how to read a spectrum via ethernet:
>>> import seabreeze
... from seabreeze.spectrometers import Spectrometer
...
... seabreeze.use("pyseabreeze", network_adapter="192.168.254.200")
>>>
>>> spec = Spectrometer.from_serial_number("HDX12345")
>>> spec.intensities()
array([1967.07287765, 1325.69702018, 1418.40732539, ..., 1398.4680335 ,
1406.44364585, 1397.47109175])
Data transfer error
due to old firmware Issue #48If you run into any problems, file an issue and be sure to include the following in your report:
If you want a feature implemented, please file an issue, or create a pull request when you implement it yourself. And if you would like to support me via paypal, click on the paypal donate button on top of this README.
Files in this repository are released under the MIT license.
If you want me to add your project here, let me know. Happy to add it.
FAQs
Python interface module for Ocean Optics spectrometers. This software is not associated with Ocean Optics. Use it at your own risk.
We found that seabreeze demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers 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.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.