1{ lib
2, async-timeout
3, buildPythonPackage
4, cython
5, fetchFromGitHub
6, gssapi
7, kafka-python
8, lz4
9, packaging
10, python-snappy
11, pythonOlder
12, zlib
13, zstandard
14}:
15
16buildPythonPackage rec {
17 pname = "aiokafka";
18 version = "0.8.1";
19 format = "setuptools";
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchFromGitHub {
24 owner = "aio-libs";
25 repo = pname;
26 rev = "refs/tags/v${version}";
27 hash = "sha256-O5cDP0PWFrxNSdwWqUUkErUKf1Tt9agKJqWIjd4jGqk=";
28 };
29
30 nativeBuildInputs = [
31 cython
32 ];
33
34 buildInputs = [
35 zlib
36 ];
37
38 propagatedBuildInputs = [
39 async-timeout
40 kafka-python
41 packaging
42 ];
43
44 passthru.optional-dependencies = {
45 snappy = [
46 python-snappy
47 ];
48 lz4 = [
49 lz4
50 ];
51 zstd = [
52 zstandard
53 ];
54 gssapi = [
55 gssapi
56 ];
57 };
58
59 # Checks require running Kafka server
60 doCheck = false;
61
62 pythonImportsCheck = [
63 "aiokafka"
64 ];
65
66 meta = with lib; {
67 description = "Kafka integration with asyncio";
68 homepage = "https://aiokafka.readthedocs.org";
69 changelog = "https://github.com/aio-libs/aiokafka/releases/tag/v${version}";
70 license = licenses.asl20;
71 maintainers = with maintainers; [ costrouc ];
72 };
73}