1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pytest,
6 gym,
7 scipy,
8 tqdm,
9 joblib,
10 dill,
11 progressbar2,
12 cloudpickle,
13 click,
14 pyzmq,
15 tensorflow,
16 mpi4py,
17}:
18
19buildPythonPackage {
20 pname = "baselines";
21 version = "0.1.6"; # remember to manually adjust the rev
22 format = "setuptools";
23
24 src = fetchFromGitHub {
25 owner = "openai";
26 repo = "baselines";
27 # Unfortunately releases are not tagged. This commit bumps the version in setup.py
28 rev = "2bca7901f51c88cdef3ca0666c6a87c454a4dbe8";
29 sha256 = "0j2ck7rsrcyny9qbmrw9aqvzfhv70nbign8iva2dsisa2x24gbcl";
30 };
31
32 propagatedBuildInputs = [
33 gym
34 scipy
35 tqdm
36 joblib
37 pyzmq
38 dill
39 progressbar2
40 mpi4py
41 cloudpickle
42 tensorflow
43 click
44 ];
45
46 postPatch = ''
47 # Needed for the atari wrapper, but the gym-atari package is not supported
48 # in nixos anyways. Since opencv-python is not currently packaged, we
49 # disable it.
50 sed -i -e '/opencv-python/d' setup.py
51 '';
52
53 # fails to create a daemon, probably because of sandboxing
54 doCheck = false;
55
56 nativeCheckInputs = [ pytest ];
57
58 meta = with lib; {
59 description = "High-quality implementations of reinforcement learning algorithms";
60 homepage = "https://github.com/openai/baselines";
61 license = licenses.mit;
62 maintainers = with maintainers; [ timokau ];
63 };
64}