1{
2 lib,
3 anytree,
4 arrayqueues,
5 av,
6 buildPythonPackage,
7 colorspacious,
8 fetchPypi,
9 flammkuchen,
10 git,
11 gitpython,
12 imageio,
13 imageio-ffmpeg,
14 lightparam,
15 matplotlib,
16 nose,
17 numba,
18 numpy,
19 opencv4,
20 pandas,
21 pims,
22 pyqt5,
23 pyqtgraph,
24 pyserial,
25 pytestCheckHook,
26 pythonOlder,
27 qdarkstyle,
28 qimage2ndarray,
29 scikit-image,
30 scipy,
31 tables,
32}:
33
34buildPythonPackage rec {
35 pname = "stytra";
36 version = "0.8.34";
37 pyproject = true;
38 disabled = pythonOlder "3.7";
39
40 src = fetchPypi {
41 inherit pname version;
42 sha256 = "aab9d07575ef599a9c0ae505656e3c03ec753462df3c15742f1f768f2b578f0a";
43 };
44
45 patches = [
46 # https://github.com/portugueslab/stytra/issues/87
47 ./0000-workaround-pyqtgraph.patch
48 ];
49
50 propagatedBuildInputs = [
51 opencv4
52 pyqt5
53 pyqtgraph
54 numpy
55 scipy
56 numba
57 pandas
58 tables
59 git
60 scikit-image
61 matplotlib
62 qdarkstyle
63 gitpython
64 anytree
65 qimage2ndarray
66 flammkuchen
67 pims
68 colorspacious
69 lightparam
70 imageio
71 imageio-ffmpeg
72 arrayqueues
73 av
74 ];
75
76 nativeCheckInputs = [
77 nose
78 pytestCheckHook
79 pyserial
80 ];
81
82 disabledTestPaths = [
83 # Crashes python
84 "stytra/tests/test_z_experiments.py"
85 ];
86
87 meta = with lib; {
88 description = "A modular package to control stimulation and track behaviour";
89 homepage = "https://github.com/portugueslab/stytra";
90 license = licenses.gpl3Plus;
91 maintainers = with maintainers; [ tbenst ];
92 broken = true; # incompatible with pyqtgraph>0.13.0: https://github.com/portugueslab/stytra/issues/87
93 };
94}