Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A pluggable session implementation for Pyramid

Project description


Want to be able to change out session backends using a simple configuration change, want to store your session data in a new location but re-implementing ISession from Pyramid looks too daunting, fear not, pyramid_pluggable_session makes this really simple.

Is this a pyramid_beaker replacement?

Yes. Although I’ve already been told that unless I implement ALL existing beaker backends that I am not doing it right, so I am hereby doing it wrong ;-).

Pull requests

Want to add a new backend? Perfect. Want to write some tests? Documentation? The whole nine yards? Please!

  1. Clone this repo, create a new topic branch, and hack hack hack.
  2. Push your topic branch to Github
  3. Create a new pull request
  4. I will review it, and if all is well pull it into this source tree!


  • Add better protection against session fixation:
    • Upon failure to deserialize/unpack/expiration of session a new session id is generated.
    • Upon calling invalidate() a new session is generated with a new session id
  • Add more clean-up using the new clear() functionality. When a session fails to deserialize, we remove it from the backends, if a session fails to unpack we remove it from the backends, and if it has expired we also remove it from the backends.
  • Update the included backends memory/file/chain to add the new clear() function required by IPlugSession.
  • Add clear() to IPlugSession interface to allow the session to explicitly have the backend plugs remove the session data associated with a certain session id.
  • On _save_session we set the cookie to response that is provided to us by the callback, and not request.response which may not be the users response.


New features:

  • A file based session storage now exists.
  • A chain can now be constructed for session storage


  • A new ISession compliant Pyramid session provider appears.
  • A single backend exists, it is based on local Pyramid memory.

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 pyramid_pluggable_session, version 0.0.0a2
Filename, size File type Python version Upload date Hashes
Filename, size pyramid_pluggable_session-0.0.0a2.tar.gz (11.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page