Sider is planning to provide a lot of things able to be done with Redis. It will be a long-running project, and planned features have their priority.
- Entity mapping (
The main feature Sider 0.3 ships will be an entity mapper inspired by SQLAlchemy’s manual mapper. In this version, entity mapper doesn’t support any declarative interface yet.
It has been being developed in the branch entity-mapping.
- Key templates (
You can organize keys by grouped values instead of raw vanilla string keys.
The branch name for this will be key.
- Channels (
By using Redis’ pub/sub channels you will be able to use Redis as your simple message queue.
The branch name for this will be channel.
- Extension namespace (
User-contributed modules can be plugged inside the namespace
sider.ext. If you write an extension module for Sider and name it
sider_somethingit will be imported by
It has been being developed in the branch ext.
- Declarative entity mapper (
Inspired by SQLAlchemy’s declarative mapper, by using metaclasses, Sider will provide the easier mapping interface to use built on top of the manual mapper.
It will be developed in the branch entity-mapping.
- Indices (
While Redis hashes don’t have any indices Sider’s entity mapper will provide indices for arbitrary expressions by generating materialized views and you can search entities by indexed fields.
It will be developed in the branch entity-index.
- Simple distributed task queue (
sider.channelSider will offer the simple distributed task queue. It will have very subset features of Celery (while Celery supports various AMQP implementations other than Redis e.g. RabbitMQ).
It will be developed in the branch ext-task.