1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, pytestCheckHook
6, pytest-lazy-fixture
7, numpy
8, networkx
9, pydicom
10, colorama
11, typeguard
12, versioneer
13}:
14
15buildPythonPackage rec {
16 pname = "monai-deploy";
17 version = "0.5.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "Project-MONAI";
24 repo = "monai-deploy-app-sdk";
25 rev = "refs/tags/${version}";
26 hash = "sha256-a5WtU+1XjsYsXB/uZS8ufE0fOOWDf+Wy7mOX2xPEQEg=";
27 };
28
29 postPatch = ''
30 # Asked in https://github.com/Project-MONAI/monai-deploy-app-sdk/issues/450
31 # if this patch can be incorporated upstream.
32 substituteInPlace pyproject.toml --replace 'versioneer-518' 'versioneer'
33 '';
34
35 nativeBuildInputs = [ versioneer ];
36
37 propagatedBuildInputs = [
38 numpy
39 networkx
40 colorama
41 typeguard
42 ];
43
44 nativeCheckInputs = [ pytestCheckHook pytest-lazy-fixture ];
45 disabledTests = [
46 # requires Docker daemon:
47 "test_packager"
48 ];
49 pythonImportsCheck = [
50 "monai.deploy"
51 "monai.deploy.core"
52 # "monai.deploy.operators" should be imported as well but
53 # requires some "optional" dependencies
54 # like highdicom (which is not packaged yet) and pydicom
55 ];
56
57 meta = with lib; {
58 description = "Framework and tools to design, develop and verify AI applications in healthcare imaging";
59 homepage = "https://monai.io/deploy.html";
60 license = licenses.asl20;
61 maintainers = [ maintainers.bcdarwin ];
62 };
63}