1{ lib
2, fetchPypi
3, buildPythonPackage
4, frozendict
5, termcolor
6, matplotlib
7, gym
8, pandas
9, scipy
10, absl-py
11, dm-env
12, plotnine
13, scikitimage
14, dm-tree
15, patsy
16, tensorflow-probability
17, dm-haiku
18, statsmodels
19, mizani
20, trfl
21, optax
22, pytestCheckHook
23, dm-sonnet
24, rlax
25, distrax
26}:
27
28let bsuite = buildPythonPackage rec {
29 pname = "bsuite";
30 version = "0.3.5";
31
32 src = fetchPypi {
33 inherit pname version;
34 sha256 = "sha256-ak9McvXl7Nz5toUaPaRaJek9lurxiQiIW209GnZEjX0=";
35 };
36
37 buildInputs = [
38 absl-py
39 dm-env
40 dm-tree
41 frozendict
42 gym
43 matplotlib
44 mizani
45 pandas
46 patsy
47 plotnine
48 scikitimage
49 scipy
50 statsmodels
51 termcolor
52 ];
53
54 checkInputs = [
55 distrax
56 dm-haiku
57 dm-sonnet
58 optax
59 pytestCheckHook
60 rlax
61 tensorflow-probability
62 trfl
63 ];
64
65 pythonImportsCheck = [
66 "bsuite"
67 ];
68
69 disabledTests = [
70 # Tests require network connection
71 "test_run9"
72 "test_longer_action_sequence"
73 "test_reset"
74 "test_step_after_reset"
75 "test_step_on_fresh_environment"
76 "test_longer_action_sequence"
77 "test_reset"
78 "test_step_after_reset"
79 "test_step_on_fresh_environment"
80 "test_longer_action_sequence"
81 "test_reset"
82 "test_step_after_reset"
83 "test_step_on_fresh_environment"
84 "test_logger"
85 "test_episode_truncation"
86 ];
87
88 # escape infinite recursion with rlax
89 doCheck = false;
90
91 passthru.tests = {
92 check = bsuite.overridePythonAttrs (_: { doCheck = true; });
93 };
94
95 meta = with lib; {
96 description = ''
97 Core RL Behaviour Suite. A collection of reinforcement learning
98 experiments
99 '';
100 homepage = "https://github.com/deepmind/bsuite";
101 license = licenses.asl20;
102 maintainers = with maintainers; [ onny ];
103 };
104}; in bsuite