at master 1.8 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 # build-system 7 absl-py, 8 mujoco, 9 pyparsing, 10 setuptools, 11 12 # dependencies 13 dm-env, 14 dm-tree, 15 fsspec, 16 glfw, 17 h5py, 18 lxml, 19 mock, 20 numpy, 21 pillow, 22 protobuf, 23 pyopengl, 24 requests, 25 scipy, 26 tqdm, 27 etils, 28}: 29 30buildPythonPackage rec { 31 pname = "dm-control"; 32 version = "1.0.34"; 33 pyproject = true; 34 35 src = fetchFromGitHub { 36 owner = "google-deepmind"; 37 repo = "dm_control"; 38 tag = version; 39 hash = "sha256-AESUqrUw8EEUKNtZJ5M/dD7xDr+6VGi4yYacJw0q8Ls="; 40 }; 41 42 build-system = [ 43 absl-py 44 mujoco 45 pyparsing 46 setuptools 47 ]; 48 49 pythonRemoveDeps = [ 50 # Unpackaged 51 "labmaze" 52 ]; 53 54 dependencies = [ 55 absl-py 56 dm-env 57 dm-tree 58 fsspec 59 glfw 60 h5py 61 lxml 62 mock 63 mujoco 64 numpy 65 pillow 66 protobuf 67 pyopengl 68 pyparsing 69 requests 70 scipy 71 setuptools 72 tqdm 73 ] 74 ++ etils.optional-dependencies.epath; 75 76 pythonImportsCheck = [ "dm_control" ]; 77 78 # The installed library clashes with the `dm_control` directory remaining in the source path. 79 # Usually, we get around this by `rm -rf` the python source files to ensure that the installed package is used. 80 # Here, we cannot do that as it would also remove the tests which are also in the `dm_control` directory. 81 # See https://github.com/google-deepmind/dm_control/issues/6 82 doCheck = false; 83 84 meta = { 85 changelog = "https://github.com/google-deepmind/dm_control/releases/tag/${src.tag}"; 86 description = "Google DeepMind's software stack for physics-based simulation and Reinforcement Learning environments, using MuJoCo"; 87 homepage = "https://github.com/google-deepmind/dm_control"; 88 license = lib.licenses.asl20; 89 maintainers = with lib.maintainers; [ GaetanLepage ]; 90 }; 91}