Metadata-Version: 2.1
Name: rcc
Version: 0.7.8
Summary: A simple asyncio redis client with cluster support and a resharding cli tool.
Home-page: https://github.com/machinezone/rcc
Author: Benjamin Sergeant
Author-email: bsergean@gmail.com
License: BSD 3
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Description-Content-Type: text/markdown
Requires-Dist: click (>=7.0)
Requires-Dist: coloredlogs (>=10.0)
Requires-Dist: hiredis (>=1.0.1)
Requires-Dist: honcho (==1.0.1)
Requires-Dist: python-rapidjson (>=0.9.1)
Requires-Dist: tabulate (>=0.8.5)
Provides-Extra: dev
Requires-Dist: wheel ; extra == 'dev'
Requires-Dist: isort ; extra == 'dev'
Requires-Dist: mypy ; extra == 'dev'
Requires-Dist: twine ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Requires-Dist: pre-commit ; extra == 'dev'

# General

[![PyPI version](https://badge.fury.io/py/rcc.svg)](https://badge.fury.io/py/rcc)
![Build status](https://github.com/machinezone/rcc/workflows/unittest/badge.svg)
[![PyPI Python Versions](https://img.shields.io/pypi/pyversions/rcc.svg)](https://img.shields.io/pypi/pyversions/rcc)
[![License](https://img.shields.io/pypi/l/rcc.svg)](https://img.shields.io/pypi/l/rcc)
[![Wheel](https://img.shields.io/pypi/wheel/rcc.svg)](https://img.shields.io/pypi/wheel/rcc)

A Redis Cluster Client

## Rationale

The main asyncio redis library does not support redis cluster at this point. There is another library named aredis which has cluster support, but which has some small bugs for which pull requests existed, that were not merged until recently. Getting a redis client to work is not terribly hard, thanks to the design of redis, so I started this project and got it to work in a limited amount of time.

## Tools

2 tools come with this package, as subcommands of rcc.

* analyze-keyspace / will turn on redis keyspace notifications and tell you what your _hot_ keys are.
* binpacking / will help reshard your cluster in an optimal way based on your usage. This will consume the output of the analyze-keyspace command


