Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install django-dynamodb-sessions

How to install django-dynamodb-sessions

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install django-dynamodb-sessions
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.5 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Windows (64-bit)
0.5 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Mac OS X (10.5+)
0.5 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Linux (32-bit)
0.5 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Linux (64-bit)
0.5 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Web
 
License
BSD License
Dependencies
Lastest release
version 0.5 on May 23rd, 2012

Status

django-dynamodb-sessions has seen some use on small test environments within EC2. While it should be ready for prime time, it hasn't been heavily battle tested just yet. Other notes:

  • There is currently no management command to remove expired sessions. We can't re-use the Django cleanup command, so we'll have to write our own. This will be added in the next release, we're already setting expiration attributes to drive the cleanup.

Set up your DynamoDB Table

Before you can use this module, you'll need to visit your DynamoDB tab in the AWS Management Console. Then:

  • Hit the Create Table button.
  • Enter sessions as your table name. This can be something else, you'll just need to adjust the settings.DYNAMODB_SESSIONS_TABLE_NAME value accordingly.
  • Select Primary Key Type = Hash.
  • Select a String hash attribute type.
  • Enter session_key for Hash Attribute Name.
  • Hit the Continue button.
  • Decide on throughput. The free tier is 10 read capacity units, 5 write.
  • Finish the rest of the steps

After your table is created, you're ready to install the module on your Django app.

Installation

Install django-dynamodb-sessions using pip or easy_install:

pip install django-dynamodb-sessions

In your settings.py file, you'll need something like this:

DYNAMODB_SESSIONS_AWS_ACCESS_KEY_ID = 'YourKeyIDHere'
DYNAMODB_SESSIONS_AWS_SECRET_ACCESS_KEY = 'YourSecretHere'

If you'd like to add a caching layer between your application and DynamoDB to reduce queries (like Django's cached_db backend), set your session backend to:

SESSION_ENGINE = 'dynamodb_sessions.backends.cached_dynamodb'

Otherwise, go straight to DynamoDB:

SESSION_ENGINE = 'dynamodb_sessions.backends.dynamodb'

After that, fire her up and keep an eye on your Amazon Management Console to see if you need to scale your read/write units up or down.

If you encounter any bugs, have questions, or would like to share an idea, hit up our issue tracker.

Configuration

The following settings may be used in your settings.py:

DYNAMODB_SESSIONS_TABLE_NAME:
 The table name to use for session data storage. Defaults to sessions.
DYNAMODB_SESSIONS_TABLE_HASH_ATTRIB_NAME:
 The hash attribute name on your session table. Defaults to session_key
DYNAMODB_SESSIONS_ALWAYS_CONSISTENT:
 If you're not using this session backend behind a cache, you may want to force all reads from DynamoDB to be consistent. This may lead to slightly slower queries, but you'll never miss object creation/edits. Defaults to True.
DYNAMODB_SESSIONS_AWS_ACCESS_KEY_ID:
 The access key for the AWS account to use for DynamoDB.
DYNAMODB_SESSIONS_AWS_SECRET_ACCESS_KEY:
 The secret for the AWS account to use for DynamoDB.

Changes

0.5
  • Replacing self.session_key with self._session_key in the backend. (AdamN)
0.4
  • Django 1.4 compatibility, and unnecessary code removal. (AdamN)
0.3
  • Re-packaging with setuptools instead of distutils.
0.2
  • Correcting an issue with the cached_dynamodb backend.
0.1
  • Initial release.

License

django-dynamodb-sessions is licensed under the BSD License.

Subscribe to package updates

Last updated May 23rd, 2012

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.