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