diff --git a/pkgs/development/python-modules/mmengine/default.nix b/pkgs/development/python-modules/mmengine/default.nix new file mode 100644 index 00000000000..3771cfc77f5 --- /dev/null +++ b/pkgs/development/python-modules/mmengine/default.nix @@ -0,0 +1,78 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pytestCheckHook +, pythonOlder +, torch +, opencv4 +, yapf +, coverage +, mlflow +, lmdb +, matplotlib +, numpy +, pyyaml +, rich +, termcolor +, addict +, parameterized +}: + +buildPythonPackage rec { + pname = "mmengine"; + version = "0.7.3"; + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + owner = "open-mmlab"; + repo = pname; + rev = "refs/tags/v${version}"; + hash = "sha256-Ook85XWosxbvshsQxZEoAWI/Ugl2uSO8zoNJ5EuuW1E="; + }; + + # tests are disabled due to sandbox env. + disabledTests = [ + "test_fileclient" + "test_http_backend" + "test_misc" + ]; + + nativeBuildInputs = [ pytestCheckHook ]; + + nativeCheckInputs = [ + coverage + lmdb + mlflow + torch + parameterized + ]; + + propagatedBuildInputs = [ + addict + matplotlib + numpy + pyyaml + rich + termcolor + yapf + opencv4 + ]; + + preCheck = '' + export HOME=$TMPDIR + ''; + + pythonImportsCheck = [ + "mmengine" + ]; + + meta = with lib; { + description = "a foundational library for training deep learning models based on PyTorch"; + homepage = "https://github.com/open-mmlab/mmengine"; + changelog = "https://github.com/open-mmlab/mmengine/releases/tag/v${version}"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ rxiao ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c79c80eade0..2afa6286649 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6299,6 +6299,8 @@ self: super: with self; { mmcv = callPackage ../development/python-modules/mmcv { }; + mmengine = callPackage ../development/python-modules/mmengine { }; + mmh3 = callPackage ../development/python-modules/mmh3 { }; mmpython = callPackage ../development/python-modules/mmpython { };