1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, setuptools
5, numpy
6, cloudpickle
7, gym-notices
8, jax-jumpy
9, typing-extensions
10, farama-notifications
11, importlib-metadata
12, pythonOlder
13}:
14
15buildPythonPackage rec {
16 pname = "gymnasium";
17 version = "0.28.1";
18
19 src = fetchFromGitHub {
20 owner = "Farama-Foundation";
21 repo = pname;
22 rev = "v${version}";
23 hash = "sha256-7rRF21H3IxbgmqxvtC370kr0exLgfg3e2tA3J49xuao=";
24 };
25
26 format = "pyproject";
27
28 nativeBuildInputs = [ setuptools ];
29
30 propagatedBuildInputs = [
31 jax-jumpy
32 cloudpickle
33 numpy
34 gym-notices
35 typing-extensions
36 farama-notifications
37 ] ++ lib.optionals (pythonOlder "3.10") [ importlib-metadata ];
38
39 pythonImportsCheck = [ "gymnasium" ];
40
41 meta = with lib; {
42 description = "A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym)";
43 homepage = "https://github.com/Farama-Foundation/Gymnasium";
44 license = licenses.mit;
45 maintainers = with maintainers; [ GaetanLepage ];
46 };
47}