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 setuptools,
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 build-system = [ setuptools ];
51
52 dependencies = [
53 opencv4
54 pyqt5
55 pyqtgraph
56 numpy
57 scipy
58 numba
59 pandas
60 tables
61 git
62 scikit-image
63 matplotlib
64 qdarkstyle
65 gitpython
66 anytree
67 qimage2ndarray
68 flammkuchen
69 pims
70 colorspacious
71 lightparam
72 imageio
73 imageio-ffmpeg
74 arrayqueues
75 av
76 ];
77
78 nativeCheckInputs = [
79 pytestCheckHook
80 pyserial
81 ];
82
83 disabledTestPaths = [
84 # Crashes python
85 "stytra/tests/test_z_experiments.py"
86 ];
87
88 meta = with lib; {
89 description = "Modular package to control stimulation and track behaviour";
90 homepage = "https://github.com/portugueslab/stytra";
91 license = licenses.gpl3Plus;
92 maintainers = with maintainers; [ tbenst ];
93 };
94}