1{ lib
2, fetchpatch
3, fetchPypi
4, pythonOlder
5, buildPythonPackage
6, qcodes
7, h5py
8, lazy-loader
9, matplotlib
10, numpy
11, pandas
12, setuptools
13, versioningit
14, wheel
15, xarray
16, hickle
17, ipython
18, slack-sdk
19, hypothesis
20, pytest-xdist
21, pytest-mock
22, pyqtgraph
23, pyqt5
24, pytestCheckHook
25}:
26
27buildPythonPackage rec {
28 pname = "qcodes-loop";
29 version = "0.1.1";
30 format = "pyproject";
31
32 disabled = pythonOlder "3.8";
33
34 src = fetchPypi {
35 inherit version;
36 pname = "qcodes_loop";
37 hash = "sha256-pDR0Ws8cYQifftdE9dKcSzMxmouFo4tJmQvNanm6zyM=";
38 };
39
40 patches = [
41 # https://github.com/QCoDeS/Qcodes_loop/pull/39
42 (fetchpatch {
43 name = "relax-versioningit-dependency.patch";
44 url = "https://github.com/QCoDeS/Qcodes_loop/commit/58006d3fb57344ae24dd44bceca98004617b5b57.patch";
45 hash = "sha256-mSlm/Ql8e5xPL73ifxSoVc9+U58AAcAmBkdW5P6zEsg=";
46 })
47 ];
48
49 nativeBuildInputs = [
50 setuptools
51 versioningit
52 wheel
53 ];
54
55 propagatedBuildInputs = [
56 qcodes
57 h5py
58 lazy-loader
59 matplotlib
60 numpy
61 pandas
62 xarray
63 hickle
64 ipython
65 ];
66
67 passthru.optional-dependencies = {
68 qtplot = [
69 pyqtgraph
70 ];
71 slack = [
72 slack-sdk
73 ];
74 };
75
76 nativeCheckInputs = [
77 pytestCheckHook
78 hypothesis
79 pytest-xdist
80 pytest-mock
81 pyqt5
82 ];
83
84 pythonImportsCheck = [ "qcodes_loop" ];
85
86 disabledTestPaths = [
87 # test broken in 0.1.1, see https://github.com/QCoDeS/Qcodes_loop/pull/25
88 "src/qcodes_loop/tests/test_hdf5formatter.py"
89 ];
90
91 postInstall = ''
92 export HOME="$TMPDIR"
93 '';
94
95 meta = with lib; {
96 description = "Features previously in QCoDeS";
97 homepage = "https://github.com/QCoDeS/Qcodes_loop";
98 license = licenses.mit;
99 maintainers = with maintainers; [ evilmav ];
100 };
101}