Skip to main content

Python async client for Redis key-value store

Project description

coredis

docs codecov Latest Version in PyPI ci Supported Python versions


coredis is an async redis client with support for redis server, cluster & sentinel.

  • The client API uses the specifications in the Redis command documentation 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 or Mapping.
    • Pure tokens used as flags are mapped to boolean arguments
    • One of arguments accepting pure tokens are collapsed and accept a PureToken
  • Responses are mapped as closely from RESP <-> python types as possible.

  • For higher level concepts such as Pipelines, LUA Scripts, PubSub & Streams abstractions are provided to simplify interaction requires pre-defined sequencing of redis commands (see Command Wrappers) and the Handbook.

Warning The command API does NOT mirror the official python redis client. For details about the high level differences refer to Divergence from aredis & redis-py


Installation

To install coredis:

$ pip install coredis

Feature Summary

Deployment topologies

Application patterns

Server side scripting

Miscellaneous

Quick start

Single Node or Cluster client

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

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 documentation

Compatibility

coredis is tested against redis versions 6.0.x, 6.2.x & 7.0.x. The test matrix status can be reviewed here

coredis is additionally tested against:

  • uvloop >= 0.15.0

Supported python versions

  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • 3.11
  • PyPy 3.7
  • PyPy 3.8
  • PyPy 3.9

Redis-like backends

coredis is known to work with the following databases that have redis protocol compatibility:

References

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coredis-4.10.0.tar.gz (193.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

coredis-4.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-4.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (298.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-4.10.0-cp311-cp311-macosx_11_0_arm64.whl (271.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

coredis-4.10.0-cp311-cp311-macosx_10_9_x86_64.whl (273.3 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-4.10.0-cp311-cp311-macosx_10_9_universal2.whl (355.8 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

coredis-4.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-4.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (300.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-4.10.0-cp310-cp310-macosx_11_0_arm64.whl (273.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

coredis-4.10.0-cp310-cp310-macosx_10_9_x86_64.whl (275.1 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-4.10.0-cp310-cp310-macosx_10_9_universal2.whl (359.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

coredis-4.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-4.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (300.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-4.10.0-cp39-cp39-macosx_11_0_arm64.whl (272.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

coredis-4.10.0-cp39-cp39-macosx_10_9_x86_64.whl (275.0 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-4.10.0-cp39-cp39-macosx_10_9_universal2.whl (359.1 kB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

coredis-4.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-4.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (300.1 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-4.10.0-cp38-cp38-macosx_11_0_arm64.whl (271.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

coredis-4.10.0-cp38-cp38-macosx_10_9_x86_64.whl (273.4 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

coredis-4.10.0-cp38-cp38-macosx_10_9_universal2.whl (355.9 kB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

coredis-4.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

coredis-4.10.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (292.3 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

coredis-4.10.0-cp37-cp37m-macosx_10_9_x86_64.whl (268.8 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

Details for the file coredis-4.10.0.tar.gz.

File metadata

  • Download URL: coredis-4.10.0.tar.gz
  • Upload date:
  • Size: 193.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for coredis-4.10.0.tar.gz
Algorithm Hash digest
SHA256 0ab14c3d28c7e7a4c2bddad7258d396ea8e89246093ecee73ed3a0657f9559cc
MD5 aa94520124e29b4a5d6e01a0a0675cc9
BLAKE2b-256 37de70b1eb523a0decda9d72bf559c117096bc1636b1b271baaa3fe501b8191b

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd75bea0db656a6d78c69d7394e559b4c3a558ebe993516924c108cc7303e778
MD5 2cf2a10e7c3bd6e2e5eb6a4e9b446223
BLAKE2b-256 745cc495efd3970e3ab8d9d710c3018063e6db93a3e195c1870bd81efc58ac81

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 56b2d928f61358667c3cd97ac7d6ea7a5ade0ef45898d1ce80c2b037f598129a
MD5 8b45f091e9c740829f84897bb1d2419a
BLAKE2b-256 88932017efceadd1e73910639f210d9f8bf3a63a3a01091973e8586aa7fd6382

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5112eafb9c2676b58ce7ff1f59455779338dd02b93e0f9fd483bcc1ff8c9d292
MD5 4719bec9222a097905726d5aabf8551f
BLAKE2b-256 eff5b9e99769ddee9077fba33f8044c4cc2a24899eb644ccf0f6e9dce4068366

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 81f256106c5baadccd47de0c5a1b1622a22dfa3e8118e28a74c75c302126f81d
MD5 83d5e609bb4fd4ad5ef7bf0d482e7a96
BLAKE2b-256 46f811991b727be676c8ccf67d90d1b98d583e59314ab3bac550e792d1f78082

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b29aa91cf881b8271cd42d74c88f799051a002a5345668e9e31499a3c5cc4688
MD5 0fcb52e83a9e18e9007d72c8c0893d3c
BLAKE2b-256 68f5ff548a6d1aa736258ab189515f50c3ac75f242706cd70b6ad5700b3e08dd

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 28b9e8837da8bdddf36775917226452fcc308cd85f6e885154733b73cb5a13bd
MD5 b76ba8e1cc37efc58d212af08d8b3cae
BLAKE2b-256 c63f363f8785c9283a884b62d63dcdfe5e77ffb7a59f86ecbf50a5e6598d486b

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ffc8fc6fbf1854fa70a911730f5edde2f55322ee353c1d74d39c7960e882b8a2
MD5 5a0108d5bfa90510d493ebb9af92a464
BLAKE2b-256 21f716fcb1d8df77a6e2afb9f42703459b38237a09cae959d8da67bd0e2ce231

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e083bd82ac77fc22f29d3ba65c4c37939c44eb60e7da28a5589a65e9038a279e
MD5 ba027ac5c7c2f2113e975e02f9060c91
BLAKE2b-256 e5ef823977a950d486fbf63865d6ef70d11674daff57c4e67b097901ff99c070

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d9b9b2731f196f6347f91768fcaa8193289077eaad46b4b525aaecbcc61da011
MD5 409d2c8c7fb6a8fa4447147f2145bfbd
BLAKE2b-256 d0679d4dbd54e8213877e0ee300af273b63c16cc6bf0c9e50ba8ffd90f6726b2

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 21c29904999b008cbfc5692368043fb1f57c814c25085d52cba8d3fc384c4ecb
MD5 22cccc93d9f7ea942af107e916f8470c
BLAKE2b-256 0c763c09d4b169021c85c0c94961411abf7b53a375ae395cfb9b63b3dd2587db

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ecfceb275a76f806581a4ead048bd2f2cc516084f72444ba028cf9f3b8eefd1
MD5 ac5d61e03bdcd45c8fa6670cfbcaa2d0
BLAKE2b-256 0b858b157a569df4165888ecb93f1e5ebd397021c6fdba98f0ce730a8611a244

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6ae32734d4aa5f71ab3d118123c1eee46a399cb11f7e6f5a1b2e0918e8c4ef23
MD5 6e46d1077a78850f316dcf68b116a14b
BLAKE2b-256 632f697708602d941b5b8a1395694babb2d57cf5822d97c483d22184d07e034c

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 acbeea9377457bd54c1c099ddf8746ce4d93328569287728982606969cf4b218
MD5 2003ac14891ed03d9873ced4414b162b
BLAKE2b-256 f46d60df9c07ec167347a8c80a52f92fccaec85bd37f6eece05aeaa8f2df35f9

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 75c6c4e82bdb06fd0123d597f9c402ffd666542fbc34403138d48fe7a0929114
MD5 b12f054a3cd451a64bdc31cf4d1f6ab1
BLAKE2b-256 188b5a555d56e3ad3f669c700a15e3608d2ac3e74596bcb59d83f0caae00497a

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 768e86e4a533de1640010003ce8afb13e5fc827409b055d98afd906fdeb54c2d
MD5 cb2488ef801b3f63b2c87e505810f79a
BLAKE2b-256 245c2bcd851345f8ecd75bf1b8c219d43f9dea12372a9c5fd3bf5ad94f85511e

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2aa175a742820a06f2b54e2cd7be555df2cb5d01a25ae243d2d32ac78916648d
MD5 24c03492adf3c9d9820b8be8db389197
BLAKE2b-256 e9bbb9bff3172174dbe3dae91e9588babf97267191339058d020628605e1d05f

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 13db4edd6ddee87d75a2f6e3132a056bb8f85194daaa31b7ee60a3d7de31d34d
MD5 925443bd6385209931132981989e565c
BLAKE2b-256 e526b3cb95edc356b44fdc3e9ab478547cdfbb678aa8c6e6f79750da00f4bf3d

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4ffc95b8639e31ff794356fa3a4ea25bf5249b85439f23b3541239a853038cb7
MD5 4cd5c4d5ed82447734ffeadd9bf0e5b8
BLAKE2b-256 560c17d33aaafad50cb605911b351a419d17d4a8e44739a99b73b02c0d3a181d

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 814c1896e777305b50f9469a9d711b33c065c79f5f93676cc6548ad27279b5bc
MD5 ecfa8f0fdcad2460ed7773fc08edd663
BLAKE2b-256 37157b48bfa1493e754d03250bccb619c9d55973cef9184d770353662353114c

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 2a1bf697b4eef94b02fbd623639ba38a7483a7ab3a9d3e02bc9e6a460f3bac93
MD5 51b1b8af487e5ef95a8d8dcfe2e7d001
BLAKE2b-256 04de950a434ad8d6a2974fa9c2486b599c508f5ec00c416009ace9632f1d9b9b

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 361b672436edb5087a96783a80969044aaf1eacdb5c492644244531ca4dff71c
MD5 bcc0f95a979fed9b36b4483c1999e0b8
BLAKE2b-256 2cca8d5870da9e1a3d905198d65ba1d0aa648de55011735c150af5c80b020d2a

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 29581d79020b2e670afecb135a6df58d880dd4fa1557edad694ba843a39891ab
MD5 2a3a2eabc2655e31802aa0539fbba75f
BLAKE2b-256 24880aa32fed6aab352c3b1e42ede7e69ffc895a009d7c86939b40e5e8237ca2

See more details on using hashes here.

File details

Details for the file coredis-4.10.0-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for coredis-4.10.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 892ee7b9d8ffbbdcd602c65d611c703d1b051b3961fd8a33297903eb4b19137e
MD5 b9d8852943f30a2c4425bc5f08a306a6
BLAKE2b-256 ece8ee3e945964fc2d1efde38c393449fc0fc2fee0dbd0778483571635ddb512

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page