1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, pythonOlder
5, dataclasses
6, kafka-python
7, cython
8, zlib
9}:
10
11buildPythonPackage rec {
12 pname = "aiokafka";
13 version = "0.7.2";
14 disabled = pythonOlder "3.6";
15
16 src = fetchFromGitHub {
17 owner = "aio-libs";
18 repo = pname;
19 rev = "v${version}";
20 sha256 = "sha256-D+91k4zVg28qPbWIrvyXi6WtDs1jeJt9jFGsrSBA3cs=";
21 };
22
23 nativeBuildInputs = [
24 cython
25 ];
26
27 buildInputs = [
28 zlib
29 ];
30
31 propagatedBuildInputs = [
32 kafka-python
33 ] ++ lib.optionals (pythonOlder "3.7") [
34 dataclasses
35 ];
36
37 # checks require running kafka server
38 doCheck = false;
39
40 pythonImportsCheck = [ "aiokafka" ];
41
42 meta = with lib; {
43 description = "Kafka integration with asyncio";
44 homepage = "https://aiokafka.readthedocs.org";
45 license = licenses.asl20;
46 maintainers = [ maintainers.costrouc ];
47 };
48}