finds.dev← search

// the find

redis/redis-py

★ 13,559 · Python · MIT · updated Jun 2026

Redis Python client

The official Redis Python client, maintained by Redis Inc. Covers the full Redis command surface including cluster, sentinel, pub/sub, streams, search, JSON, time series, and probabilistic data structures. If you're using Redis from Python, this is what you use — there's no real alternative.

Full async support (redis.asyncio) with feature parity to the sync client, so you're not choosing between async and completeness. hiredis integration is automatic when installed, giving a meaningful throughput boost for free with zero code changes. The new multi-database client handles Active-Active failover with configurable strategies, which used to require application-level workarounds. RESP3 migration is handled gracefully — legacy_responses=False lets you opt into unified response shapes incrementally without a flag day.

The library has grown into a monorepo of Redis modules (search, JSON, time series, bloom filters, vector sets) that all ship together regardless of which modules your Redis instance actually has — you pay the import weight even if you use none of it. The sync/async code duplication is substantial; the codebase has a .agent/sync_async_deduplication_analysis.md which tells you they know it's a problem but haven't solved it. Type hints are uneven — there are overload guides in .agent/ suggesting the typing story is still being worked out, not finished. Documentation lives on readthedocs but the Jupyter notebook examples in docs/examples/ are the main reference for anything non-trivial, which means you're running notebooks to understand connection pooling.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →