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.11.5.tar.gz (196.3 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.11.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (300.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-4.11.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (298.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

coredis-4.11.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (304.2 kB view details)

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

coredis-4.11.5-cp311-cp311-macosx_11_0_arm64.whl (275.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

coredis-4.11.5-cp311-cp311-macosx_10_9_x86_64.whl (278.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-4.11.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (302.5 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-4.11.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (300.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

coredis-4.11.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (306.4 kB view details)

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

coredis-4.11.5-cp310-cp310-macosx_11_0_arm64.whl (277.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

coredis-4.11.5-cp310-cp310-macosx_10_9_x86_64.whl (279.7 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-4.11.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (302.6 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-4.11.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (299.8 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

coredis-4.11.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (306.3 kB view details)

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

coredis-4.11.5-cp39-cp39-macosx_11_0_arm64.whl (277.5 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

coredis-4.11.5-cp39-cp39-macosx_10_9_x86_64.whl (279.6 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-4.11.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (301.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-4.11.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (299.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

coredis-4.11.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (305.9 kB view details)

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

coredis-4.11.5-cp38-cp38-macosx_11_0_arm64.whl (276.1 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

coredis-4.11.5-cp38-cp38-macosx_10_9_x86_64.whl (278.1 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

coredis-4.11.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (294.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

coredis-4.11.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (292.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ ARM64

coredis-4.11.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (298.2 kB view details)

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

coredis-4.11.5-cp37-cp37m-macosx_10_9_x86_64.whl (273.9 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: coredis-4.11.5.tar.gz
  • Upload date:
  • Size: 196.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for coredis-4.11.5.tar.gz
Algorithm Hash digest
SHA256 dd6670bf60c6e54de5de656aec92a4e115e1376e73f65ce29cc8eb39b905d5f4
MD5 268eb532e97e343cc3356ae9fd93162e
BLAKE2b-256 d02c80ad55042856232a5d4cb4ede547bc9544c96866d7e7b5b6298d5b6cc666

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 608fc98e69df4f7497fba84bfb9331d6c534428684334fd9f3fa6436773c22ba
MD5 ddf25c5eee4faa7ebaac82644cc07105
BLAKE2b-256 c188063ada67805be559e7f32a911bf3dd8b0213a66cdec038d82dd237ff7982

See more details on using hashes here.

File details

Details for the file coredis-4.11.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for coredis-4.11.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4b8fbdf3a6ea3637474a225907118599c40d8f47d14c843f90c95e3a86cc98d4
MD5 c09b941ed7bb85d58b1cc91cef0966fa
BLAKE2b-256 d9a2c72a6901bec7e28e93f20020a61a3a016cbac39ac216279aa5c3311e2e4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3acf2ee03ecb20057492e3572b363eb61bdd433a5124b4e20078f95cb9ded7b0
MD5 127a80b7fb1c22c8a18d7cc13b9f5f2b
BLAKE2b-256 7c8d15ad90d29b59399930cc80ae073fec2edb06ec7d8827d2fa3a75dca82bd7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da0254a8609921b431122f31999b9f5972fed62882f2832274eef0dc10b057ad
MD5 03552bf9079454cc948e7dc5007f5847
BLAKE2b-256 aceaf0275af2a0802810ad7cea7a607a2bd932833739dd53c9332c6d1ae927aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 aea8fbb2b895716c154dd405fdd98e43c8b05c02fca9afb5b0aa250f1b880efa
MD5 7d93a54c322f64dd0515a50f396fa4a0
BLAKE2b-256 407d7903521f303c8af0004d9958971f5f0df7a1bb550c9b189520650f03c0fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 befd18b61e348eb3e3a123374917e4edec8496ca9fdbcc48bd9f618013c5772f
MD5 e923687e16909baca2f4b0f55c0ebacd
BLAKE2b-256 9136a6debced3ff4d6451e17a0afdb70ef4b9f29106c049d7ee62c761c458f24

See more details on using hashes here.

File details

Details for the file coredis-4.11.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for coredis-4.11.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4b58ab21dd2b43585a3502146b4f5b62254bcda7cd75bac84bc31d468cf7c448
MD5 2317f05357ceee48739ad33273062ef4
BLAKE2b-256 e7e36dbb58b4924448a3c36c0372b8d1ec3d5816bf3213a70374295f9110576a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ac73ae9ae78178a47ee01066d5babf9b809b6bdfe66c2a5b8478fe76794ca7b1
MD5 c8605aa5ed7e9d11f60f3390bd2d9685
BLAKE2b-256 727f6792b931ff057047550f26819659f338201ce3270b08ce0f1bdff773cbea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ccca93140fd6c283039d43de3f7daefc41186116f3df2d0f0091cb3893868f34
MD5 21a40785b632b0e60e0dc82e48d6f3d9
BLAKE2b-256 c0e793e3010955cba18b0fc00a7403cfbbb3015c3ac26d0e1b044a71b1ae2835

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 dc2585ba582ddec305cd2c00f2795f2da3006cdb5f2c40e9da5629638293d894
MD5 bca72ba6cba29e9c0586345ebb0df2a8
BLAKE2b-256 8eb2f8fab2878b84378fcb1db0bd1a5ceff0da6e7d4cd78c3f967de3085fffed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a1b256029dcd787cb33e007ed7e7c9a79b99b7c0e2fcbc08228d43899ffe92e1
MD5 cec9419525a96775c3ea41714f47f35c
BLAKE2b-256 dbd8dba897493a7f438387de0a8dcf8134ec72471dd4dc03852dd6669bef97e7

See more details on using hashes here.

File details

Details for the file coredis-4.11.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for coredis-4.11.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5a5331974dc156d229288a0c20de8a62388a36f038449a51d3093ff322e800ac
MD5 9df08a0a9118a85ea4e59d7fea33c8f4
BLAKE2b-256 08c1b7928d14f9aba6ac5d11a138dddca46914364cfe5b9161f2ff7c4aa625bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fa77a0c159af5e93570d5cfb3e05cd43d51411f6cb214efbb857b74520ed9a2d
MD5 4b569efaafb335f3a07948976bc5c475
BLAKE2b-256 469910a8fe0c4d956e01a592c20e559d1cd85539ae1bd15de0bd58fd38ea9d53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01d6af0faaa094b4266d57eb4fad72e6fcb801b57e30c7d8a960df63edfdc09b
MD5 d9b0325b6832e51beb575d35024c6cda
BLAKE2b-256 7ad5ab399f073761bed6c6229b7689c80b371bd9a52a0de077d2d39ef50ec22f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 8ffbced1f443aa2c38b014cf4704f50413bd47842cda66a6784797b62aed46a7
MD5 84f536dbdf3ce8f9d6eaf7b5520d9b8e
BLAKE2b-256 644f806cef56b0cd0fe3b70b9f8db682a5d3b7b7962fedfd1bfd4ce8f02d17b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1835d69c26b40802ccd3a0eca6dd7e4e8ca1c8c91a430536b9ec34b0ea046f9f
MD5 35cd3e78bdc0af46730238e0102d5019
BLAKE2b-256 48d1acd02ca6b01b7efd4ca85e97eb648ced06f427c2eab1dbf3b00f691d9be7

See more details on using hashes here.

File details

Details for the file coredis-4.11.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for coredis-4.11.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a9525f37151b8ab1e643a269fe84ab25acfc73b9a455d0127a3341e2e20b02f4
MD5 6af06a8096db3b3f60525c8fcc275a25
BLAKE2b-256 0b9965f659e1881144a9217554df7c493f2b542bc644927a33881766bb0ab6d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 12205e3ea06875ce5cf0c3f70b3684724d182d90b1ecc65f2bdbf9875e3214ed
MD5 41376e512fa6e134171db720db7a207c
BLAKE2b-256 fb06b3b3e49fc7ec82ba0c0b13d4ae616ed07a0a2101b998082126b4bde366d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 02d9ab36b51c4c8f0d97f7ad324f8275556a255c35f2f0bb86f422fdd8454ea1
MD5 d537e69a244569d5aeac897958fc1815
BLAKE2b-256 ab1f682283351261c47662eb4aa810a998eabd91d0e507b70c5696cd7cb9b798

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e5bb27782139a6f8f22cccc94c75f8f426898cc9025e4c1ba72c6b5cec963b8b
MD5 fb249c7b39e93f6ad07bddefbda88369
BLAKE2b-256 ad9b4d1e4c888a57f0c1da11b0319f1215bfe6b26b151fd6874fed467fa9d0ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad64472a4bad7a8ef765f714119a49ebdc146302db6beb6338f5d9e0a99ecb51
MD5 f8c3f5d3c504a1c3387fe777829e1926
BLAKE2b-256 11ce71d6545196bed0c591d91231629624ef1c5190c79f43b99a52fe11df92f1

See more details on using hashes here.

File details

Details for the file coredis-4.11.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for coredis-4.11.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 942d9486787c413b0f4ca75ba231e0333ba7f5610a3c9462715ef2ada6ed82d8
MD5 af7bede486c41413f3ac4761783ba6e4
BLAKE2b-256 6149b93c79687a44b6b5e9b088c5905cd58c48c4d83a905f19cb5e5e2d32851d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6e2fdc498da8068cd888765be20a49d516b3d5e6811b1f75f6b86402edc5ec64
MD5 f4974981bd80ecd013aa10e69e041ff1
BLAKE2b-256 5db075832f03aecd64ebaca21e3c6c3c4f79fe4469577fe7dc3ff37a6e893e48

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.11.5-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e3245619453a6628d10f382968e1884d57d1544a9c317004f8df4057067272bb
MD5 3f8c28961dd32b4cdf098fe33cddb39b
BLAKE2b-256 10e2e3b79a7116716d20e2120e4fd5319390290b06a4b62ae5abd6bc411ba69c

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