1{ lib
2, aioredis
3, buildPythonPackage
4, fetchFromGitHub
5, hypothesis
6, lupa
7, poetry-core
8, pybloom-live
9, pytest-asyncio
10, pytest-mock
11, pytestCheckHook
12, pythonOlder
13, redis
14, six
15, sortedcontainers
16}:
17
18buildPythonPackage rec {
19 pname = "fakeredis";
20 version = "2.20.0";
21 format = "pyproject";
22
23 disabled = pythonOlder "3.7";
24
25 src = fetchFromGitHub {
26 owner = "dsoftwareinc";
27 repo = "fakeredis-py";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-pRvUgK4OXVP2GR+Iu4ddqwApw0gYN4FkKjTpwbC1oWM=";
30 };
31
32 nativeBuildInputs = [
33 poetry-core
34 ];
35
36 propagatedBuildInputs = [
37 redis
38 six
39 sortedcontainers
40 ];
41
42 nativeCheckInputs = [
43 hypothesis
44 pytest-asyncio
45 pytest-mock
46 pytestCheckHook
47 ];
48
49 passthru.optional-dependencies = {
50 lua = [
51 lupa
52 ];
53 aioredis = [
54 aioredis
55 ];
56 bf = [
57 pybloom-live
58 ];
59 };
60
61 pythonImportsCheck = [
62 "fakeredis"
63 ];
64
65 meta = with lib; {
66 description = "Fake implementation of Redis API";
67 homepage = "https://github.com/dsoftwareinc/fakeredis-py";
68 changelog = "https://github.com/cunla/fakeredis-py/releases/tag/v${version}";
69 license = with licenses; [ mit ];
70 maintainers = with maintainers; [ fab ];
71 };
72}