1{
2 lib,
3 apprise,
4 babel,
5 buildPythonPackage,
6 click,
7 cryptography,
8 fetchPypi,
9 gntp,
10 installShellFiles,
11 markdown,
12 paho-mqtt,
13 pytest-mock,
14 pytestCheckHook,
15 pythonOlder,
16 pyyaml,
17 requests,
18 requests-oauthlib,
19 setuptools,
20 testers,
21}:
22
23buildPythonPackage rec {
24 pname = "apprise";
25 version = "1.9.5";
26 pyproject = true;
27
28 disabled = pythonOlder "3.7";
29
30 src = fetchPypi {
31 inherit pname version;
32 hash = "sha256-jzvjGLtCnCAXRw4zkoouMTy/dgD8dLgYR4KjcGDbNmo=";
33 };
34
35 nativeBuildInputs = [ installShellFiles ];
36
37 build-system = [
38 babel
39 setuptools
40 ];
41
42 dependencies = [
43 click
44 cryptography
45 markdown
46 pyyaml
47 requests
48 requests-oauthlib
49 ];
50
51 nativeCheckInputs = [
52 gntp
53 paho-mqtt
54 pytest-mock
55 pytestCheckHook
56 ];
57
58 postInstall = ''
59 installManPage packaging/man/apprise.1
60 '';
61
62 pythonImportsCheck = [ "apprise" ];
63
64 passthru = {
65 tests.version = testers.testVersion {
66 package = apprise;
67 version = "v${version}";
68 };
69 };
70
71 meta = {
72 description = "Push Notifications that work with just about every platform";
73 homepage = "https://github.com/caronc/apprise";
74 changelog = "https://github.com/caronc/apprise/releases/tag/v${version}";
75 license = lib.licenses.bsd3;
76 maintainers = with lib.maintainers; [ getchoo ];
77 mainProgram = "apprise";
78 };
79}