Skip to main content

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')

Metadata

Release files for pyvicp 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvicp 1.1.0
File Size Uploaded
pyvicp-1.1.0.tar.gz 22.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyvicp 1.1.0
File Interpreter ABI Platform
pyvicp-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 44.9 kB

Release files / pyvicp-1.1.0.tar.gz

Download URL pyvicp-1.1.0.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0ceab011ee904a9b1cf9b7e017195ba36907180e9fbf390fe4a716c09d8310bb
BLAKE2b-256 checksum
How to use checksums
9ea8435c745cc104d5dc9cb9616f91460afa81ef61fb93f96e575355bc93e8be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.3

Release files / pyvicp-1.1.0-py3-none-any.whl

Download URL pyvicp-1.1.0-py3-none-any.whl
Size 22.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9f97b316f3550841f81f924048f53a0fb4b04a6e9f5b2c862489ea8cca1e4601
BLAKE2b-256 checksum
How to use checksums
f72454cd0c7ae6558dd8b593a84a4a01e1b8cf809a2dbe55556017cabdc90ac0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.8.3

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page