identity.model is a package meant to be used in python wsgi applications to manage users, groups and permissions. It is designed to be integrated in a variety of ways. It is not designed to be an out of the box solution however. Typically out of the box solutions, though great for getting up and running quickly, often prove to be too inflexible to meet all the needs of any given application. In other words, you still have to write code, but the amount of code you have to write is significantly reduced. At least that is the goal.

identity.model utilizes sqlalchemy, paste, tw.forms, and bfg, by virtue of leaning on these frameworks for it's functionality, you can imagine the possibilities.

using sqlalchemy, implies you can use any database engine it supports. Which should in theory give you a decent scalability road map.

using paste, implies infinite possibilities in configuring your wsgi stack for your needs via pastedeploy ini files. To this end, several mini applications are included for various use cases including.

  • authentication
  • authorization
  • user registration
  • password reset
  • user management
  • group management

All of these are wsgi applications implemented using bfg, So one recipe for integrating into your application is via urlmap in your ini file. And then using something like deliverance to provide the common look and feel.

Because these mini-applications are implemented on top of bfg it is also possible to incorporate these directly into any other bfg application.

Several such example applications are included in the source distribution to give you ideas on what is possible.