Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / python-modules / qcodes / default.nix
blob320054041104eaa368e27b6a6907f5e04990d453
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
50 buildPythonPackage rec {
51   pname = "qcodes";
52   version = "0.41.1";
53   format = "pyproject";
55   disabled = pythonOlder "3.9";
57   src = fetchPypi {
58     inherit pname version;
59     hash = "sha256-3Ncg51E4KYbvzlEyesVbTmzmz+UPfFkj3tudVbNYqHQ=";
60   };
62   nativeBuildInputs = [
63     setuptools
64     versioningit
65     wheel
66   ];
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   ];
100   passthru.optional-dependencies = {
101     loop = [
102       qcodes-loop
103     ];
104   };
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   ];
120   __darwinAllowLocalNetworking = true;
122   pytestFlagsArray = [
123     # Follow upstream with settings
124     "--durations=20"
125   ];
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   ];
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   ];
146   pythonImportsCheck = [
147     "qcodes"
148   ];
150   postInstall = ''
151     export HOME="$TMPDIR"
152   '';
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   };