Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pyvicp

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pyvicp

LeCroy VICP protocol in pure Python

  • 1.1.0
  • PyPI
  • Socket score

Maintainers
1

pyvicp

Pure Python client-side implementation of VICP network communications protocol used to control LeCroy Digital Oscilloscopes (DSOs)

Why is it licensed with LGPL2.1?

This package is a Python rewrite of the LeCroyVICP Client Library, which was written in C++. That project can be found at https://sourceforge.net/projects/lecroyvicp/.

Because that project was licensed with LGPL2.1 and this is considered a derived work, it's not possible to release this package with a less restrictive license. Sorry.

Comparison with C++ version

In comparison with the C++ version, the Python version is ~500 lines of code smaller. Because the Python version will raise an exception whenever an error condition is detected, the error handling is cleaner and more robust than the C++ version (which returns False on error and depends on the caller to check the return value).

The performance of the Python version is on par with the C++ version. This is accomplished by using the low level socket interface and eliminating unnecessary data copies.

An additional benefit of the Python version is that it's platform independent. The C++ version as released only ran on Windows and required modifications to run on any other OS.

Installation

$ pip install pyvicp

Usage

It's expected that this package won't be invoked directly, but rather will be used with the pyvisa package. Because this package uses the more restrictive LGPL2.1 license, it can't be bundled with the pyvisa package (which uses the more permissive MIT license).

Below is an example of the low level interface provided by this package:

In [1]: from pyvicp import Client
   ...: scope = Client("10.11.12.42")
   ...: scope.send(b"*idn?")
   ...: scope.receive()
Out[1]: bytearray(b'LECROY,WR8208HD,LCRY5003N60179,9.8.0\n')

Keywords

FAQs


Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc