Skip to main content

Torndsession Session

Torndsession is a session extension for Tornado web framework. Torndsession support application memory, file, redis or memcached to save session data for request, and it’s easy to extend for developer.

Hello, Session

Here is a simple “Hello, Session” example web app for Tornado with Torndsession.:

import tornado.web
import tornado.httpserver
import tornado.ioloop
import torndsession


class Application(tornado.web.Application):
    def __init__(self):
        handlers = [
            (r"/", MainHandler),
        ]
        settings = dict(
            debug=True,
        )
        # sid_name, lifetime added in 1.1.5.0
        # sid_name: the name of session id in cookies.
        # lifetime: session default expires seconds.
        session_settings = dict(
            driver='memory',
            driver_settings={'host': self},
            force_persistence=True,
            sid_name='torndsessionID',
            session_lifetime=1800
        ),
        settings.update(session=session_settings)
        tornado.web.Application.__init__(self, handlers, **settings)


class MainHandler(torndsession.sessionhandler.SessionBaseHandler):
    def get(self):
        self.write("Hello, Session.<br/>")
        if 'data' in self.session:
            data = self.session['data']
        else:
            data = 0
        self.write('data=%s' % data)
        self.session["data"] = data + 1


def main():
    http_server = tornado.httpserver.HTTPServer(Application())
    http_server.listen(8000)
    tornado.ioloop.IOLoop.instance().start()


if __name__ == "__main__":
    main()

In this example, Request handler obtain memory session feature, it just inherit from SessionBaseHandler. more session example see torndsession demos.

Installation

Automatic installation:

pip install torndsession

Torndsession is listed in PyPI and can be installed with pip or easy_install. Note that this installation can not install demos applicatinos which be included in source code.

The another way is use git+ install torndsession from github.

pip install git+https://github.com/mitchellchu/torndsession

Manual installation:

In this way, you need download the source from PyPI.:

tar xvzf torndsession.tar.gz
cd torndsession
python setup.py build
sudo python setup.py install

The Torndsession source code is hosted on GitHub.

Updated

Torndsession 1.1.5:

  • fixed bug in 1.1.4

  • default session id value generator changed. see #ISSUE 12#.

  • added two custom key in settings.

    • sid_name: session’s cookie name.

    • session_lifetime: default expired seconds for session.

Torndsession 1.1.4:

  • fixed bug

Torndsession 1.1.3 fixed some bug and supported python 3.x.

Requires

LICENSE

Torndsession is licensed under MIT.

Release files for torndsession 1.1.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for torndsession 1.1.5.1
File Size Uploaded
torndsession-1.1.5.1.zip 16.9 kB Details

Release files / torndsession-1.1.5.1.zip

Download URL torndsession-1.1.5.1.zip
Size 16.9 kB
Tags Source
SHA-256 checksum
How to use checksums
8479e4e06805f4b96585e784c9d93bb6be18a4c1df3a3f878af0252cd5856a8e
BLAKE2b-256 checksum
How to use checksums
fcf095a55a4480224eb3cc4e6b8ef71fb8c6d0783b696ea98533e9fee30af39d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.1.5.1 This release

1 release file

1.1.4

1 release file

1.1.3

1 release file

1.1.2

1 release file

1.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page