diff --git a/pkgs/development/python-modules/minari/default.nix b/pkgs/development/python-modules/minari/default.nix new file mode 100644 index 000000000000..45c3f0fc36ec --- /dev/null +++ b/pkgs/development/python-modules/minari/default.nix @@ -0,0 +1,88 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, setuptools +, wheel +, google-cloud-storage +, gymnasium +, h5py +, numpy +, packaging +, portion +, rich +, tqdm +, typer +, typing-extensions +, imageio +, nbmake +, pytest +, pytest-markdown-docs +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "minari"; + version = "0.4.3"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "Farama-Foundation"; + repo = "Minari"; + rev = "refs/tags/v${version}"; + hash = "sha256-DwuANo0PCb2pPTVST8EwuJHe5HKRV8JIpFBpSqoJNh8="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + google-cloud-storage + gymnasium + h5py + numpy + packaging + portion + rich + tqdm + typer + typing-extensions + ]; + + passthru.optional-dependencies = { + testing = [ + # gymnasium-robotics + imageio + nbmake + pytest + pytest-markdown-docs + ]; + }; + + pythonImportsCheck = [ + "minari" + ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTestPaths = [ + # Require internet access + "tests/dataset/test_dataset_download.py" + "tests/test_cli.py" + ]; + + meta = with lib; { + description = "A standard format for offline reinforcement learning datasets, with popular reference datasets and related utilities"; + homepage = "https://github.com/Farama-Foundation/Minari"; + changelog = "https://github.com/Farama-Foundation/Minari/releases/tag/v${version}"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ GaetanLepage ]; + mainProgram = "minari"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fdbd40af2b98..f69f3a852c3d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -31399,6 +31399,8 @@ with pkgs; manuskript = libsForQt5.callPackage ../applications/editors/manuskript { }; + minari = python3Packages.toPythonApplication python3Packages.minari; + mindforger = libsForQt5.callPackage ../applications/editors/mindforger { }; mi2ly = callPackage ../applications/audio/mi2ly { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 529797ce7d17..36783fd443f8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7427,6 +7427,8 @@ self: super: with self; { millheater = callPackage ../development/python-modules/millheater { }; + minari = callPackage ../development/python-modules/minari { }; + mindsdb-evaluator = callPackage ../development/python-modules/mindsdb-evaluator { }; minexr = callPackage ../development/python-modules/minexr { };