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