1{ lib
2, babel
3, buildPythonPackage
4, click
5, cryptography
6, fetchPypi
7, gntp
8, installShellFiles
9, markdown
10, paho-mqtt
11, pytest-mock
12, pytest-xdist
13, pytestCheckHook
14, pythonOlder
15, pyyaml
16, requests
17, requests-oauthlib
18}:
19
20buildPythonPackage rec {
21 pname = "apprise";
22 version = "1.6.0";
23 format = "setuptools";
24
25 disabled = pythonOlder "3.7";
26
27 src = fetchPypi {
28 inherit pname version;
29 hash = "sha256-Pu+rHF15eLDmXFCR0c2+kgaGXcPLXRnKXPvdt26Kr/4=";
30 };
31
32 nativeBuildInputs = [
33 installShellFiles
34 ];
35
36 propagatedBuildInputs = [
37 click
38 cryptography
39 markdown
40 pyyaml
41 requests
42 requests-oauthlib
43 ];
44
45 nativeCheckInputs = [
46 babel
47 gntp
48 paho-mqtt
49 pytest-mock
50 pytest-xdist
51 pytestCheckHook
52 ];
53
54 disabledTests = [
55 "test_apprise_cli_nux_env"
56 "test_plugin_mqtt_general"
57 ];
58
59 disabledTestPaths = [
60 # AttributeError: module 'apprise.plugins' has no attribute 'NotifyBulkSMS'
61 "test/test_plugin_bulksms.py"
62 ];
63
64 postInstall = ''
65 installManPage packaging/man/apprise.1
66 '';
67
68 pythonImportsCheck = [
69 "apprise"
70 ];
71
72 meta = with lib; {
73 description = "Push Notifications that work with just about every platform";
74 homepage = "https://github.com/caronc/apprise";
75 changelog = "https://github.com/caronc/apprise/releases/tag/v${version}";
76 license = licenses.bsd3;
77 maintainers = with maintainers; [ marsam ];
78 };
79}