1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, gym
7, torch
8, tensorboard
9, tqdm
10, packaging
11}:
12
13buildPythonPackage rec {
14 pname = "skrl";
15 version = "0.8.0";
16
17 disabled = pythonOlder "3.6";
18
19 src = fetchFromGitHub {
20 owner = "Toni-SM";
21 repo = pname;
22 rev = version;
23 hash = "sha256-NfKgQyD7PkPOTnkIua3fOfH7tHNGQEOVZ2HtvIg5HzA=";
24 };
25
26 propagatedBuildInputs = [
27 gym
28 torch
29 tensorboard
30 tqdm
31 packaging
32 ];
33
34 checkInputs = [ pytestCheckHook ];
35 doCheck = torch.cudaSupport;
36
37 pythonImportsCheck = [
38 "skrl"
39 "skrl.agents"
40 "skrl.agents.torch"
41 "skrl.envs"
42 "skrl.envs.torch"
43 "skrl.models"
44 "skrl.models.torch"
45 "skrl.resources"
46 "skrl.resources.noises"
47 "skrl.resources.noises.torch"
48 "skrl.resources.schedulers"
49 "skrl.resources.schedulers.torch"
50 "skrl.trainers"
51 "skrl.trainers.torch"
52 "skrl.utils"
53 "skrl.utils.model_instantiators"
54 ];
55
56 meta = with lib; {
57 description = "Reinforcement learning library using PyTorch focusing on readability and simplicity";
58 homepage = "https://skrl.readthedocs.io";
59 license = licenses.mit;
60 maintainers = with maintainers; [ bcdarwin ];
61 };
62}