Build a web application purely in Python, in terms of useful objects that shield you from low-level web implementation issues.
Work with Widgets
Write your app using useful Python classes that deal with HTTP, JavaScript and CSS for you. ...
Dealing with user input
Define what users may input, and validation of such inputs will be consistently taken care of. ...
Layout and styling
Use Widgets that already come styled using Bootstrap, with custom-made high-level Layout objects to control Layout without CSS knowledge. ...
User flow
Control clearly how users are transitioned between your pages in response to their actions. ...
Persistence
Use our integration layer with SQLAlchemy for object persistence. Low level database logic like transactions and the creation and evolution of your database schema are taken care of. ...
Dynamic Content
Express in Python how you want parts of your page to be refreshed and recalculated dynamically without having to write such (typically ajax-driven) logic in JavaScript yourself. ...
Access control
Eliminate user errors and inconsistencies by specifying once whether an item can be seen or changed by the current user. Related Inputs or Buttons will be omitted or greyed out automatically. ...
Internationalisation
Use a single mechanism (based on Babel) to deal with multiple locales for i18n, whether it be for the JavaScript side of things or server-side. Easily add translations for your locale to someone else's project. ...