Skip to main content

Redis support for Flask without breaking PyCharm inspections.

Project description

Yet another Redis extension for Flask. Flask-Redis-Helper doesn’t break PyCharm autocomplete/inspections and handles the Flask application context the same way SQLAlchemy does.

  • Python 2.6, 2.7, 3.3, and 3.4 supported on Linux and OS X.
  • Python 2.7, 3.3, and 3.4 supported on Windows (both 32 and 64 bit versions of Python).
Build Status Windows Build Status Coverage Status Latest Version Downloads


Inspired by Flask-SQLAlchemy and Flask-And-Redis.

Supported Platforms

  • OSX and Linux.
  • Python 2.6, 2.7, 3.3, 3.4
  • Flask 0.10.1
  • Redis 2.9.1
  • Celery 3.1.11



pip install Flask-Redis-Helper


from flask import Flask
from flask.ext.redis import Redis

app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://localhost'
redis = Redis(app)

Factory Example

from flask.ext.redis import Redis

redis = Redis()
redis_cache = Redis()
from flask import Flask
from extensions import redis, redis_cache

def create_app():
    app = Flask(__name__)
    app.config['REDIS_URL'] = 'redis://localhost/0'
    app.config['REDIS_CACHE_URL'] = 'redis://localhost/1'
    redis_cache.init_app(app, config_prefix='REDIS_CACHE')
    return app
from application import create_app

app = create_app()


Flask-Redis-Helper subclasses StrictRedis and adds the init_app() method for delayed initialization (for applications that instantiate extensions in a separate file, but run init_app() in the same file Flask() was instantiated).

The following config settings are searched for in the Flask application’s configuration dictionary:

  • REDIS_URL – URL to Redis server. May be a network URL or Unix socket URL. Individual components may be overridden by settings below (like setting REDIS_DB). URLs must start with redis://, file://, or redis+socket:// (Celery compatibility). redis:// handles ambiguous URLs (like redis://localhost and redis://my_socket_file) by prioritizing network URL interpretations over socket URLs. Use the file:// or redis+socket:// URL schemes to force socket URL interpretations over network URLs.
  • REDIS_SOCKET – UNIX socket file path. If specified, disables REDIS_HOST and REDIS_PORT settings.
  • REDIS_HOST – the Redis server’s hostname/IP. Default is localhost.
  • REDIS_PORT – TCP port number. Default is 6379.
  • REDIS_PASSWORD – password. Default is None.
  • REDIS_DB – DB instance (e.g. 1). Must be an integer. Default is 0.



  • Windows support.
  • Removed dependency on six.


  • Support trailing slashes.


  • Minor code restructuring.


  • Added Python 2.6 and 3.x support.


  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Flask-Redis-Helper, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size Flask-Redis-Helper-1.0.0.tar.gz (6.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page