# `paste.session` – Simple file-based sessions

Creates a session object in your WSGI environment.

Use like:

..code-block:: Python

> environ[‘paste.session.factory’]()

This will return a dictionary. The contents of this dictionary will be saved to disk when the request is completed. The session will be created when you first fetch the session dictionary, and a cookie will be sent in that case. There’s current no way to use sessions without cookies, and there’s no way to delete a session except to clear its data.

@@: This doesn’t do any locking, and may cause problems when a single session is accessed concurrently. Also, it loads and saves the session for each request, with no caching. Also, sessions aren’t expired.

## Module Contents

class `paste.session.``SessionMiddleware`(application, global_conf=None, **factory_kw)

`paste.session.``make_session_middleware`(app, global_conf, session_expiration=<dynamic default>, expiration=<dynamic default>, cookie_name=<dynamic default>, session_file_path=<dynamic default>, chmod=<dynamic default>)

  Adds a middleware that handles sessions for your applications. The session is a peristent dictionary. To get this dictionary in your application, use `environ['paste.session.factory']()` which returns this persistent dictionary.

  Configuration:

  > session_expiration:

  >   The time each session lives, in minutes. This controls the cookie expiration. Default 12 hours.

  > expiration:

  >   The time each session lives on disk. Old sessions are culled from disk based on this. Default 48 hours.

  > cookie_name:

  >   The cookie name used to track the session. Use different names to avoid session clashes.

  > session_file_path:

  >   Sessions are put in this location, default /tmp.

  > chmod:

  >   The octal chmod you want to apply to new sessions (e.g., 660 to make the sessions group readable/writable)

  Each of these also takes from the global configuration. cookie_name and chmod take from session_cookie_name and session_chmod