1{
2 stdenv,
3 lib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 setuptools,
7
8 bitmath,
9 bpylist2,
10 click,
11 mako,
12 more-itertools,
13 objexplore,
14 packaging,
15 pathvalidate,
16 pip,
17 ptpython,
18 pytimeparse2,
19 pyyaml,
20 requests,
21 rich-theme-manager,
22 rich,
23 shortuuid,
24 strpdatetime,
25 tenacity,
26 textx,
27 toml,
28 tzdata,
29 wrapt,
30 wurlitzer,
31 xdg-base-dirs,
32
33 pytestCheckHook,
34 pytest-mock,
35}:
36
37buildPythonPackage rec {
38 pname = "osxphotos";
39 version = "0.72.1";
40 pyproject = true;
41
42 src = fetchFromGitHub {
43 owner = "RhetTbull";
44 repo = "osxphotos";
45 tag = "v${version}";
46 hash = "sha256-6BUdF2l/C0Zim7ei/t4DKs4RUIDMWikhZmhattYrXmg=";
47 };
48
49 build-system = [ setuptools ];
50 dependencies = [
51 bitmath
52 bpylist2
53 click
54 mako
55 more-itertools
56 objexplore
57 packaging
58 pathvalidate
59 pip
60 ptpython
61 pytimeparse2
62 pyyaml
63 requests
64 rich-theme-manager
65 rich
66 shortuuid
67 strpdatetime
68 tenacity
69 textx
70 toml
71 tzdata
72 wrapt
73 wurlitzer
74 xdg-base-dirs
75 ];
76
77 pythonRelaxDeps = [
78 "mako"
79 "more-itertools"
80 "objexplore"
81 "textx"
82 "tenacity"
83 ];
84
85 pythonImportsCheck = [ "osxphotos" ];
86 nativeCheckInputs = [
87 pytestCheckHook
88 pytest-mock
89 ];
90
91 preCheck = ''
92 export HOME=$(mktemp -d)
93 '';
94
95 disabledTestPaths = [ "tests/test_comments.py" ];
96 disabledTests = [
97 "test_iphoto_info"
98 "test_from_to_date_tz"
99 "test_function_url"
100 "test_get_local_tz"
101 "test_datetime_naive_to_local"
102 "test_from_to_date_tz"
103 "test_query_from_to_date_alt_location"
104 "test_query_function_url"
105 ];
106
107 meta = {
108 description = "Export photos from Apple's macOS Photos app and query the Photos library database to access metadata about images";
109 homepage = "https://github.com/RhetTbull/osxphotos";
110 changelog = "https://github.com/RhetTbull/osxphotos/blob/${src.tag}/CHANGELOG.md";
111 license = lib.licenses.mit;
112 maintainers = with lib.maintainers; [ sigmanificient ];
113 # missing utitools dependency
114 broken = true && stdenv.hostPlatform.isDarwin;
115 };
116}