1{ buildPythonPackage
2, fetchFromGitHub
3, lib
4, pythonOlder
5, h2
6, multidict
7, pytestCheckHook
8, pytest-asyncio
9, async-timeout
10, faker
11, googleapis-common-protos
12, certifi
13}:
14let
15 pname = "grpclib";
16 version = "0.4.3";
17in
18buildPythonPackage {
19 inherit pname version;
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "vmagamedov";
24 repo = pname;
25 rev = "v${version}";
26 sha256 = "sha256-zjctvsuX5yJl1EXIAaiukWGYJbdgU7OZllgOYAmp1b4=";
27 };
28
29 propagatedBuildInputs = [
30 h2
31 multidict
32 ];
33
34 checkInputs = [
35 pytestCheckHook
36 pytest-asyncio
37 async-timeout
38 faker
39 googleapis-common-protos
40 certifi
41 ];
42
43 pythonImportsCheck = [ "grpclib" ];
44
45 meta = with lib; {
46 description = "Pure-Python gRPC implementation for asyncio";
47 homepage = "https://github.com/vmagamedov/grpclib";
48 license = licenses.bsd3;
49 maintainers = with maintainers; [ nikstur ];
50 };
51}