1{ lib
2, fetchFromGitHub
3, buildPythonPackage
4, numpy
5, nose
6, nbformat
7, nbconvert
8, jupyter
9, chainer
10, pytorch
11, mxnet
12, tensorflow
13}:
14
15buildPythonPackage rec {
16 pname = "einops";
17 version = "0.3.2";
18
19 src = fetchFromGitHub {
20 owner = "arogozhnikov";
21 repo = pname;
22 rev = "v${version}";
23 sha256 = "0ix094cfh6w4bvx6ymp5dpm35y9nkaibcn1y50g6kwdp4f0473y8";
24 };
25
26 checkInputs = [
27 nose
28 numpy
29 # For notebook tests
30 nbformat
31 nbconvert
32 jupyter
33 # For backend tests
34 chainer
35 pytorch
36 mxnet
37 tensorflow
38 ];
39
40 # No CUDA in sandbox
41 EINOPS_SKIP_CUPY = 1;
42
43 checkPhase = ''
44 export HOME=$TMPDIR
45 nosetests -v -w tests
46 '';
47
48 meta = {
49 description = "Flexible and powerful tensor operations for readable and reliable code";
50 homepage = "https://github.com/arogozhnikov/einops";
51 license = lib.licenses.mit;
52 maintainers = with lib.maintainers; [ yl3dy ];
53 };
54}