1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 hatchling,
7 uv-dynamic-versioning,
8 pytestCheckHook,
9 pytest-localserver,
10 numpy,
11 pillow,
12 pydicom,
13 requests,
14 retrying,
15}:
16
17buildPythonPackage rec {
18 pname = "dicomweb-client";
19 version = "0.60.1";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "ImagingDataCommons";
24 repo = "dicomweb-client";
25 tag = "v${version}";
26 hash = "sha256-ZxeZiCw8I5+Bf266PQ6WQA8mBRC7K3/kZrmuW4l6kQU=";
27 };
28
29 build-system = [
30 hatchling
31 uv-dynamic-versioning
32 ];
33
34 dependencies = [
35 numpy
36 pillow
37 pydicom
38 requests
39 retrying
40 ];
41
42 nativeCheckInputs = [
43 pytestCheckHook
44 pytest-localserver
45 ];
46
47 pythonImportsCheck = [ "dicomweb_client" ];
48
49 meta = {
50 description = "Python client for DICOMweb RESTful services";
51 homepage = "https://dicomweb-client.readthedocs.io";
52 changelog = "https://github.com/ImagingDataCommons/dicomweb-client/releases/tag/${src.tag}";
53 license = lib.licenses.mit;
54 maintainers = with lib.maintainers; [ bcdarwin ];
55 mainProgram = "dicomweb_client";
56 };
57}