1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 setuptools,
6 setuptools-scm,
7 gpib-ctypes,
8 pyserial,
9 pyusb,
10 pyvisa,
11 typing-extensions,
12 psutil,
13 zeroconf,
14 pytestCheckHook,
15}:
16
17buildPythonPackage rec {
18 pname = "pyvisa-py";
19 version = "0.8.1";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "pyvisa";
24 repo = "pyvisa-py";
25 tag = version;
26 hash = "sha256-fXLT3W48HQ744LkwZn784KKmUE8gxDCR+lkcL9xX45g=";
27 };
28
29 build-system = [
30 setuptools
31 setuptools-scm
32 ];
33
34 dependencies = [
35 pyvisa
36 typing-extensions
37 ];
38
39 optional-dependencies = {
40 gpib-ctypes = [ gpib-ctypes ];
41 serial = [ pyserial ];
42 usb = [ pyusb ];
43 psutil = [ psutil ];
44 hislip-discovery = [ zeroconf ];
45 # vicp = [ pyvicp zeroconf ];
46 };
47
48 nativeCheckInputs = [ pytestCheckHook ];
49
50 meta = {
51 description = "Module that implements the Virtual Instrument Software Architecture";
52 homepage = "https://github.com/pyvisa/pyvisa-py";
53 changelog = "https://github.com/pyvisa/pyvisa-py/blob/${src.tag}/CHANGES";
54 license = lib.licenses.mit;
55 maintainers = with lib.maintainers; [ mvnetbiz ];
56 };
57}