Skip to content

reganto/usernado

Repository files navigation


Usernado

Makes it Easy to Manage Tornado 🌪️ Applications
Explore the docs »

Test PyPI version

Why Usernado

  • Why not?

  • I like 🌪️

  • For every project I wrote with Tornado, I had to repeat the code for some parts. For example, to authenticate users, I had to write repeated code every time. So I decided to write an extension to solve my need.

Features

  • REST support ⚡

  • Websocket easier than ever ⚡

  • ORM agnostic authentication ⚡

  • Humanize datetime in templates ⚡

  • Better exception printer thanks to tornado-debugger

Installation

Install either with pip or poetry.

pip install usernado
poetry add usernado

Or optionally you can install from github using

pip install git+https://github.com/reganto/usernado

Usage

Hello Usernado

from usernado.helpers import api_route
from usernado import APIHandler
from tornado import web, ioloop


@api_route("/hello", name="hello")
class Hello(APIHandler):
    def get(self):
        self.response({"message": "Hello, Usernado"})

def make_app():
    return web.Application(api_route.urls, autoreload=True)


def main():
    app = make_app()
    app.listen(8000)
    ioloop.IOLoop.current().start()


if __name__ == "__main__":
    main()

For more examples please Check out examples.

Roadmap

  • Send and broadcast for websockets
  • Abstracted authentication methods
  • Authenticaion methods should return True/False
  • Add diff_for_human (humanize) decorator
  • Add api_route for API handlers
  • Add username & password to test login
  • Add pluralize (str_plural) uimodule
  • Add pagination 🔗

Open your mailbox and

tell.reganto[at]gmail.com

Hello!