1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 flit-core,
6 pydicom,
7 pyfakefs,
8 pytestCheckHook,
9 sqlalchemy,
10}:
11
12buildPythonPackage rec {
13 pname = "pynetdicom";
14 version = "3.0.4";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "pydicom";
19 repo = "pynetdicom";
20 tag = "v${version}";
21 hash = "sha256-4LISckHH+fVBmPcBr8rM62E6r3IkKAgdUneVHyc5Vm8=";
22 };
23
24 build-system = [ flit-core ];
25
26 dependencies = [ pydicom ];
27
28 nativeCheckInputs = [
29 pyfakefs
30 pytestCheckHook
31 sqlalchemy
32 ];
33
34 disabledTests = [
35 # Some tests needs network capabilities
36 "test_str_types_empty"
37 "test_associate_reject"
38 "TestAEGoodAssociation"
39 "TestEchoSCP"
40 "TestEchoSCPCLI"
41 "TestEventHandlingAcceptor"
42 "TestEventHandlingRequestor"
43 "TestFindSCP"
44 "TestFindSCPCLI"
45 "TestGetSCP"
46 "TestGetSCPCLI"
47 "TestMoveSCP"
48 "TestMoveSCPCLI"
49 "TestPrimitive_N_GET"
50 "TestQRGetServiceClass"
51 "TestQRMoveServiceClass"
52 "TestSearch"
53 "TestState"
54 "TestStorageServiceClass"
55 "TestStoreSCP"
56 "TestStoreSCPCLI"
57 "TestStoreSCU"
58 "TestStoreSCUCLI"
59 ];
60
61 disabledTestPaths = [
62 # Ignore apps tests
63 "pynetdicom/apps/tests/"
64 ];
65
66 pythonImportsCheck = [ "pynetdicom" ];
67
68 meta = with lib; {
69 description = "Python implementation of the DICOM networking protocol";
70 homepage = "https://github.com/pydicom/pynetdicom";
71 changelog = "https://github.com/pydicom/pynetdicom/releases/tag/${src.tag}";
72 license = licenses.mit;
73 maintainers = with maintainers; [ fab ];
74 };
75}