1{ lib
2, async-timeout
3, buildPythonPackage
4, deprecated
5, fetchFromGitHub
6, pympler
7, pytest-asyncio
8, pytestCheckHook
9, pythonOlder
10, redis
11, wrapt
12}:
13
14buildPythonPackage rec {
15 pname = "coredis";
16 version = "4.16.0";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.8";
20
21 src = fetchFromGitHub {
22 owner = "alisaifee";
23 repo = pname;
24 rev = "refs/tags/${version}";
25 hash = "sha256-7qpoNc5/z8/EKtGWULrPPwfH9swYe9TqqUL+zxrFQSk=";
26 };
27
28 postPatch = ''
29 substituteInPlace pytest.ini \
30 --replace "-K" ""
31 '';
32
33 propagatedBuildInputs = [
34 async-timeout
35 deprecated
36 pympler
37 wrapt
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 redis
43 pytest-asyncio
44 ];
45
46 pythonImportsCheck = [
47 "coredis"
48 ];
49
50 pytestFlagsArray = [
51 # All other tests require Docker
52 "tests/test_lru_cache.py"
53 "tests/test_parsers.py"
54 "tests/test_retry.py"
55 "tests/test_utils.py"
56 ];
57
58 meta = with lib; {
59 description = "An async redis client with support for redis server, cluster & sentinel";
60 homepage = "https://github.com/alisaifee/coredis";
61 changelog = "https://github.com/alisaifee/coredis/blob/${src.rev}/HISTORY.rst";
62 license = licenses.mit;
63 maintainers = teams.wdz.members;
64 };
65}