1{
2 lib,
3 aenum,
4 aiohttp,
5 buildPythonPackage,
6 fetchFromGitHub,
7 lark,
8 poetry-core,
9 poetry-dynamic-versioning,
10 pycryptodomex,
11 pygtrie,
12 pytestCheckHook,
13 pythonRelaxDepsHook,
14 pythonOlder,
15 setuptools,
16}:
17
18buildPythonPackage rec {
19 pname = "python-ndn";
20 version = "0.4.1";
21
22 format = "pyproject";
23
24 src = fetchFromGitHub {
25 owner = "named-data";
26 repo = pname;
27 rev = "refs/tags/v${version}";
28 hash = "sha256-ArTP4LQu7VNjI/N13gMTc1SDiNmW5l4GdLYOk8JEfKg=";
29 };
30
31 disabled = pythonOlder "3.11";
32
33 nativeBuildInputs = [
34 setuptools
35 poetry-core
36 pythonRelaxDepsHook
37 ];
38
39 propagatedBuildInputs = [
40 poetry-dynamic-versioning
41 pycryptodomex
42 lark
43 pygtrie
44 aenum
45 aiohttp
46 ];
47
48 nativeCheckInputs = [ pytestCheckHook ];
49
50 pythonRelaxDeps = [ "lark" ];
51
52 pythonImportsCheck = [ "ndn" ];
53
54 meta = with lib; {
55 description = "An NDN client library with AsyncIO support";
56 homepage = "https://github.com/named-data/python-ndn";
57 changelog = "https://github.com/named-data/python-ndn/blob/${src.rev}/CHANGELOG.rst";
58 license = licenses.asl20;
59 maintainers = with maintainers; [ janik ];
60 };
61}