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