aioredis-models

Model Redis data structures


Keywords
redis, asyncio, data-structures, models, redis-client
License
MIT
Install
pip install aioredis-models==3.0.0

Documentation

aioredis-models

A wrapper over aioredis that models Redis data as simple data structures.

GitHub PyPI

GitHub Workflow Status (event) Documentation Status codecov GitHub Workflow Status

Supported data structures

  • Keys
  • Strings
  • Lists
  • Hash maps
  • Sets
  • Double hash maps

Requirements

Documentation

Detailed documentation is available at https://aioredis-models.readthedocs.io/.

Usage

Construction of all data structures requires at least an aioredis.Redis instance and a key. For example, to create a RedisString:

from aioredis-models import RedisString

redis_string = RedisString(redis, 'my-string')

Once a model has been constructed, various functions can be used to interact with it.

import aioredis
from aioredis-models import RedisString

async def do_work(redis_string: RedisString):
  stored_value = await redis_string.get()
  print(stored_value)

Contributing

The library is currently in very early stages of development and there is a lot of room for growth. As such, contributions are welcome. To contribute, create a pull request into the main branch. Make sure the tests pass and there are no linting errors. Also, please update documentation, if needed.

Testing

The easiest way to run the tests is through docker-compose and Docker:

docker-compose up --build unit-test

To run directly on the host:

pip3 install -r requirements.txt
tox -e unit-py39

End-to-end tests can also be run with docker-compose:

docker-compose up --build e2e-test

Linting

Similar to testing, linting rules can be run through:

docker-compose up --build lint

To run directly on the host:

pip3 install -r requirements.txt
pylint aioredis_models

Documentation

Documentation can get regenerated by starting the generate-docs service in docker-compose:

docker-compose up --build generate-docs

To run directly on the host:

pip3 install -r requirements.txt
sphinx-apidoc -f -o docs/source aioredis_models && (cd docs && make html)

License

This library is offered under the MIT license.