redis 7.0.0b2__py3-none-any.whl → 7.0.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. redis/__init__.py +1 -1
  2. redis/_parsers/base.py +6 -0
  3. redis/_parsers/helpers.py +64 -6
  4. redis/asyncio/client.py +14 -5
  5. redis/asyncio/cluster.py +5 -1
  6. redis/asyncio/connection.py +19 -1
  7. redis/asyncio/http/__init__.py +0 -0
  8. redis/asyncio/http/http_client.py +265 -0
  9. redis/asyncio/multidb/__init__.py +0 -0
  10. redis/asyncio/multidb/client.py +530 -0
  11. redis/asyncio/multidb/command_executor.py +339 -0
  12. redis/asyncio/multidb/config.py +210 -0
  13. redis/asyncio/multidb/database.py +69 -0
  14. redis/asyncio/multidb/event.py +84 -0
  15. redis/asyncio/multidb/failover.py +125 -0
  16. redis/asyncio/multidb/failure_detector.py +38 -0
  17. redis/asyncio/multidb/healthcheck.py +285 -0
  18. redis/background.py +204 -0
  19. redis/client.py +49 -27
  20. redis/cluster.py +9 -1
  21. redis/commands/core.py +64 -29
  22. redis/commands/json/commands.py +2 -2
  23. redis/commands/search/__init__.py +2 -2
  24. redis/commands/search/aggregation.py +24 -26
  25. redis/commands/search/commands.py +10 -10
  26. redis/commands/search/field.py +2 -2
  27. redis/commands/search/query.py +12 -12
  28. redis/connection.py +1613 -1263
  29. redis/data_structure.py +81 -0
  30. redis/event.py +84 -10
  31. redis/exceptions.py +8 -0
  32. redis/http/__init__.py +0 -0
  33. redis/http/http_client.py +425 -0
  34. redis/maint_notifications.py +18 -7
  35. redis/multidb/__init__.py +0 -0
  36. redis/multidb/circuit.py +144 -0
  37. redis/multidb/client.py +526 -0
  38. redis/multidb/command_executor.py +350 -0
  39. redis/multidb/config.py +207 -0
  40. redis/multidb/database.py +130 -0
  41. redis/multidb/event.py +89 -0
  42. redis/multidb/exception.py +17 -0
  43. redis/multidb/failover.py +125 -0
  44. redis/multidb/failure_detector.py +104 -0
  45. redis/multidb/healthcheck.py +282 -0
  46. redis/retry.py +14 -1
  47. redis/utils.py +34 -0
  48. {redis-7.0.0b2.dist-info → redis-7.0.1.dist-info}/METADATA +17 -4
  49. {redis-7.0.0b2.dist-info → redis-7.0.1.dist-info}/RECORD +51 -25
  50. {redis-7.0.0b2.dist-info → redis-7.0.1.dist-info}/WHEEL +0 -0
  51. {redis-7.0.0b2.dist-info → redis-7.0.1.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: redis
3
- Version: 7.0.0b2
3
+ Version: 7.0.1
4
4
  Summary: Python client for Redis database and key-value store
5
5
  Project-URL: Changes, https://github.com/redis/redis-py/releases
6
6
  Project-URL: Code, https://github.com/redis/redis-py
@@ -28,6 +28,8 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
28
28
  Classifier: Programming Language :: Python :: Implementation :: PyPy
29
29
  Requires-Python: >=3.9
30
30
  Requires-Dist: async-timeout>=4.0.3; python_full_version < '3.11.3'
31
+ Provides-Extra: circuit-breaker
32
+ Requires-Dist: pybreaker>=1.4.0; extra == 'circuit-breaker'
31
33
  Provides-Extra: hiredis
32
34
  Requires-Dist: hiredis>=3.2.0; extra == 'hiredis'
33
35
  Provides-Extra: jwt
@@ -53,8 +55,9 @@ The Python interface to the Redis key-value store.
53
55
 
54
56
  ---------------------------------------------
55
57
 
56
- **Note:** redis-py 5.0 will be the last version of redis-py to support Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 will support Python 3.8+.
57
- **Note:** redis-py 6.1.0 will be the last version of redis-py to support Python 3.8, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 6.2.0 will support Python 3.9+.
58
+ **Note:** redis-py 5.0 is the last version of redis-py that supports Python 3.7, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 5.1 supports Python 3.8+.<br>
59
+ **Note:** redis-py 6.1.0 is the last version of redis-py that supports Python 3.8, as it has reached [end of life](https://devguide.python.org/versions/). redis-py 6.2.0 supports Python 3.9+.
60
+
58
61
  ---------------------------------------------
59
62
 
60
63
  ## How do I Redis?
@@ -99,7 +102,7 @@ Looking for a high-level library to handle object mapping? See [redis-om-python]
99
102
 
100
103
  ## Supported Redis Versions
101
104
 
102
- The most recent version of this library supports Redis version [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES), [7.4](https://github.com/redis/redis/blob/7.4/00-RELEASENOTES) and [8.0](https://github.com/redis/redis/blob/8.0/00-RELEASENOTES).
105
+ The most recent version of this library supports Redis version [7.2](https://github.com/redis/redis/blob/7.2/00-RELEASENOTES), [7.4](https://github.com/redis/redis/blob/7.4/00-RELEASENOTES), [8.0](https://github.com/redis/redis/blob/8.0/00-RELEASENOTES) and [8.2](https://github.com/redis/redis/blob/8.2/00-RELEASENOTES).
103
106
 
104
107
  The table below highlights version compatibility of the most-recent library versions and redis versions.
105
108
 
@@ -233,6 +236,16 @@ By default, the client now overrides the server-side dialect with version 2, aut
233
236
 
234
237
  You can find further details in the [query dialect documentation](https://redis.io/docs/latest/develop/interact/search-and-query/advanced-concepts/dialects/).
235
238
 
239
+ ### Multi-database client (Active-Active)
240
+
241
+ The multi-database client allows your application to connect to multiple Redis databases, which are typically replicas of each other. It is designed to work with Redis Software and Redis Cloud Active-Active setups. The client continuously monitors database health, detects failures, and automatically fails over to the next healthy database using a configurable strategy. When the original database becomes healthy again, the client can automatically switch back to it.<br>
242
+ This is useful when:
243
+
244
+ 1. You have more than one Redis deployment. This might include two independent Redis servers or two or more Redis databases replicated across multiple [active-active Redis Enterprise](https://redis.io/docs/latest/operate/rs/databases/active-active/) clusters.
245
+ 2. You want your application to connect to one deployment at a time and to fail over to the next available deployment if the first deployment becomes unavailable.
246
+
247
+ For the complete failover configuration options and examples, see the [Multi-database client docs](https://redis.readthedocs.io/en/latest/multi_database.html).
248
+
236
249
  ---------------------------------------------
237
250
 
238
251
  ### Author
@@ -1,38 +1,51 @@
1
- redis/__init__.py,sha256=1KkT7NqLnvjHwfu-QZH07wgLVu_NdNSsLQfgHhXEI3I,2050
1
+ redis/__init__.py,sha256=eq5gTrj1McuOdwkto3_KucClbaNQqiFiYkuwW3ZPWYY,2048
2
+ redis/background.py,sha256=Mm2yTCTW2yugDMKx8JCvyIKgiIhAh5WLdl4P-Hdd7_Q,5927
2
3
  redis/backoff.py,sha256=tQM6Lh2g2FjMH8iXg94br2sU9eri4mEW9FbOrMt0azs,5285
3
4
  redis/cache.py,sha256=d5zyX_DfXnrDIjFGs1nFMOLEl8pIvLF2kHcZchFAPGU,9569
4
- redis/client.py,sha256=GGAAqUdTmfVOzdvRRnVo5DZhB-PgxJKi8l4BXorSdOI,64437
5
- redis/cluster.py,sha256=o2W_X1bvHbqIXLog4FZxzJmZTYJM8__rnVO9NAqmrtA,124197
6
- redis/connection.py,sha256=yEY6-UdSob7b-vsVjNVSEZPTXeXeJqZ9Eegcqq64ws0,99048
5
+ redis/client.py,sha256=JzyOFcf_fdU5To0S9S2bCT7BX0KuYZ143Fk-NrYZvVg,65451
6
+ redis/cluster.py,sha256=IwXWDqPvUbDX9hgbw6JqWZN8G4u3667egquFk7RPMeY,124565
7
+ redis/connection.py,sha256=ACAu1YJcW9gkn3Iuh0dN3teTw_ixZCBbe8q9wpVNzxQ,111157
7
8
  redis/crc.py,sha256=Z3kXFtkY2LdgefnQMud1xr4vG5UYvA9LCMqNMX1ywu4,729
8
9
  redis/credentials.py,sha256=GOnO3-LSW34efHaIrUbS742Mw8l70mRzF6UrKiKZsMY,1828
9
- redis/event.py,sha256=ddsIm3uP1PagsN9oYyblE7vE6n9VDCe5cZVxdUogbCQ,12133
10
- redis/exceptions.py,sha256=b3OO87gncNCRUnx1d7O57N2kkjP-feXn70fPkXHaLmQ,5789
10
+ redis/data_structure.py,sha256=qTZq3s7gEmZVwyFBNfKnkKnm9q3-HHxnZfMH9sBIyD4,2527
11
+ redis/event.py,sha256=P4UkD_8gn25w3iO8_3oNnj4ZtgbARQaFCtuMH_JUbZ8,14140
12
+ redis/exceptions.py,sha256=-VYXehEhnng4muOw1ys00MkR9sF5GOsdN4vCeM2KqX0,5937
11
13
  redis/lock.py,sha256=GrvPSxaOqKo7iAL2oi5ZUEPsOkxAXHVE_Tp1ejgO2fY,12760
12
- redis/maint_notifications.py,sha256=8gfa_qJOM0AuU3z816fQ1UYvqvEiV6JiPNqEONm9tYY,29320
14
+ redis/maint_notifications.py,sha256=PV72lwQ2MKVQ6-7DjejuLu0Fh6gZUVOjCwQsQdP8NQ4,29846
13
15
  redis/ocsp.py,sha256=teYSmKnCtk6B3jJLdNYbZN4OE0mxgspt2zUPbkIQzio,11452
14
16
  redis/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- redis/retry.py,sha256=oS0nc0nYxEQaD4t95HEr1GhvhpOmnTKMnNtHn8Fqzxo,3405
17
+ redis/retry.py,sha256=jPpy1bZteOtfScsiXT9DBjxPSdtxdQQNZsuPfWClDFA,3611
16
18
  redis/sentinel.py,sha256=DP1XtO1HRemZMamC1TFHg_hBJRv9eoQgTMlZfPYRUo8,15013
17
19
  redis/typing.py,sha256=z5JQjGkNzejEzb2y7TXct7tS5yzAfLQod9o37Mh1_Ug,1953
18
- redis/utils.py,sha256=vO-njeF4ntROo1OReUiKtcY72I2JcEZYA62-_ssQW50,8495
20
+ redis/utils.py,sha256=pQRIgPrfNU3za2A5sBYtkW8CrMv9Q-eZclavmX0D5q8,9247
19
21
  redis/_parsers/__init__.py,sha256=gyf5dp918NuJAkWFl8sX1Z-qAvbX_40-_7YCTM6Rvjc,693
20
- redis/_parsers/base.py,sha256=5QAMeGIqKA7n-dIgyN1321r5-k0SyXo_VVwhWTWoFzM,16161
22
+ redis/_parsers/base.py,sha256=dQfNEvP-8P12juBwDMo7Ro8-Z3kbyz2FsSOXR7IBI90,16332
21
23
  redis/_parsers/commands.py,sha256=pmR4hl4u93UvCmeDgePHFc6pWDr4slrKEvCsdMmtj_M,11052
22
24
  redis/_parsers/encoders.py,sha256=X0jvTp-E4TZUlZxV5LJJ88TuVrF1vly5tuC0xjxGaSc,1734
23
- redis/_parsers/helpers.py,sha256=Y6n14fE0eCYbF3TBuJxhycnJ1yHKiYoAJrOCUaiWolg,29223
25
+ redis/_parsers/helpers.py,sha256=oTkQMuBh7QF4ZoPKV1LHcJtud771jnZQroGYjiVzNiE,31098
24
26
  redis/_parsers/hiredis.py,sha256=4UP0CCwG3QAgFQrvR0D2q7WFM5Fbr6y7gU_2KwjbZcA,11031
25
27
  redis/_parsers/resp2.py,sha256=f22kH-_ZP2iNtOn6xOe65MSy_fJpu8OEn1u_hgeeojI,4813
26
28
  redis/_parsers/resp3.py,sha256=xI_eswa5LdoR9gZzLhOP_B5Xp-bIJuvcE7ycA3XFrhk,10034
27
29
  redis/_parsers/socket.py,sha256=CKD8QW_wFSNlIZzxlbNduaGpiv0I8wBcsGuAIojDfJg,5403
28
30
  redis/asyncio/__init__.py,sha256=uoDD8XYVi0Kj6mcufYwLDUTQXmBRx7a0bhKF9stZr7I,1489
29
- redis/asyncio/client.py,sha256=_ZwEshqUZ395VE6kf1c0ogR5vxvb2inEEGEYOkydz70,64011
30
- redis/asyncio/cluster.py,sha256=6qlBNqBXAepubKXs2I1kbgqxsmk7DkmbOiCXsowflt0,92210
31
- redis/asyncio/connection.py,sha256=4TcVMcEAxcK9JMzR5x-Esw3AUqje8RMXq1zKSycP9NM,50952
31
+ redis/asyncio/client.py,sha256=_-04JvnKtH3JFlj5wE3-XFEkqF4okJDFiu_j4NtTKqQ,64385
32
+ redis/asyncio/cluster.py,sha256=5FfCQzAvMlkF3jgeXFEwpY5hvb9cHaQqJFxb9LbEK1c,92351
33
+ redis/asyncio/connection.py,sha256=QBqR-doqZhfMbFQOZDY0iS6n6F7_lu0MJk9kTrmDGnQ,51482
32
34
  redis/asyncio/lock.py,sha256=GxgV6EsyKpMjh74KtaOPxh4fNPuwApz6Th46qhvrAws,12801
33
35
  redis/asyncio/retry.py,sha256=Ikm0rsvnFItracA89DdPcejLqb_Sr4QBz73Ow_LUmwU,1880
34
36
  redis/asyncio/sentinel.py,sha256=Ppk-jlTubcHpa0lvinZ1pPTtQ5rFHXZkkaCZ7G_TCQs,14868
35
37
  redis/asyncio/utils.py,sha256=31xFzXczDgSRyf6hSjiwue1eDQ_XlP_OJdp5dKxW_aE,718
38
+ redis/asyncio/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
+ redis/asyncio/http/http_client.py,sha256=wftF-Yl4LAcBNkxy62HM2x5OSmpfEz6qxBFM-zft9rU,7947
40
+ redis/asyncio/multidb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ redis/asyncio/multidb/client.py,sha256=V0emN-BKrOjlDL7VGybWP2Ygkw2cG1iYcAyjnsMMmpg,18530
42
+ redis/asyncio/multidb/command_executor.py,sha256=c1H43SisdIAUB1gxcd8hkBZPB77kkbehr4924rKWw-8,11886
43
+ redis/asyncio/multidb/config.py,sha256=jPCUYU1Mvz3w-7fO4O_rCys5kULxEVSkaeEqE_d2_E8,8732
44
+ redis/asyncio/multidb/database.py,sha256=aytyHEhHMJ1BUquMd-Ry1YTer3eEnsIlM02e5hs2tso,1835
45
+ redis/asyncio/multidb/event.py,sha256=76GS22NwkeMVwtjr13UMeYD0pAB9KoPDvKWUin4DwHs,2788
46
+ redis/asyncio/multidb/failover.py,sha256=SEhlG2rA50Mz-Rk-W5l_wOREHmKQMDyxSRiSAt1NmMI,3635
47
+ redis/asyncio/multidb/failure_detector.py,sha256=1nipBfcjtLH8XprTQvOBE9y0kRC_YsPszEPzLKbiSU8,1263
48
+ redis/asyncio/multidb/healthcheck.py,sha256=Ku_npw6pcbPpVBL7joUTBTsywUofdUyZDwlKcaMrBmg,10320
36
49
  redis/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
50
  redis/auth/err.py,sha256=WYkbuDIzwp1S-eAvsya6QMlO6g9QIXbzMITOsTWX0xk,694
38
51
  redis/auth/idp.py,sha256=IMDIIb9q72vbIwtFN8vPdaAKZVTdh0HuC5uj5ufqmw4,631
@@ -40,7 +53,7 @@ redis/auth/token.py,sha256=qYwAgxFW3S93QDUqp1BTsj7Pj9ZohnixGeOX0s7AsjY,3317
40
53
  redis/auth/token_manager.py,sha256=ShBsYXiBZBJBOMB_Y-pXfLwEOAmc9s1okaCECinNZ7g,12018
41
54
  redis/commands/__init__.py,sha256=cTUH-MGvaLYS0WuoytyqtN1wniw2A1KbkUXcpvOSY3I,576
42
55
  redis/commands/cluster.py,sha256=vdWdpl4mP51oqfYBZHg5CUXt6jPaNp7aCLHyTieDrt8,31248
43
- redis/commands/core.py,sha256=-1_d9Qa63NVZKQ4TehxCSe0Y89kVuQibr41dDcqiwMY,241413
56
+ redis/commands/core.py,sha256=hBDWjmgtzX9qTRNTl6lkofXuSZd90bRn2CEDYWK878g,242489
44
57
  redis/commands/helpers.py,sha256=lon89DLjTGCJZJoV-5CfN_-NiUItG9R8CstZ8Ei8PzI,2579
45
58
  redis/commands/redismodules.py,sha256=-kLM4RBklDhNh-MXCra81ZTSstIQ-ulRab6v0dYUTdA,2573
46
59
  redis/commands/sentinel.py,sha256=Q1Xuw7qXA0YRZXGlIKsuOtah8UfF0QnkLywOTRvjiMY,5299
@@ -49,19 +62,19 @@ redis/commands/bf/commands.py,sha256=xeKt8E7G8HB-l922J0DLg07CEIZTVNGx_2Lfyw1gIck
49
62
  redis/commands/bf/info.py,sha256=_OB2v_hAPI9mdVNiBx8jUtH2MhMoct9ZRm-e8In6wQo,3355
50
63
  redis/commands/json/__init__.py,sha256=bznXhLYR652rfLfLp8cz0ZN0Yr8IRx4FgON_tq9_2Io,4845
51
64
  redis/commands/json/_util.py,sha256=hIBQ1TLCTgUifcLsg0x8kJlecxmXhA9I0zMnHlQk0Ho,137
52
- redis/commands/json/commands.py,sha256=ih8upnxeOpjPZXNfqeFBYxiCN2Cmyv8UGu3AlQnT6JQ,15723
65
+ redis/commands/json/commands.py,sha256=oeVUhjSAoKEXqKV_JDYHp5xLND073U3HQfyZdaNTzqc,15711
53
66
  redis/commands/json/decoders.py,sha256=a_IoMV_wgeJyUifD4P6HTcM9s6FhricwmzQcZRmc-Gw,1411
54
67
  redis/commands/json/path.py,sha256=0zaO6_q_FVMk1Bkhkb7Wcr8AF2Tfr69VhkKy1IBVhpA,393
55
- redis/commands/search/__init__.py,sha256=happQFVF0j7P87p7LQsUK5AK0kuem9cA-xvVRdQWpos,5744
68
+ redis/commands/search/__init__.py,sha256=SBN4kDgS8cUW9b8xvAycrKtsfzx3oMbHnYMmARW37e8,5774
56
69
  redis/commands/search/_util.py,sha256=9Mp72OO5Ib5UbfN7uXb-iB7hQCm1jQLV90ms2P9XSGU,219
57
- redis/commands/search/aggregation.py,sha256=R2ul26mH10dQxUdQNKqH-Os1thOz88m4taTK08khiZc,11564
58
- redis/commands/search/commands.py,sha256=4lnL7MXsp9XqMyUgPxJ9S6p8BRnsIrjXuwvSTL9qo3E,38436
70
+ redis/commands/search/aggregation.py,sha256=fPIpcUj_z1u6rsulGgFpgMDA0EhWUVjIJW0j466GH6I,11578
71
+ redis/commands/search/commands.py,sha256=5pBc5efqD0_O0A83zOhfoHAfLDgWvmNprWdAy6wCqG4,38532
59
72
  redis/commands/search/dialect.py,sha256=-7M6kkr33x0FkMtKmUsbeRAE6qxLUbqdJCqIo0UKIXo,105
60
73
  redis/commands/search/document.py,sha256=g2R-PRgq-jN33_GLXzavvse4cpIHBMfjPfPK7tnE9Gc,413
61
- redis/commands/search/field.py,sha256=g9I1LHrVJKO1KtiUwotxrQvpg89e-sx26oClHuaKTn8,5935
74
+ redis/commands/search/field.py,sha256=KQFKCGVaABn9vDYnAcB0jaMwGxJqiZ8fEJHP_VieBR8,5935
62
75
  redis/commands/search/index_definition.py,sha256=VL2CMzjxN0HEIaTn88evnHX1fCEmytbik4vAmiiYSC8,2489
63
76
  redis/commands/search/profile_information.py,sha256=w9SbMiHbcZ1TpsZMe8cMIyO1hGkm5GhnZ_Gqg1feLtc,249
64
- redis/commands/search/query.py,sha256=0h-5nn6FlROdPQ1KJ1cqa8ZW4igm3-sk05oxAP-mC3M,12204
77
+ redis/commands/search/query.py,sha256=9-CCxjakf53BowKLRgLdAhZIZXlWZRjT3bfVyudkGFw,12361
65
78
  redis/commands/search/querystring.py,sha256=dE577kOqkCErNgO-IXI4xFVHI8kQE-JiH5ZRI_CKjHE,7597
66
79
  redis/commands/search/reducers.py,sha256=Scceylx8BjyqS-TJOdhNW63n6tecL9ojt4U5Sqho5UY,4220
67
80
  redis/commands/search/result.py,sha256=iuqmwOeCNo_7N4a_YxxDzVdOTpbwfF1T2uuq5sTqzMo,2624
@@ -73,7 +86,20 @@ redis/commands/timeseries/utils.py,sha256=NLwSOS5Dz9N8dYQSzEyBIvrItOWwfQ0xgDj8un
73
86
  redis/commands/vectorset/__init__.py,sha256=w2TWc5lCb674jZv8GP9dxYSTGP1yq15ZkF9075nJiIs,1322
74
87
  redis/commands/vectorset/commands.py,sha256=Ja2dybLBDdd0M47H4dCvmXFM0_hOQ6rNMP8kHPNVjWc,13399
75
88
  redis/commands/vectorset/utils.py,sha256=kApyWTzG_HEgTj6wSzBuMVz-qWMhPSgr-Do_5cHSS6E,4472
76
- redis-7.0.0b2.dist-info/METADATA,sha256=44Z28CzghsSIho2QEbpaWLWlV-kODbQ7FACVWvs-yeo,10786
77
- redis-7.0.0b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
78
- redis-7.0.0b2.dist-info/licenses/LICENSE,sha256=pXslClvwPXr-VbdAYzE_Ktt7ANVGwKsUmok5gzP-PMg,1074
79
- redis-7.0.0b2.dist-info/RECORD,,
89
+ redis/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
90
+ redis/http/http_client.py,sha256=7pjty24rIlrnSfedHx4X89JTL6xZtOHjDCvLjUkNq4Q,15179
91
+ redis/multidb/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
92
+ redis/multidb/circuit.py,sha256=M3VHfRfIzIIDrrYURi-qy4d-IgK44mBq8E03aWhTXtM,3856
93
+ redis/multidb/client.py,sha256=zyBmrqTfKstiAdgdNLjObR9fL-svDsSFF-qCDTT1mOI,18270
94
+ redis/multidb/command_executor.py,sha256=PBD4jyeHaaXuNhqTGmPX4r-Hew8GuOFhXylZUXEuop8,11840
95
+ redis/multidb/config.py,sha256=OiLj0ypmRhe7U2U7kB9_Zw2VSEhxUMYTQSlC7f5hHco,8634
96
+ redis/multidb/database.py,sha256=QIVvGtUy4j1_Ruq5iLl1tCEF1EnA4InlyZVcvBh3yQY,3569
97
+ redis/multidb/event.py,sha256=91-8eBGXM5vD_YpQg4lqVHQBf4ZnPnHj-xdZmxft5LI,2978
98
+ redis/multidb/exception.py,sha256=7HeVb1S_guotBW2CXEhCP_dBa6ETAnOVrbMEy0EQ6NE,513
99
+ redis/multidb/failover.py,sha256=gpbfojRrUiHEedyeJpfruU3qTS01PUSqrVx8ACCDduU,3575
100
+ redis/multidb/failure_detector.py,sha256=rhssP3V9ptn0fuhM-HwNguKcMYABEHex9LRueoDIIok,3818
101
+ redis/multidb/healthcheck.py,sha256=WskDIR-iJNk5GW2jL4ppOr0lnIP_GAzB5jk9iKn232k,10025
102
+ redis-7.0.1.dist-info/METADATA,sha256=ZOL_QJvzypyTVOlShWq14UMi8LTxHGn_Out_sWbAEic,12057
103
+ redis-7.0.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
104
+ redis-7.0.1.dist-info/licenses/LICENSE,sha256=pXslClvwPXr-VbdAYzE_Ktt7ANVGwKsUmok5gzP-PMg,1074
105
+ redis-7.0.1.dist-info/RECORD,,
File without changes