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