1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pytestCheckHook
5, pythonOlder
6, torch
7, opencv4
8, yapf
9, coverage
10, mlflow
11, lmdb
12, matplotlib
13, numpy
14, pyyaml
15, rich
16, termcolor
17, addict
18, parameterized
19}:
20
21buildPythonPackage rec {
22 pname = "mmengine";
23 version = "0.7.3";
24 format = "setuptools";
25
26 disabled = pythonOlder "3.7";
27
28 src = fetchFromGitHub {
29 owner = "open-mmlab";
30 repo = pname;
31 rev = "refs/tags/v${version}";
32 hash = "sha256-Ook85XWosxbvshsQxZEoAWI/Ugl2uSO8zoNJ5EuuW1E=";
33 };
34
35 # tests are disabled due to sandbox env.
36 disabledTests = [
37 "test_fileclient"
38 "test_http_backend"
39 "test_misc"
40 ];
41
42 nativeBuildInputs = [ pytestCheckHook ];
43
44 nativeCheckInputs = [
45 coverage
46 lmdb
47 mlflow
48 torch
49 parameterized
50 ];
51
52 propagatedBuildInputs = [
53 addict
54 matplotlib
55 numpy
56 pyyaml
57 rich
58 termcolor
59 yapf
60 opencv4
61 ];
62
63 preCheck = ''
64 export HOME=$TMPDIR
65 '';
66
67 pythonImportsCheck = [
68 "mmengine"
69 ];
70
71 meta = with lib; {
72 description = "a foundational library for training deep learning models based on PyTorch";
73 homepage = "https://github.com/open-mmlab/mmengine";
74 changelog = "https://github.com/open-mmlab/mmengine/releases/tag/v${version}";
75 license = with licenses; [ asl20 ];
76 maintainers = with maintainers; [ rxiao ];
77 };
78}