at master 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 cbor-diag, 5 cbor2, 6 cryptography, 7 dtlssocket, 8 fetchFromGitHub, 9 filelock, 10 ge25519, 11 pygments, 12 pytestCheckHook, 13 pythonAtLeast, 14 pythonOlder, 15 setuptools, 16 termcolor, 17 websockets, 18}: 19 20buildPythonPackage rec { 21 pname = "aiocoap"; 22 version = "0.4.14"; 23 pyproject = true; 24 25 disabled = pythonOlder "3.10"; 26 27 src = fetchFromGitHub { 28 owner = "chrysn"; 29 repo = "aiocoap"; 30 tag = version; 31 hash = "sha256-v0OzRWHlGaBKqqcIyAlVafd/siXVwaTAZqw+Sstju3s="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 optional-dependencies = { 37 oscore = [ 38 cbor2 39 cryptography 40 filelock 41 ge25519 42 ]; 43 tinydtls = [ dtlssocket ]; 44 ws = [ websockets ]; 45 prettyprint = [ 46 termcolor 47 cbor2 48 pygments 49 cbor-diag 50 ]; 51 }; 52 53 nativeCheckInputs = [ pytestCheckHook ]; 54 55 disabledTestPaths = [ 56 # Don't test the plugins 57 "tests/test_tls.py" 58 "tests/test_reverseproxy.py" 59 "tests/test_oscore_plugtest.py" 60 ]; 61 62 disabledTests = [ 63 # Communication is not properly mocked 64 "test_uri_parser" 65 # Doctest 66 "test_001" 67 # CLI test 68 "test_help" 69 ]; 70 71 pythonImportsCheck = [ "aiocoap" ]; 72 73 meta = with lib; { 74 description = "Python CoAP library"; 75 homepage = "https://aiocoap.readthedocs.io/"; 76 changelog = "https://github.com/chrysn/aiocoap/blob/${version}/NEWS"; 77 license = licenses.mit; 78 maintainers = with maintainers; [ fab ]; 79 }; 80}