nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 aiohttp,
4 aioresponses,
5 async-timeout,
6 buildPythonPackage,
7 cryptography,
8 fetchFromGitHub,
9 hatchling,
10 http-ece,
11 myst-parser,
12 protobuf,
13 pytest-asyncio,
14 pytest-mock,
15 pytest-socket,
16 pytestCheckHook,
17 requests-mock,
18 sphinx,
19 sphinx-autodoc-typehints,
20 sphinx-rtd-theme,
21 sphinxHook,
22}:
23
24buildPythonPackage rec {
25 pname = "firebase-messaging";
26 version = "0.4.5";
27 pyproject = true;
28
29 src = fetchFromGitHub {
30 owner = "sdb9696";
31 repo = "firebase-messaging";
32 tag = version;
33 hash = "sha256-O1A+hGEhnNcvdXw5QJx+3zYKB+m36N0Ge0XB6cZ6930=";
34 };
35
36 outputs = [
37 "out"
38 "doc"
39 ];
40
41 build-system = [
42 hatchling
43 ];
44
45 nativeBuildInputs = [
46 sphinxHook
47 ]
48 ++ optional-dependencies.docs;
49
50 pythonRelaxDeps = [
51 "http-ece"
52 "protobuf"
53 ];
54
55 dependencies = [
56 aiohttp
57 cryptography
58 http-ece
59 protobuf
60 ];
61
62 optional-dependencies = {
63 docs = [
64 myst-parser
65 sphinx
66 sphinx-autodoc-typehints
67 sphinx-rtd-theme
68 ];
69 };
70
71 pythonImportsCheck = [ "firebase_messaging" ];
72
73 nativeCheckInputs = [
74 aioresponses
75 async-timeout
76 requests-mock
77 pytest-asyncio
78 pytest-mock
79 pytest-socket
80 pytestCheckHook
81 ];
82
83 meta = {
84 description = "Library to subscribe to GCM/FCM and receive notifications within a python application";
85 homepage = "https://github.com/sdb9696/firebase-messaging";
86 changelog = "https://github.com/sdb9696/firebase-messaging/releases/tag/${src.tag}";
87 license = lib.licenses.mit;
88 maintainers = [ ];
89 };
90}