1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
{
lib,
aiohttp,
buildPythonPackage,
busypie,
cbor2,
fetchFromGitHub,
h2,
httpx,
pycryptodomex,
pytest-asyncio,
pytest-vcr,
pytestCheckHook,
requests,
setuptools,
}:
buildPythonPackage rec {
pname = "pubnub";
version = "10.5.0";
pyproject = true;
src = fetchFromGitHub {
owner = "pubnub";
repo = "python";
tag = version;
hash = "sha256-4EqP3HZuSXYB5P6xvPuwTou/2zHS0ClaAy42knbCMhc=";
};
pythonRelaxDeps = [ "httpx" ];
build-system = [ setuptools ];
dependencies = [
aiohttp
cbor2
h2
httpx
pycryptodomex
requests
];
nativeCheckInputs = [
busypie
pytest-asyncio
pytest-vcr
pytestCheckHook
];
disabledTestPaths = [
# Tests require network access
"tests/integrational"
"tests/manual"
"tests/functional/push"
# Examples
"tests/examples"
];
disabledTests = [
"test_subscribe"
"test_handshaking"
];
pythonImportsCheck = [ "pubnub" ];
meta = {
description = "Python-based APIs for PubNub";
homepage = "https://github.com/pubnub/python";
changelog = "https://github.com/pubnub/python/releases/tag/${src.tag}";
# PubNub Software Development Kit License Agreement
# https://github.com/pubnub/python/blob/master/LICENSE
license = lib.licenses.unfreeRedistributable;
maintainers = with lib.maintainers; [ fab ];
};
}
|