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

This version

4.8.3

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.3.tar.gz (192.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.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (294.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

coredis-4.8.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (297.6 kB view details)

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

coredis-4.8.3-cp311-cp311-macosx_11_0_arm64.whl (270.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

coredis-4.8.3-cp311-cp311-macosx_10_9_x86_64.whl (272.4 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

coredis-4.8.3-cp311-cp311-macosx_10_9_universal2.whl (354.9 kB view details)

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

coredis-4.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

coredis-4.8.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (299.8 kB view details)

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

coredis-4.8.3-cp310-cp310-macosx_11_0_arm64.whl (272.1 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

coredis-4.8.3-cp310-cp310-macosx_10_9_x86_64.whl (274.3 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

coredis-4.8.3-cp310-cp310-macosx_10_9_universal2.whl (358.3 kB view details)

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

coredis-4.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.9 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

coredis-4.8.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (299.7 kB view details)

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

coredis-4.8.3-cp39-cp39-macosx_11_0_arm64.whl (272.1 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

coredis-4.8.3-cp39-cp39-macosx_10_9_x86_64.whl (274.2 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

coredis-4.8.3-cp39-cp39-macosx_10_9_universal2.whl (358.2 kB view details)

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

coredis-4.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

coredis-4.8.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (299.3 kB view details)

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

coredis-4.8.3-cp38-cp38-macosx_11_0_arm64.whl (270.5 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

coredis-4.8.3-cp38-cp38-macosx_10_9_x86_64.whl (272.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

coredis-4.8.3-cp38-cp38-macosx_10_9_universal2.whl (354.9 kB view details)

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

coredis-4.8.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (287.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

coredis-4.8.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (291.5 kB view details)

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

coredis-4.8.3-cp37-cp37m-macosx_10_9_x86_64.whl (267.9 kB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: coredis-4.8.3.tar.gz
  • Upload date:
  • Size: 192.3 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.3.tar.gz
Algorithm Hash digest
SHA256 9e8874b6512da23e8ef98e8f13301ff08d9a049a8fc36065fb298b3f55956ab0
MD5 7002717299469edf1c180476bcf4fd38
BLAKE2b-256 9e159498630a748dec93a44ce80042c02bf7978e61fd9f327ff91cdafe3f6552

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 daf29eb833ad8dc4060cc21ae6833e4fc804052e2ee968cfca94b4f012c18c8e
MD5 37973c1c8f315e3872adfc057ce66f8a
BLAKE2b-256 0b75e83153b9b94233bb879d72d6b5a8a118c1aa0a93c3b09a2ecbd65c635a21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d2fd58822089fe89e034642a012800df8258e1a984988ff9a1ec79a6ddec17ed
MD5 6a3039be08767cfcb57fc0b22941d9f9
BLAKE2b-256 42dd60eec2bcca67d5e3d62aaff56f09918e956eefdcdc960869c5293a7053bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7fbbc0939ee968af369cb8d4d1da39ab931eeb1e2357c55ac536c5e37d484c42
MD5 8ae5b2a6f1b047bf44ede8c7c0f91ad4
BLAKE2b-256 e35fa566eed5c216534978fe7a89c9cea0718c8130618d4f2606345abee7711b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2c2a44ad1788fbdf32ef2844ed1337849d94b7681405fbcad7c48f05c182a372
MD5 b71dcc95fe4594e2ede2b01ec77fa77f
BLAKE2b-256 a9c37bdd8d625333e653774317533731fc83f896f6ab7f130f2cb72d67350b5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 151bca48c5f354c2c179059cfe766efff3f704d567c1ba9f0c839632ec56d9aa
MD5 a702de61031c1a27fbb338de9e95520f
BLAKE2b-256 46a6e076936c78cc7a7dfeff2d7c1fe0458a423e2ae1c16a3083409c95433c8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4bbc70d73fd88d5a25a4f3ac29d742cdcae99fdd633b48f46af6888c058831e
MD5 36b8dcebf07855aa0dcdae8becaf3d6d
BLAKE2b-256 77c88db76a5a4a11a5f83e96c5ad0a0632c2d12a2a7d955aa84d0b0d31572292

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 44358ec4cf4dc1fa3c072fdee2899c537f354d5edbc73a949a305dfb534dbf42
MD5 ab490b910ba5d7fdb1a5a03dfd4f82b6
BLAKE2b-256 f03b4d19a07b88ee1e9295c167ccb9720b54f92673449a7591f7cff9d0fa31e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03ef02e51ede5d9ddbb8ad5c9ec4faf685e3cafbaa3c2ed6f10b341a533e51aa
MD5 d3e1c47b9c7f950ce473429d211f7ee8
BLAKE2b-256 488b8ef6596b52a0853b22d83f82052ebb9083b68067c40146e7fde858b2e048

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e315dc5bab1b4cd135438fbd64d626ff309669697834916614fdc2e27fc1a76e
MD5 ade93469ebbf613e9e2390d405b4253c
BLAKE2b-256 73386e44c22490a3fee5ff7c0d03ded52aa5272f3de1f75894f8184e6f5cbe0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c2095084ebd979113ec194df5cff463a212708e75f4a0c6409cf4d484cdc6e5c
MD5 d7be5374522adad853d30eb4ae4ca543
BLAKE2b-256 34970a97511383d9d88653b802c77a63d3fa1fad172ac224f9c1652d13f1e712

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0e747dd07548eca1c19927e3d9d19c79f4db515951ffc5d58f22824eac49baee
MD5 2b861d3d119382a4a1752c5ecd429a01
BLAKE2b-256 970c59a520b96d4260f8e174c8ac0547f0ab02db771e34203506a0cbb3cd0674

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f5122e3b81f0402d1e4b34ee3d78c0e9d7e279b998b24958284821343c5f3621
MD5 7c3402eee2c34a83c06679b2b7fab2fa
BLAKE2b-256 e6c420118b9f1411f5acffe0c527f3f22f938321c14b1ca27a9295a4beb9dc4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 71960c59b214442fd4a921304032dfd531105c756199fda54a41bf6353d4c7de
MD5 7dca7bc2b9aaf335302b53f6cc054f06
BLAKE2b-256 1e8df8b535c7278e84a90609f463a9cb3f2669dbd55d7f4267d6ff0e655803f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 39c912a00921872f03782e01b21013ccc5855748b8dc45863554bd1bca8d5aae
MD5 9b08a79fd8f0a06a19baffa7f4f07eae
BLAKE2b-256 05604c12566bf21c710aabf532f4879ad7c913090a63a38f91e43c230bf25d88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3c1b7d3bc4f9ac0406712467c91dca7dbca2e335db9b32eda345cd3cee8e74ff
MD5 d9a632980fe8fa02b32c4904e4d12f94
BLAKE2b-256 52bcd913dd6c265e2b6f2eba0a9308490e6ba0cef97a0b4349b882991dde47ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0a683f89b2a272812bb17311ea5685125bf9ecc68d1b97221abb2c39fbf30d2
MD5 70721fa5766e844e9990a9a95ac108d9
BLAKE2b-256 a5e70b51cf46b490e6465e2828898e7e82b31e9f89e4240bd5c4f3ac1eacf2be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 fbb79e01fa776fecab012a2799303de03397e3a1201a6d29a51609d07ac962e0
MD5 d0db0d8c24b218b4d2a528b9b6b46b2e
BLAKE2b-256 58370bd31154f06bb903a66171cce77651eb2fe7e6b52922e4b9b45ea9702dde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b23e49d9efa1ac088599ea4068245699c3d47cbb31d057a667aa1cbdde422225
MD5 bb21f9a9bfded06a7eb9459ab5578e45
BLAKE2b-256 396427c56abf308bd4eee568c496d1d836bb63f64d85a66e3b79437f9ffa0317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 519d8cce3ca5cfa83c6776855283f36dfd896f3f9bda47d93d0a0f85ad84a86b
MD5 84f8928e0dc27085ddd5dcae4e0b66f5
BLAKE2b-256 17855a95bc197d7c808ea47a0208b59ddfb5bd539e80340712ead681b64c4338

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 65a30fbb182c6c2fae408fb1c290b7af2309b39ec8b050e702af6045340d6a9e
MD5 d516344c4a55f4ca3e0bcd29e61a8428
BLAKE2b-256 9e5f589ea9f53e18c4537bebf2e310e34604de25414b030cb450de7d5a8d40d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a01e096e4e7ddfbdf0c74869e9086cbf43d37b95d704ecbfc545b00e1215e054
MD5 d7aed136921f36651d5feb01b3acc9eb
BLAKE2b-256 10d965254b8ab24bf842e19762cc7a208fd5ae6ffd1cd4ba2b4cc08b53ba445f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2addd53e6798d3520f990602b8c6158277964aa5914fa8a64899ef4df1667794
MD5 a1b9ac4b22b0ac6d2012901df2ae5512
BLAKE2b-256 c2f115e96e7e950db2d7d5bb2fe634f80c07fc7fdc383df152e281a3a9949584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for coredis-4.8.3-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 43ef63728dc45978860915a82452a9d369987552107f0d4b753a3f78841275d5
MD5 e350eefc6a4ef4e39af3d9eaca210315
BLAKE2b-256 95e02f2ba22edb68da862c403e499734c2bd75d18406a6bb4949c8291e9e4b56

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