unmaintained: check out walrus instead
Latest commit 92dfb34 Jun 16, 2016 @coleifer committed on GitHub Merge pull request #17 from adamchainz/readthedocs.io
Convert readthedocs links for their .org -> .io migration for hosted projects
Failed to load latest commit information.
docs Typos. Feb 2, 2015
examples Cleaning up output Jun 7, 2012
.gitignore Added python build directories to .gitignore Jun 26, 2012
LICENSE Initial check-in Jun 6, 2012
MANIFEST.in Adding example Jun 7, 2012
README.rst Convert readthedocs links for their .org -> .io migration for hosted … Jun 16, 2016
requirements.txt Added redis-py lib to requirements Jun 26, 2012
runtests.py Initial check-in Jun 6, 2012
setup.py Version bump Apr 20, 2013




This project is now deprecated. The code has a new home as a part of walrus, a set of Python utilities for working with Redis.

autocompletion with redis based on:

redis-completion is capable of storing a large number of phrases and quickly searching them for matches. Rich data can be stored and retrieved, helping you avoid trips to the database when retrieving search results.

check out the documentation for more info.


If you just want to store really simple things, like strings:

engine = RedisEngine()
titles = ['python programming', 'programming c', 'unit testing python',
          'testing software', 'software design']
map(engine.store, titles)

>>> engine.search('pyt')
['python programming', 'unit testing python']

>>> engine.search('test')
['testing software', 'unit testing python']

If you want to store more complex data, like blog entries:

Entry.create(title='an entry about python', published=True)
Entry.create(title='all about redis', published=True)
Entry.create(title='using redis with python', published=False)

for entry in Entry.select():
    engine.store_json(entry.id, entry.title, {
        'published': entry.published,
        'title': entry.title,
        'url': entry.get_absolute_url(),

>>> engine.search_json('pytho')
[{'published': True, 'title': 'an entry about python', 'url': '/blog/1/'},
 {'published': False, 'title': 'using redis with python', 'url': '/blog/3/'}]

# just published entries, please
>>> engine.search_json('redis', filters=[lambda i: i['published'] == True])
[{u'published': True, u'title': u'all about redis', u'url': u'/blog/2/'}]


Install with pip:

pip install redis-completion

Install via git:

git clone https://github.com/coleifer/redis-completion.git
cd redis-completion
python setup.py install