1{ lib
2, aiohttp
3, buildPythonPackage
4, busypie
5, cbor2
6, fetchFromGitHub
7, pycryptodomex
8, pytestCheckHook
9, pytest-vcr
10, pytest-asyncio
11, requests
12, pythonOlder
13}:
14
15buildPythonPackage rec {
16 pname = "pubnub";
17 version = "7.3.1";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = pname;
24 repo = "python";
25 rev = "refs/tags/v${version}";
26 hash = "sha256-V6yw/OscTGwrFcjHEhwtaT7txWLqbVj0uYjuoSAtP2E=";
27 };
28
29 propagatedBuildInputs = [
30 aiohttp
31 cbor2
32 pycryptodomex
33 requests
34 ];
35
36 nativeCheckInputs = [
37 busypie
38 pytest-asyncio
39 pytest-vcr
40 pytestCheckHook
41 ];
42
43 disabledTestPaths = [
44 # Tests require network access
45 "tests/integrational"
46 "tests/manual"
47 "tests/functional/push"
48 ];
49
50 disabledTests = [
51 "test_subscribe"
52 "test_handshaking"
53 ];
54
55 pythonImportsCheck = [
56 "pubnub"
57 ];
58
59 meta = with lib; {
60 description = "Python-based APIs for PubNub";
61 homepage = "https://github.com/pubnub/python";
62 changelog = "https://github.com/pubnub/python/releases/tag/v${version}";
63 license = with licenses; [ mit ];
64 maintainers = with maintainers; [ fab ];
65 };
66}