1{ lib
2, buildPythonPackage
3, fetchpatch
4, fetchPypi
5, async-timeout
6, typing-extensions
7, hiredis
8, isPyPy
9, pythonOlder
10}:
11
12buildPythonPackage rec {
13 pname = "aioredis";
14 version = "2.0.1";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.6";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-6qUar5k/LXH1S3BSfEQEN7plNAWIr+t4bNh8Vcic2Y4=";
22 };
23
24 patches = [
25 # https://github.com/aio-libs-abandoned/aioredis-py/pull/1490
26 (fetchpatch {
27 name = "python-3.11-compatibility.patch";
28 url = "https://github.com/aio-libs-abandoned/aioredis-py/commit/1b951502dc8f149fa66beafeea40c782f1c5c1d3.patch";
29 hash = "sha256-EqkiYktxISg0Rv4ShXOksGvuUyljPxjJsfNOVaaax2o=";
30 includes = [ "aioredis/exceptions.py" ];
31 })
32 ];
33
34 propagatedBuildInputs = [
35 async-timeout
36 typing-extensions
37 ] ++ lib.optional (!isPyPy) hiredis;
38
39 # Wants to run redis-server, hardcoded FHS paths, too much trouble.
40 doCheck = false;
41
42 meta = with lib; {
43 description = "Asyncio (PEP 3156) Redis client library";
44 homepage = "https://github.com/aio-libs-abandoned/aioredis-py";
45 license = licenses.mit;
46 maintainers = with maintainers; [ mmai ];
47 };
48}