1{
2 lib,
3 async-timeout,
4 buildPythonPackage,
5 certifi,
6 faker,
7 fetchFromGitHub,
8 googleapis-common-protos,
9 h2,
10 multidict,
11 pytest-asyncio_0,
12 pytestCheckHook,
13 pythonOlder,
14 setuptools,
15}:
16
17buildPythonPackage rec {
18 pname = "grpclib";
19 version = "0.4.8";
20 pyproject = true;
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "vmagamedov";
26 repo = "grpclib";
27 tag = "v${version}";
28 hash = "sha256-Z+DMwGMUxNTQ7ABd4q/FgMHEZ/NCOtst+6QfQJm3jVU=";
29 };
30
31 build-system = [ setuptools ];
32
33 dependencies = [
34 h2
35 multidict
36 ];
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 pytest-asyncio_0
41 async-timeout
42 faker
43 googleapis-common-protos
44 certifi
45 ];
46
47 pythonImportsCheck = [ "grpclib" ];
48
49 meta = with lib; {
50 description = "Pure-Python gRPC implementation for asyncio";
51 homepage = "https://github.com/vmagamedov/grpclib";
52 changelog = "https://github.com/vmagamedov/grpclib/blob/v${version}/docs/changelog/index.rst";
53 license = licenses.bsd3;
54 maintainers = with maintainers; [ nikstur ];
55 };
56}