# coredis
[![docs](https://readthedocs.org/projects/coredis/badge/?version=stable)](https://coredis.readthedocs.org)
[![codecov](https://codecov.io/gh/alisaifee/coredis/branch/master/graph/badge.svg)](https://codecov.io/gh/alisaifee/coredis)
[![Latest Version in PyPI](https://img.shields.io/pypi/v/coredis.svg)](https://pypi.python.org/pypi/coredis/)
[![ci](https://github.com/alisaifee/coredis/workflows/CI/badge.svg?branch=master)](https://github.com/alisaifee/coredis/actions?query=branch%3Amaster+workflow%3ACI)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/coredis.svg)](https://pypi.python.org/pypi/coredis/)
______________________________________________________________________
coredis is an async redis client with support for redis server, cluster & sentinel.
- The client API uses the specifications in the [Redis command documentation](https://redis.io/commands/) to define the API by using the following conventions:
- Arguments retain naming from redis as much as possible
- Only optional variadic arguments are mapped to variadic positional or keyword arguments.
When the variable length arguments are not optional (which is almost always the case) the expected argument
is an iterable of type [Parameters](https://coredis.readthedocs.io/en/latest/api/typing.html#coredis.typing.Parameters) or `Mapping`.
- Pure tokens used as flags are mapped to boolean arguments
- `One of` arguments accepting pure tokens are collapsed and accept a [PureToken](https://coredis.readthedocs.io/en/latest/api/utilities.html#coredis.tokens.PureToken)
- Responses are mapped between RESP and python types as closely as possible.
- For higher level concepts such as Pipelines, LUA Scripts, PubSub & Streams
abstractions are provided to encapsulate recommended patterns.
See the [Handbook](https://coredis.readthedocs.io/en/latest/handbook/index.html)
and the [API Documentation](https://coredis.readthedocs.io/en/latest/api/index.html)
for more details.
> **Warning**
> The command API does NOT mirror the official python [redis client](https://github.com/redis/redis-py). For details about the high level differences refer to [Divergence from aredis & redis-py](https://coredis.readthedocs.io/en/latest/history.html#divergence-from-aredis-redis-py)
______________________________________________________________________
<!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->
- [Installation](#installation)
- [Feature Summary](#feature-summary)
- [Deployment topologies](#deployment-topologies)
- [Application patterns](#application-patterns)
- [Server side scripting](#server-side-scripting)
- [Redis Modules](#redis-modules)
- [Miscellaneous](#miscellaneous)
- [Quick start](#quick-start)
- [Single Node or Cluster client](#single-node-or-cluster-client)
- [Sentinel](#sentinel)
- [Compatibility](#compatibility)
- [Supported python versions](#supported-python-versions)
- [Redis API compatible databases backends](#redis-api-compatible-databases)
- [References](#references)
<!-- /TOC -->
## Installation
To install coredis:
```bash
$ pip install coredis
```
## Feature Summary
### Deployment topologies
- [Redis Cluster](https://coredis.readthedocs.org/en/latest/handbook/cluster.html#redis-cluster)
- [Sentinel](https://coredis.readthedocs.org/en/latest/api/clients.html#sentinel)
### Application patterns
- [Connection Pooling](https://coredis.readthedocs.org/en/latest/handbook/connections.html#connection-pools)
- [PubSub](https://coredis.readthedocs.org/en/latest/handbook/pubsub.html)
- [Sharded PubSub](https://coredis.readthedocs.org/en/latest/handbook/pubsub.html#sharded-pub-sub) \[`>= Redis 7.0`\]
- [Stream Consumers](https://coredis.readthedocs.org/en/latest/handbook/streams.html)
- [Pipelining](https://coredis.readthedocs.org/en/latest/handbook/pipelines.html)
- [Client side caching](https://coredis.readthedocs.org/en/latest/handbook/caching.html)
### Server side scripting
- [LUA Scripting](https://coredis.readthedocs.org/en/latest/handbook/scripting.html#lua_scripting)
- [Redis Libraries and functions](https://coredis.readthedocs.org/en/latest/handbook/scripting.html#library-functions) \[`>= Redis 7.0`\]
### Redis Modules
- [RedisJSON](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisjson)
- [RediSearch](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisearch)
- [RedisGraph](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisgraph)
- [RedisBloom](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisbloom)
- [RedisTimeSeries](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redistimeseries)
### Miscellaneous
- Public API annotated with type annotations
- Optional [Runtime Type Validation](https://coredis.readthedocs.org/en/latest/handbook/typing.html#runtime-type-checking) (via [beartype](https://github.com/beartype/beartype))
## Quick start
### Single Node or Cluster client
```python
import asyncio
from coredis import Redis, RedisCluster
async def example():
client = Redis(host='127.0.0.1', port=6379, db=0)
# or with redis cluster
# client = RedisCluster(startup_nodes=[{"host": "127.0.01", "port": 7001}])
await client.flushdb()
await client.set('foo', 1)
assert await client.exists(['foo']) == 1
assert await client.incr('foo') == 2
assert await client.incrby('foo', increment=100) == 102
assert int(await client.get('foo')) == 102
assert await client.expire('foo', 1)
await asyncio.sleep(0.1)
assert await client.ttl('foo') == 1
assert await client.pttl('foo') < 1000
await asyncio.sleep(1)
assert not await client.exists(['foo'])
asyncio.run(example())
```
### Sentinel
```python
import asyncio
from coredis.sentinel import Sentinel
async def example():
sentinel = Sentinel(sentinels=[("localhost", 26379)])
primary = sentinel.primary_for("myservice")
replica = sentinel.replica_for("myservice")
assert await primary.set("fubar", 1)
assert int(await replica.get("fubar")) == 1
asyncio.run(example())
```
To see a full list of supported redis commands refer to the [Command
compatibility](https://coredis.readthedocs.io/en/latest/compatibility.html)
documentation
Details about supported Redis modules and their commands can be found
[here](https://coredis.readthedocs.io/en/latest/handbook/modules.html)
## Compatibility
coredis is tested against redis versions `6.2.x`, `7.0.x`, `7.2.x` & `7.4.x`
The test matrix status can be reviewed
[here](https://github.com/alisaifee/coredis/actions/workflows/main.yml)
coredis is additionally tested against:
- ` uvloop >= 0.15.0`
### Supported python versions
- 3.9
- 3.10
- 3.11
- 3.12
- 3.13
- PyPy 3.9
- PyPy 3.10
### Redis API compatible databases
**coredis** is known to work with the following databases that have redis protocol compatibility:
- [KeyDB](https://docs.keydb.dev/)
- [Dragonfly](https://dragonflydb.io/)
- [Redict](https://redict.io/)
- [Valkey](https://github.com/valkey-io/valkey)
## References
- [Documentation (Stable)](http://coredis.readthedocs.org/en/stable)
- [Documentation (Latest)](http://coredis.readthedocs.org/en/latest)
- [Changelog](http://coredis.readthedocs.org/en/stable/release_notes.html)
- [Project History](http://coredis.readthedocs.org/en/stable/history.html)
Raw data
{
"_id": null,
"home_page": "https://github.com/alisaifee/coredis",
"name": "coredis",
"maintainer": "Ali-Akber Saifee",
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": "ali@indydevs.org",
"keywords": "Redis, key-value store, asyncio",
"author": "Ali-Akber Saifee",
"author_email": "ali@indydevs.org",
"download_url": "https://files.pythonhosted.org/packages/1f/78/c49b8866a780839ab61d244e9853d58f246d8a80bb43f6f25e890df12f0b/coredis-4.18.0.tar.gz",
"platform": null,
"description": "# coredis\n\n[![docs](https://readthedocs.org/projects/coredis/badge/?version=stable)](https://coredis.readthedocs.org)\n[![codecov](https://codecov.io/gh/alisaifee/coredis/branch/master/graph/badge.svg)](https://codecov.io/gh/alisaifee/coredis)\n[![Latest Version in PyPI](https://img.shields.io/pypi/v/coredis.svg)](https://pypi.python.org/pypi/coredis/)\n[![ci](https://github.com/alisaifee/coredis/workflows/CI/badge.svg?branch=master)](https://github.com/alisaifee/coredis/actions?query=branch%3Amaster+workflow%3ACI)\n[![Supported Python versions](https://img.shields.io/pypi/pyversions/coredis.svg)](https://pypi.python.org/pypi/coredis/)\n\n______________________________________________________________________\n\ncoredis is an async redis client with support for redis server, cluster & sentinel.\n\n- The client API uses the specifications in the [Redis command documentation](https://redis.io/commands/) to define the API by using the following conventions:\n\n - Arguments retain naming from redis as much as possible\n - Only optional variadic arguments are mapped to variadic positional or keyword arguments.\n When the variable length arguments are not optional (which is almost always the case) the expected argument\n is an iterable of type [Parameters](https://coredis.readthedocs.io/en/latest/api/typing.html#coredis.typing.Parameters) or `Mapping`.\n - Pure tokens used as flags are mapped to boolean arguments\n - `One of` arguments accepting pure tokens are collapsed and accept a [PureToken](https://coredis.readthedocs.io/en/latest/api/utilities.html#coredis.tokens.PureToken)\n\n- Responses are mapped between RESP and python types as closely as possible.\n\n- For higher level concepts such as Pipelines, LUA Scripts, PubSub & Streams\n abstractions are provided to encapsulate recommended patterns.\n See the [Handbook](https://coredis.readthedocs.io/en/latest/handbook/index.html)\n and the [API Documentation](https://coredis.readthedocs.io/en/latest/api/index.html)\n for more details.\n\n> **Warning**\n> The command API does NOT mirror the official python [redis client](https://github.com/redis/redis-py). For details about the high level differences refer to [Divergence from aredis & redis-py](https://coredis.readthedocs.io/en/latest/history.html#divergence-from-aredis-redis-py)\n\n______________________________________________________________________\n\n<!-- TOC depthFrom:2 depthTo:6 withLinks:1 updateOnSave:1 orderedList:0 -->\n\n- [Installation](#installation)\n- [Feature Summary](#feature-summary)\n - [Deployment topologies](#deployment-topologies)\n - [Application patterns](#application-patterns)\n - [Server side scripting](#server-side-scripting)\n - [Redis Modules](#redis-modules)\n - [Miscellaneous](#miscellaneous)\n- [Quick start](#quick-start)\n - [Single Node or Cluster client](#single-node-or-cluster-client)\n - [Sentinel](#sentinel)\n- [Compatibility](#compatibility)\n - [Supported python versions](#supported-python-versions)\n - [Redis API compatible databases backends](#redis-api-compatible-databases)\n- [References](#references)\n\n<!-- /TOC -->\n\n## Installation\n\nTo install coredis:\n\n```bash\n$ pip install coredis\n```\n\n## Feature Summary\n\n### Deployment topologies\n\n- [Redis Cluster](https://coredis.readthedocs.org/en/latest/handbook/cluster.html#redis-cluster)\n- [Sentinel](https://coredis.readthedocs.org/en/latest/api/clients.html#sentinel)\n\n### Application patterns\n\n- [Connection Pooling](https://coredis.readthedocs.org/en/latest/handbook/connections.html#connection-pools)\n- [PubSub](https://coredis.readthedocs.org/en/latest/handbook/pubsub.html)\n- [Sharded PubSub](https://coredis.readthedocs.org/en/latest/handbook/pubsub.html#sharded-pub-sub) \\[`>= Redis 7.0`\\]\n- [Stream Consumers](https://coredis.readthedocs.org/en/latest/handbook/streams.html)\n- [Pipelining](https://coredis.readthedocs.org/en/latest/handbook/pipelines.html)\n- [Client side caching](https://coredis.readthedocs.org/en/latest/handbook/caching.html)\n\n### Server side scripting\n\n- [LUA Scripting](https://coredis.readthedocs.org/en/latest/handbook/scripting.html#lua_scripting)\n- [Redis Libraries and functions](https://coredis.readthedocs.org/en/latest/handbook/scripting.html#library-functions) \\[`>= Redis 7.0`\\]\n\n### Redis Modules\n\n- [RedisJSON](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisjson)\n- [RediSearch](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisearch)\n- [RedisGraph](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisgraph)\n- [RedisBloom](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redisbloom)\n- [RedisTimeSeries](https://coredis.readthedocs.org/en/latest/handbook/modules.html#redistimeseries)\n\n### Miscellaneous\n\n- Public API annotated with type annotations\n- Optional [Runtime Type Validation](https://coredis.readthedocs.org/en/latest/handbook/typing.html#runtime-type-checking) (via [beartype](https://github.com/beartype/beartype))\n\n## Quick start\n\n### Single Node or Cluster client\n\n```python\nimport asyncio\nfrom coredis import Redis, RedisCluster\n\nasync def example():\n client = Redis(host='127.0.0.1', port=6379, db=0)\n # or with redis cluster\n # client = RedisCluster(startup_nodes=[{\"host\": \"127.0.01\", \"port\": 7001}])\n await client.flushdb()\n await client.set('foo', 1)\n assert await client.exists(['foo']) == 1\n assert await client.incr('foo') == 2\n assert await client.incrby('foo', increment=100) == 102\n assert int(await client.get('foo')) == 102\n\n assert await client.expire('foo', 1)\n await asyncio.sleep(0.1)\n assert await client.ttl('foo') == 1\n assert await client.pttl('foo') < 1000\n await asyncio.sleep(1)\n assert not await client.exists(['foo'])\n\nasyncio.run(example())\n```\n\n### Sentinel\n\n```python\nimport asyncio\nfrom coredis.sentinel import Sentinel\n\nasync def example():\n sentinel = Sentinel(sentinels=[(\"localhost\", 26379)])\n primary = sentinel.primary_for(\"myservice\")\n replica = sentinel.replica_for(\"myservice\")\n\n assert await primary.set(\"fubar\", 1)\n assert int(await replica.get(\"fubar\")) == 1\n\nasyncio.run(example())\n```\n\nTo see a full list of supported redis commands refer to the [Command\ncompatibility](https://coredis.readthedocs.io/en/latest/compatibility.html)\ndocumentation\n\nDetails about supported Redis modules and their commands can be found\n[here](https://coredis.readthedocs.io/en/latest/handbook/modules.html)\n\n## Compatibility\n\ncoredis is tested against redis versions `6.2.x`, `7.0.x`, `7.2.x` & `7.4.x`\nThe test matrix status can be reviewed\n[here](https://github.com/alisaifee/coredis/actions/workflows/main.yml)\n\ncoredis is additionally tested against:\n\n- ` uvloop >= 0.15.0`\n\n### Supported python versions\n\n- 3.9\n- 3.10\n- 3.11\n- 3.12\n- 3.13\n- PyPy 3.9\n- PyPy 3.10\n\n### Redis API compatible databases\n\n**coredis** is known to work with the following databases that have redis protocol compatibility:\n\n- [KeyDB](https://docs.keydb.dev/)\n- [Dragonfly](https://dragonflydb.io/)\n- [Redict](https://redict.io/)\n- [Valkey](https://github.com/valkey-io/valkey)\n\n## References\n\n- [Documentation (Stable)](http://coredis.readthedocs.org/en/stable)\n- [Documentation (Latest)](http://coredis.readthedocs.org/en/latest)\n- [Changelog](http://coredis.readthedocs.org/en/stable/release_notes.html)\n- [Project History](http://coredis.readthedocs.org/en/stable/history.html)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python async client for Redis key-value store",
"version": "4.18.0",
"project_urls": {
"Changes": "https://github.com/alisaifee/coredis/releases",
"Documentation": "https://coredis.readthedocs.org",
"Homepage": "https://github.com/alisaifee/coredis",
"Source": "https://github.com/alisaifee/coredis"
},
"split_keywords": [
"redis",
" key-value store",
" asyncio"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1988ea5a6402a537f900827ed0c473cecbb846e9c0a95f009a85b3e833dc9446",
"md5": "1c01e74b6fc98591dd61135d244aaf49",
"sha256": "60a709997e84a905dde80224c664f2b59148ef14dc99eda6f621852835dc4010"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp310-cp310-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "1c01e74b6fc98591dd61135d244aaf49",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 336139,
"upload_time": "2024-12-11T00:50:14",
"upload_time_iso_8601": "2024-12-11T00:50:14.217644Z",
"url": "https://files.pythonhosted.org/packages/19/88/ea5a6402a537f900827ed0c473cecbb846e9c0a95f009a85b3e833dc9446/coredis-4.18.0-cp310-cp310-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "490f76430a3ddc04f1e8df4211fc3be86a6e7e7ab51ff10c1201a2c5cbabc2c8",
"md5": "64289221e6be53e3308b4ea8137bec07",
"sha256": "e26dcba69de515f325f8c4a577c44fba7a9b62a84cf089f55603a9ceb0b8f818"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp310-cp310-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "64289221e6be53e3308b4ea8137bec07",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 330406,
"upload_time": "2024-12-11T00:50:17",
"upload_time_iso_8601": "2024-12-11T00:50:17.870130Z",
"url": "https://files.pythonhosted.org/packages/49/0f/76430a3ddc04f1e8df4211fc3be86a6e7e7ab51ff10c1201a2c5cbabc2c8/coredis-4.18.0-cp310-cp310-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0626bb913285e009c832a7a1379a76b24700ea5b97ea44dc62381ad62ff46c68",
"md5": "29f20c10aa916170c0c0d603e1002d45",
"sha256": "d40693fb5279f21a8ccf3a81f8e4b687a8f6b5ff5dfa3cd33b8a197a5846041c"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "29f20c10aa916170c0c0d603e1002d45",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 359558,
"upload_time": "2024-12-11T00:50:20",
"upload_time_iso_8601": "2024-12-11T00:50:20.265057Z",
"url": "https://files.pythonhosted.org/packages/06/26/bb913285e009c832a7a1379a76b24700ea5b97ea44dc62381ad62ff46c68/coredis-4.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bbfe8ba0a2adb6514a665fc578f5fc303ee32a86471230550bf86e04d5e18a22",
"md5": "b6e152dab350789f379cc353d036fc50",
"sha256": "026e0511a574ddf7c4caf68eefc334a317c71fa9244ba01823eb1a92cce58bb5"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b6e152dab350789f379cc353d036fc50",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 363644,
"upload_time": "2024-12-11T00:50:22",
"upload_time_iso_8601": "2024-12-11T00:50:22.685909Z",
"url": "https://files.pythonhosted.org/packages/bb/fe/8ba0a2adb6514a665fc578f5fc303ee32a86471230550bf86e04d5e18a22/coredis-4.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c7e69af83106bcd76b50100216b76d4b6254fa2df40c8ddadfd7f9773785148f",
"md5": "b79bad0fd52a67fe4c5bff2ae4a35ca0",
"sha256": "afedfbc7b710ed6c43e25c9900c6b6136bdfd0acbc75c4757703080de572503c"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "b79bad0fd52a67fe4c5bff2ae4a35ca0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.9",
"size": 366833,
"upload_time": "2024-12-11T00:50:25",
"upload_time_iso_8601": "2024-12-11T00:50:25.010835Z",
"url": "https://files.pythonhosted.org/packages/c7/e6/9af83106bcd76b50100216b76d4b6254fa2df40c8ddadfd7f9773785148f/coredis-4.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b3b56beab2eb2a42a756332eafbea5d4ad8e36ad50d21f0bd26f6766d17b60c",
"md5": "ab5d09b512feed896e54ebdf16c5196f",
"sha256": "55b38b4297c5db7fb8b67bf83b1bbf9c7ccddca430164cefffd51e4f08a657bb"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp311-cp311-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "ab5d09b512feed896e54ebdf16c5196f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 334694,
"upload_time": "2024-12-11T00:50:26",
"upload_time_iso_8601": "2024-12-11T00:50:26.090759Z",
"url": "https://files.pythonhosted.org/packages/6b/3b/56beab2eb2a42a756332eafbea5d4ad8e36ad50d21f0bd26f6766d17b60c/coredis-4.18.0-cp311-cp311-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5286da933a917aa7bab498797c42c300a9d9959a91c0881b5399f609eebc8d03",
"md5": "fff622a436c66c79c4cf5098afb8e05f",
"sha256": "8d37ee2f952d41b65753cc855c315cc74155f2515ce4a74cd4e85a491ce6e8f9"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "fff622a436c66c79c4cf5098afb8e05f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 328940,
"upload_time": "2024-12-11T00:50:28",
"upload_time_iso_8601": "2024-12-11T00:50:28.447685Z",
"url": "https://files.pythonhosted.org/packages/52/86/da933a917aa7bab498797c42c300a9d9959a91c0881b5399f609eebc8d03/coredis-4.18.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0059ff2913e9d8f4122fea3890f943366247996cfb1f4ea91df7be22aef081e8",
"md5": "a0523e49ebf15c02d9cc712910222f1c",
"sha256": "298ed6b012a88d1cebb96dfb3880cbbcc9d73b9aef9d1cfae6b071474249a732"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "a0523e49ebf15c02d9cc712910222f1c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 357868,
"upload_time": "2024-12-11T00:50:30",
"upload_time_iso_8601": "2024-12-11T00:50:30.756156Z",
"url": "https://files.pythonhosted.org/packages/00/59/ff2913e9d8f4122fea3890f943366247996cfb1f4ea91df7be22aef081e8/coredis-4.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "39513dd82a38f3b325eab72b39849c58a352c5cb90ab7bf830273841da9411d5",
"md5": "b813c63a605f00166219f71ecf40ffbf",
"sha256": "08cf18ce63b4e438a7b52d1f7bff8fa25af0e6bb1bf2987c3278bf20a1cab35f"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b813c63a605f00166219f71ecf40ffbf",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 361592,
"upload_time": "2024-12-11T00:50:33",
"upload_time_iso_8601": "2024-12-11T00:50:33.188494Z",
"url": "https://files.pythonhosted.org/packages/39/51/3dd82a38f3b325eab72b39849c58a352c5cb90ab7bf830273841da9411d5/coredis-4.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d0b2be3cd40e83654f07b37f60c3c138af0e8a85567a5104d39a78e0ec6ca33a",
"md5": "c0cb857fd7aac009bb7043af95fbed71",
"sha256": "c54aaf953ab649e85a35e1f5dd1b726f6ca924f96644ea171c2e95763dbad1b0"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "c0cb857fd7aac009bb7043af95fbed71",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.9",
"size": 364444,
"upload_time": "2024-12-11T00:50:34",
"upload_time_iso_8601": "2024-12-11T00:50:34.376635Z",
"url": "https://files.pythonhosted.org/packages/d0/b2/be3cd40e83654f07b37f60c3c138af0e8a85567a5104d39a78e0ec6ca33a/coredis-4.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fcfe5afbf47ebaf390dcdaa9b7ffb6b9a7aa09a163119978680039206337faa2",
"md5": "aa7e32a21bf0c9863a7dc8d21deadcef",
"sha256": "844358d1605adb4ff63b6c20bf66deb947891397568636018b08fccdebc53139"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp312-cp312-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "aa7e32a21bf0c9863a7dc8d21deadcef",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 334902,
"upload_time": "2024-12-11T00:50:35",
"upload_time_iso_8601": "2024-12-11T00:50:35.926607Z",
"url": "https://files.pythonhosted.org/packages/fc/fe/5afbf47ebaf390dcdaa9b7ffb6b9a7aa09a163119978680039206337faa2/coredis-4.18.0-cp312-cp312-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5284f07b1ab261177c1b933e87f2a3797492f8e10bec1b5ef09ef56f602566d2",
"md5": "5dc490aca646bba343154a0cfdded59d",
"sha256": "6b7b8e2bae85b26a2ae0b893304992ed15d7a237f053ba267e73c3d2ad07cd1e"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "5dc490aca646bba343154a0cfdded59d",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 327692,
"upload_time": "2024-12-11T00:50:38",
"upload_time_iso_8601": "2024-12-11T00:50:38.368093Z",
"url": "https://files.pythonhosted.org/packages/52/84/f07b1ab261177c1b933e87f2a3797492f8e10bec1b5ef09ef56f602566d2/coredis-4.18.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1e792e4b6e46b558333595e0218d63878a9f52d121a4616d9aa9bb6df11afb69",
"md5": "83c7ef7e9bb5309ff0f8acae00a8d541",
"sha256": "81701c3dfaf1849110f2b918f28aba034f67874371b1cd80a5b22d2292a3e2d5"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "83c7ef7e9bb5309ff0f8acae00a8d541",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 359257,
"upload_time": "2024-12-11T00:50:40",
"upload_time_iso_8601": "2024-12-11T00:50:40.656881Z",
"url": "https://files.pythonhosted.org/packages/1e/79/2e4b6e46b558333595e0218d63878a9f52d121a4616d9aa9bb6df11afb69/coredis-4.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e53d76e09ba5fe6f627067be690633e2e22efa33b9d8b7d163d1ccddcaebd920",
"md5": "c8cdaa2ffce84c41c5b17cb4c73cec67",
"sha256": "62eb7c0063857917e8992f1de8a474a7bd95be8b85464905122a36185eeff8e3"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "c8cdaa2ffce84c41c5b17cb4c73cec67",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 363476,
"upload_time": "2024-12-11T00:50:41",
"upload_time_iso_8601": "2024-12-11T00:50:41.912862Z",
"url": "https://files.pythonhosted.org/packages/e5/3d/76e09ba5fe6f627067be690633e2e22efa33b9d8b7d163d1ccddcaebd920/coredis-4.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "310e649b7a635c753d11ec6e980b1a5b7f62c19bb8b9e67af5d5d70e12ef97a4",
"md5": "4d4790d291f7db74f33e4cb4e48c1b2e",
"sha256": "94cd62dd843d984fce67013e00276ceff356edd2907d38eb87949e70f1e7d37a"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "4d4790d291f7db74f33e4cb4e48c1b2e",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.9",
"size": 367352,
"upload_time": "2024-12-11T00:50:44",
"upload_time_iso_8601": "2024-12-11T00:50:44.297506Z",
"url": "https://files.pythonhosted.org/packages/31/0e/649b7a635c753d11ec6e980b1a5b7f62c19bb8b9e67af5d5d70e12ef97a4/coredis-4.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3d3d6b1923e60c11e73c27e85de02a03901e80749470bf16fc8849dfd9a024fc",
"md5": "905c57375987be618f0ac324a2cd2016",
"sha256": "0299b33fd2a7be18bf796d3f4a9e89d1abfdc5c2bb6c37b6e25c325b3126b0ea"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp313-cp313-macosx_10_13_x86_64.whl",
"has_sig": false,
"md5_digest": "905c57375987be618f0ac324a2cd2016",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 334748,
"upload_time": "2024-12-11T00:50:46",
"upload_time_iso_8601": "2024-12-11T00:50:46.764070Z",
"url": "https://files.pythonhosted.org/packages/3d/3d/6b1923e60c11e73c27e85de02a03901e80749470bf16fc8849dfd9a024fc/coredis-4.18.0-cp313-cp313-macosx_10_13_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d622a218996775b79dd57a6f6954b3d23a6ba0d806266046b234cdfa74717c54",
"md5": "09dabcd536950df686223702edd26969",
"sha256": "276e4d194d4199e9e01b08c493b22ebebc83a962c39f1e751470a67503b76cf8"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "09dabcd536950df686223702edd26969",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 327711,
"upload_time": "2024-12-11T00:50:47",
"upload_time_iso_8601": "2024-12-11T00:50:47.987870Z",
"url": "https://files.pythonhosted.org/packages/d6/22/a218996775b79dd57a6f6954b3d23a6ba0d806266046b234cdfa74717c54/coredis-4.18.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ad45dc5dba262282fd3e5e8b691fc5cb424365084c81ce6e58f4b9c455eaf162",
"md5": "2db87eb721a5c0c9658e3c48645b8643",
"sha256": "c3d924c9c3a8f427a728322e7cedce561487f9350d91eadd69d54cd584c64a90"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "2db87eb721a5c0c9658e3c48645b8643",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 359154,
"upload_time": "2024-12-11T00:50:50",
"upload_time_iso_8601": "2024-12-11T00:50:50.552137Z",
"url": "https://files.pythonhosted.org/packages/ad/45/dc5dba262282fd3e5e8b691fc5cb424365084c81ce6e58f4b9c455eaf162/coredis-4.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8feb9dc553ec876c1213229a6bf7b6b6f1cd2d0e9428c0be20941efeebbbfc23",
"md5": "b285f593131920a266f52b8177e61f72",
"sha256": "1a5ee3c619674adfbeee3a2a52bbc9f249207ae134b9792154a694351994e355"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "b285f593131920a266f52b8177e61f72",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 363314,
"upload_time": "2024-12-11T00:50:53",
"upload_time_iso_8601": "2024-12-11T00:50:53.027897Z",
"url": "https://files.pythonhosted.org/packages/8f/eb/9dc553ec876c1213229a6bf7b6b6f1cd2d0e9428c0be20941efeebbbfc23/coredis-4.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "368a4923921aa56f54899d8417a723deb90ea5fa051f02f5d25ebbb7467201e7",
"md5": "a5d57cdbd066d73f0a48ec56106bc6ab",
"sha256": "15abba814e03df91cbc6e6c634dbd5bfdfe06eeb8653c3485807e54dfbfb6021"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "a5d57cdbd066d73f0a48ec56106bc6ab",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.9",
"size": 367012,
"upload_time": "2024-12-11T00:50:55",
"upload_time_iso_8601": "2024-12-11T00:50:55.673295Z",
"url": "https://files.pythonhosted.org/packages/36/8a/4923921aa56f54899d8417a723deb90ea5fa051f02f5d25ebbb7467201e7/coredis-4.18.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b39c56adcf6c6b3448d1d2fd48fc8f8d69e158137bd76678e2235b820786bd4f",
"md5": "5b84ddee1d51f70f67190c8e5d9240f2",
"sha256": "8125df5e96424d8d23d9c08d35a04ff269f6466faa8e77c178baf340d3c7eaa5"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "5b84ddee1d51f70f67190c8e5d9240f2",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 336026,
"upload_time": "2024-12-11T00:50:56",
"upload_time_iso_8601": "2024-12-11T00:50:56.852935Z",
"url": "https://files.pythonhosted.org/packages/b3/9c/56adcf6c6b3448d1d2fd48fc8f8d69e158137bd76678e2235b820786bd4f/coredis-4.18.0-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "adf0fe3c295af485f77cdbf4fbf8b0772a100c33ee8ca35769c49b3fb821f296",
"md5": "d138d6c69e073176dec3fad86453d9d5",
"sha256": "7821bb9edb0c4b9b19cefff0f3911fa981b14f964a6f15f60c46f3c2d38630d1"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp39-cp39-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "d138d6c69e073176dec3fad86453d9d5",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 330346,
"upload_time": "2024-12-11T00:50:58",
"upload_time_iso_8601": "2024-12-11T00:50:58.058737Z",
"url": "https://files.pythonhosted.org/packages/ad/f0/fe3c295af485f77cdbf4fbf8b0772a100c33ee8ca35769c49b3fb821f296/coredis-4.18.0-cp39-cp39-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f93b2cdc7586624681ece79973da3c076957c32153e1aceb13705483a3abe01b",
"md5": "7d058eed58c3ddd5ea0440d5697f03f3",
"sha256": "be0fdb89f3d31c7a691f8876a6187a72341dd06d08653630713b9aa498fcbe99"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7d058eed58c3ddd5ea0440d5697f03f3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 359447,
"upload_time": "2024-12-11T00:51:00",
"upload_time_iso_8601": "2024-12-11T00:51:00.443907Z",
"url": "https://files.pythonhosted.org/packages/f9/3b/2cdc7586624681ece79973da3c076957c32153e1aceb13705483a3abe01b/coredis-4.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be3efc4633617290dfee0e0d40b0e7538ac296fa53b7d2cc6b824fc492bc9017",
"md5": "9f5ee7696458a68629352e197a5fde11",
"sha256": "d1eba06393929bad147822a44cbcce6788a7f58e7e5d816e6c724e520f4068c4"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9f5ee7696458a68629352e197a5fde11",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 363524,
"upload_time": "2024-12-11T00:51:03",
"upload_time_iso_8601": "2024-12-11T00:51:03.244642Z",
"url": "https://files.pythonhosted.org/packages/be/3e/fc4633617290dfee0e0d40b0e7538ac296fa53b7d2cc6b824fc492bc9017/coredis-4.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "14997a84cb1d0226f4df73ca50b7a65abeef1f9a3ca27354ebff07c215c7e048",
"md5": "5f77c575f40c96b2fd97d3c1354e4a0f",
"sha256": "b9d334112cfd7e38c8b4f2f533e65e8323ef9ffff76668cb7c2ff8a0922d2c6a"
},
"downloads": -1,
"filename": "coredis-4.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"has_sig": false,
"md5_digest": "5f77c575f40c96b2fd97d3c1354e4a0f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.9",
"size": 366751,
"upload_time": "2024-12-11T00:51:05",
"upload_time_iso_8601": "2024-12-11T00:51:05.599760Z",
"url": "https://files.pythonhosted.org/packages/14/99/7a84cb1d0226f4df73ca50b7a65abeef1f9a3ca27354ebff07c215c7e048/coredis-4.18.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3620a35b4306ff852640a80ad016ab5f05bc9077a3f89493d6aedbf483c799db",
"md5": "1cf2a7e7fa2ddb32f432423b2b523944",
"sha256": "96b37ae5403bbc7cae1b73fd1fadede9f1f5d2829c13b83266d7cea48c36eed6"
},
"downloads": -1,
"filename": "coredis-4.18.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1cf2a7e7fa2ddb32f432423b2b523944",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 242991,
"upload_time": "2024-12-11T00:51:06",
"upload_time_iso_8601": "2024-12-11T00:51:06.702511Z",
"url": "https://files.pythonhosted.org/packages/36/20/a35b4306ff852640a80ad016ab5f05bc9077a3f89493d6aedbf483c799db/coredis-4.18.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1f78c49b8866a780839ab61d244e9853d58f246d8a80bb43f6f25e890df12f0b",
"md5": "1091de00be5726f2a3e466734b517425",
"sha256": "0c5c829beb4c59caa99126868e8367ff58e2dc4d63a5ce1cae392ecfd339a99f"
},
"downloads": -1,
"filename": "coredis-4.18.0.tar.gz",
"has_sig": false,
"md5_digest": "1091de00be5726f2a3e466734b517425",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 246817,
"upload_time": "2024-12-11T00:51:08",
"upload_time_iso_8601": "2024-12-11T00:51:08.033032Z",
"url": "https://files.pythonhosted.org/packages/1f/78/c49b8866a780839ab61d244e9853d58f246d8a80bb43f6f25e890df12f0b/coredis-4.18.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 00:51:08",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "alisaifee",
"github_project": "coredis",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "coredis"
}