1{ lib
2, broadbean
3, buildPythonPackage
4, cf-xarray
5, dask
6, deepdiff
7, fetchPypi
8, h5netcdf
9, h5py
10, hypothesis
11, importlib-metadata
12, ipykernel
13, ipython
14, ipywidgets
15, jsonschema
16, lxml
17, matplotlib
18, numpy
19, opencensus
20, opencensus-ext-azure
21, opentelemetry-api
22, packaging
23, pandas
24, pillow
25, pip
26, pytest-asyncio
27, pytest-mock
28, pytest-rerunfailures
29, pytest-xdist
30, pytestCheckHook
31, pythonOlder
32, pyvisa
33, pyvisa-sim
34, qcodes-loop
35, rsa
36, ruamel-yaml
37, setuptools
38, sphinx
39, tabulate
40, tqdm
41, typing-extensions
42, uncertainties
43, versioningit
44, websockets
45, wheel
46, wrapt
47, xarray
48}:
49
50buildPythonPackage rec {
51 pname = "qcodes";
52 version = "0.41.1";
53 format = "pyproject";
54
55 disabled = pythonOlder "3.9";
56
57 src = fetchPypi {
58 inherit pname version;
59 hash = "sha256-3Ncg51E4KYbvzlEyesVbTmzmz+UPfFkj3tudVbNYqHQ=";
60 };
61
62 nativeBuildInputs = [
63 setuptools
64 versioningit
65 wheel
66 ];
67
68 propagatedBuildInputs = [
69 broadbean
70 cf-xarray
71 dask
72 h5netcdf
73 h5py
74 ipykernel
75 ipython
76 ipywidgets
77 jsonschema
78 matplotlib
79 numpy
80 opencensus
81 opencensus-ext-azure
82 opentelemetry-api
83 packaging
84 pandas
85 pillow
86 pyvisa
87 rsa
88 ruamel-yaml
89 tabulate
90 tqdm
91 typing-extensions
92 uncertainties
93 websockets
94 wrapt
95 xarray
96 ] ++ lib.optionals (pythonOlder "3.10") [
97 importlib-metadata
98 ];
99
100 passthru.optional-dependencies = {
101 loop = [
102 qcodes-loop
103 ];
104 };
105
106 nativeCheckInputs = [
107 deepdiff
108 hypothesis
109 lxml
110 pip
111 pytest-asyncio
112 pytest-mock
113 pytest-rerunfailures
114 pytest-xdist
115 pytestCheckHook
116 pyvisa-sim
117 sphinx
118 ];
119
120 __darwinAllowLocalNetworking = true;
121
122 pytestFlagsArray = [
123 # Follow upstream with settings
124 "--durations=20"
125 ];
126
127 disabledTestPaths = [
128 # Test depends on qcodes-loop, causing a cyclic dependency
129 "qcodes/tests/dataset/measurement/test_load_legacy_data.py"
130 # TypeError
131 "qcodes/tests/dataset/test_dataset_basic.py"
132 ];
133
134 disabledTests = [
135 # Tests are time-sensitive and power-consuming
136 # Those tests fails repeatably
137 "test_access_channels_by_slice"
138 "test_do1d_additional_setpoints_shape"
139 "test_dond_1d_additional_setpoints_shape"
140 "test_field_limits"
141 "test_get_array_in_scalar_param_data"
142 "test_get_parameter_data"
143 "test_ramp_safely"
144 ];
145
146 pythonImportsCheck = [
147 "qcodes"
148 ];
149
150 postInstall = ''
151 export HOME="$TMPDIR"
152 '';
153
154 meta = with lib; {
155 description = "Python-based data acquisition framework";
156 changelog = "https://github.com/QCoDeS/Qcodes/releases/tag/v${version}";
157 downloadPage = "https://github.com/QCoDeS/Qcodes";
158 homepage = "https://qcodes.github.io/Qcodes/";
159 license = licenses.mit;
160 maintainers = with maintainers; [ evilmav ];
161 };
162}