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
  • 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.8.0.tar.gz (191.6 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.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-4.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (350.3 kB view details)

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

coredis-4.8.0-cp311-cp311-macosx_11_0_arm64.whl (246.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

coredis-4.8.0-cp311-cp311-macosx_10_9_x86_64.whl (245.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-4.8.0-cp311-cp311-macosx_10_9_universal2.whl (252.0 kB view details)

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

coredis-4.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-4.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (352.6 kB view details)

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

coredis-4.8.0-cp310-cp310-macosx_11_0_arm64.whl (246.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

coredis-4.8.0-cp310-cp310-macosx_10_9_x86_64.whl (245.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-4.8.0-cp310-cp310-macosx_10_9_universal2.whl (252.0 kB view details)

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

coredis-4.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (348.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-4.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (352.5 kB view details)

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

coredis-4.8.0-cp39-cp39-macosx_11_0_arm64.whl (324.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

coredis-4.8.0-cp39-cp39-macosx_10_9_x86_64.whl (326.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-4.8.0-cp39-cp39-macosx_10_9_universal2.whl (410.4 kB view details)

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

coredis-4.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (347.8 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-4.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (351.8 kB view details)

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

coredis-4.8.0-cp38-cp38-macosx_11_0_arm64.whl (322.6 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

coredis-4.8.0-cp38-cp38-macosx_10_9_x86_64.whl (324.3 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

coredis-4.8.0-cp38-cp38-macosx_10_9_universal2.whl (407.0 kB view details)

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

coredis-4.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (340.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

coredis-4.8.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (344.3 kB view details)

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

coredis-4.8.0-cp37-cp37m-macosx_10_9_x86_64.whl (320.1 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for coredis-4.8.0.tar.gz
Algorithm Hash digest
SHA256 bffc69d25a2d09e05f908d2b158a0d632b5f9e2a76e78901ef27afc973aa19ca
MD5 ea449fe11408c22d7a9c2561540a2242
BLAKE2b-256 22087d1cdadb005ad4351aa13db58ef197698af6a2d9a30b2be36887ff4ea1e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1a6546e3aab7fd48b1f3e0749b3f780d79b97a9288604ba9103fe431776aac5
MD5 868ca2ee58490921dcc80a8cdd5dc6e7
BLAKE2b-256 b192900e009881c20ae8e19674412f388f8485b7b68bd525a976640356123968

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 79a15d0b5e2d6319b1808c358d49a5ac67f88a7bb31aaee4c77e96890797df60
MD5 1cffccfd812b7f4b17d637384ac6d1b6
BLAKE2b-256 d79e20c0d485be0ce14e57a854773190029c64978d95307e47d2ab5a1f68c73d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d40819242fb8294fbe640a014ddf77118b424c2b5828bce37bdbff7b7f57722
MD5 ca9a7b8f48bac5081d0d93d37dcc8849
BLAKE2b-256 d84f9976b6fb8d26d480a80493ce64fd9e5083e593db575b3adef8249bd3fc4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6d2ad281391ba9a1d0e9dcbb3afe326fe0638c7282a30efe2fea2df368f46330
MD5 4a82de0719c09e171e062a4540354c73
BLAKE2b-256 6ffd0776e61112eca7c0a6b33c6544b48706f91187f537249b165edfc9360d6c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 011fe767c51b8c571c128298aa969f7bf00fa80f964e3c68ca41eecc19a50c1a
MD5 65c2f832eb90184a4251ee7f8e65f2d7
BLAKE2b-256 d3abfc4ab2fc62c8fa98ef2e299662a7587346938832236fbe1972db8f061fa7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0920eda035c072ef495967796197dd8f514dd537cee8d1d710699195ce592fec
MD5 2b20f780a4bc3af96be0667adb60087a
BLAKE2b-256 f3fb2fdcbf7f77ffbc2e0efba0af60e64e7db686e8607e048f8fc369a7bd4eda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fabaee5601d5f5a1216b65f0ef66738576245398482c79665e51e837447b343e
MD5 cd76f473090cad333b7d7a2b211151d9
BLAKE2b-256 38eab2106f39b5db63725b1e8bce91cfdf0b412bd9e9cdf23dc5469de8bb402a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 867354aef27b387a10c89771027e3cd99319e2ed3afe60ec9ced14ad477bf778
MD5 82756a9ba9ee351387d38434b9a66833
BLAKE2b-256 ab32aa66cba7576c0bfd95b1363aced6adfa0c17b473e35f419b33ec8feb6517

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 42511236bafe36bc56275f70a80c682de1ce73591dc52fa886a82e7649bc17cc
MD5 8b2df027ef14516f4bf82d9c12d3d35b
BLAKE2b-256 04baa2e100bfb9510487ca6f3fc9de8fa422b3754dfc0058533f50286b2d560c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 ad2b75c542b01b8283bddb262d86f3b093dd709c0ac3cb3a400b63340b1fbeda
MD5 95af4e6bac524d556ebb6e24594a65bd
BLAKE2b-256 7d13dc4ebda1daa406300df8aa776821c75503720a6e7f2cac81fa5679d8f0fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e266e345c3a494cdaa0b119a19dcf4b79b91ec8da47ba5dd3933ad6d0e5e5136
MD5 a78a33f2c7d41afbe09d60e5562bec43
BLAKE2b-256 c99a6bd7f14752b79e60d4cf8a9219484adf8d1b0a4f9c5710a0fa697b78adf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2223827e652969e2b73d596a28a98d790856b03d067864f4495fa28faec47971
MD5 3a6566962c846fb12ac6934efb427474
BLAKE2b-256 63e4638ebd9f76bd259d0741163d244778f5a41d647d8f7efe21735793fd228e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab4286dc709e6a5a8a80d0e82a33e48ba0c66aec1d5db73c8c5969927d3b1c0d
MD5 eca7147d4113905fc63077e9d0c28f7a
BLAKE2b-256 952261a797fe8ff447b3c96b731121fec4fac3f6f933b88bc50ab30ed6f321a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4de08ab2e1df8c59084d55f19504927e9bfa960d656ae6842c4632b34465cd36
MD5 b9056d9b34481ae0dbac6c0ed985e00f
BLAKE2b-256 2b98d1e3333e4d49144d2ce129882ed5372b00469b1173ffa38deeeb2895658d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 b4b3541a87b29d55764d35f76f3964a85bd1e585d9652422ffb09f73bdd64fa1
MD5 81f42b40c896217a078891f71bac2070
BLAKE2b-256 41632f7b1c15fd1251f58e6617876d7f94dd39b2f669b0439b0b214a8d563e1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6b99794d1bd4334e9de1de2342e6e19e245eeecb0996a173ab2619f2f39a063a
MD5 6999fe74f370bf2d45eb14cc96db8279
BLAKE2b-256 8f28e897b723da67bc7f564d053b36d56918dd01862948411e969d977fb0bc7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2985eb645b823b79f8aabf6ab9454ee42cd53a61149b229dfe20a2befabac3a6
MD5 91fe11d0d026ec9069be6bb0958573a1
BLAKE2b-256 d8c1d583be8a0435281dd980a2affeaf68dc435fc67bba2693fefa7a7deb4b8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31c1142e0ebf2fcff695b97296f002da5211ebf18debe6f9fbd15a462a843da6
MD5 ae82e9065a141ca8e14b599d510483d7
BLAKE2b-256 b86e46bf73ab23391e61c0f55aa581c3f00710135071a23fb1a95a6bb374e715

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b162ab8d98a2a3842856a6575f70363444490d02ebe84e5c577f04393ef92c04
MD5 fadd4b04a4442a2c23da215c46f2aeee
BLAKE2b-256 5fde1233d8fe100f307bbeb0cc2093c46a2f66489aea03d2b8a4e2f4a7f0c42a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 7c5521e085effd3d07a9564b5720bd3d1ea9fd78d66d456d2bc74901c93650bb
MD5 c2ad94861b38f655d3cf57010decc790
BLAKE2b-256 0f4464a62f7cd7abbb4aec06c353c84b982612ca035c75ca9a0afd20934bf6e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1784f6bf8e163bddcb6e9098d55d3aa9379537bbc74c897ef584dc147c73be66
MD5 19991139d7d8b7e2ac3e366bc4858e5c
BLAKE2b-256 e11131c25ad7b2dcb3589f9ce57c517f3f7c623cf5bf0acfe303b0148d18a8f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dcf685677f7f1931aad497a50725337f8fa173c059732a43c7fd7011343b8e09
MD5 242fab3966e7441c05842bfc9de2f011
BLAKE2b-256 f4d821dc9142a960a12f287d7cde0118f224f301fcec779449699ecbc97702c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 009f44219bea2e7c8ca7a82ee43a83120d5e98a3afe949613031c149165795a5
MD5 ff8c27f1fa8f56fe32594c00e520e4be
BLAKE2b-256 e077f863631d57abc4c6910781bfc82aecf0c58ccd438a1b4c371410b211c7ca

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