Python Web TechnologiesAn overview of the various Python        web technologies
What Ill Go Over● Frameworks● Micro Frameworks● Templating languages● The state of Python 3 and the web● NOSQL
Frameworks Covered● Django● Pyramid● A brief mention of Pylons and Turbogears● Bluebream● web2py● Flask(micro-framework)● ...
A note about WSGI"WSGI is the Web Server Gateway Interface. It is aspecification for web servers and application servers t...
Django● "Full stack" framework● its own tightly integrated built-in ORM● built-in authentication strategy● nice, auto-"mag...
Pyramid● database backend agnostic but has supporting packages for  sqlalchemy, zodb, mongodb.● no authentication policy b...
Turbogears and Pylons● "Full stack" frameworks● The pylons project has moved to using pyramid as its  baseline.● turbogear...
Bluebream● entreprisey● component-driven, interfaces, adapters, etc● zodb● works with other database adapters(have sqlalch...
web2py● FULL stack● built-in ORM● inspired by ruby on rails(so modules and method name map  to urls)● admin interface with...
Flask● micro framework● no built-in ORM support● uses routes● very simple● fast development● not as robust tools
Bottle● Micro framework● 1 file for whole thing● not a very good built-in templating engine● no built-in ORM● initial look...
Python 3 and the web...Some blockers: ● Webob ● PIL
NOSQL notes(mongodb)● json-style storage● for massive "web scale"● sharding, replication, file storage● schemaless● http:/...
Questions...
Upcoming SlideShare
Loading in...5
×

Python web frameworks

2,439

Published on

Python web frameworks presentation by Nathan VanGheem.
Material covered:
- The major frameworks around and differences between them
- Micro frameworks
- Templating languages
- The state of Python 3 and Python Web Technologies
- Brief ditty on NoSQL with MongoDB
- How to get started

The presentation video and sample code is available here:
http://zootlinux.blogspot.com/2011/10/october-newlug-presentation-python-web.html

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,439
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
53
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Python web frameworks

  1. 1. Python Web TechnologiesAn overview of the various Python web technologies
  2. 2. What Ill Go Over● Frameworks● Micro Frameworks● Templating languages● The state of Python 3 and the web● NOSQL
  3. 3. Frameworks Covered● Django● Pyramid● A brief mention of Pylons and Turbogears● Bluebream● web2py● Flask(micro-framework)● Bottle
  4. 4. A note about WSGI"WSGI is the Web Server Gateway Interface. It is aspecification for web servers and application servers tocommunicate with web applications (though it can also be usedfor more than that). It is a Python standard, described in detailin PEP 333." ● Provides a way for reusable web components to easily work together through this specification ● Also allows you to easily deploy web application that follow this standard(gunicorn, mod_wsgi, uWSGI, etc)
  5. 5. Django● "Full stack" framework● its own tightly integrated built-in ORM● built-in authentication strategy● nice, auto-"magic" backend● one monolithic package● no interaction really with other communities● great for CMS-like applications● URLs are generated from specifying regular expressions that map to python functions
  6. 6. Pyramid● database backend agnostic but has supporting packages for sqlalchemy, zodb, mongodb.● no authentication policy built-in but has supported add-ons● great authorization policy● small footprint, fast, well tested and very well documented● VERY pluggable framework● URL pattern can use traversal and routes● "no opinion"● add-ons can be described as "opinions" for the framework.● demonstrating "khufu" opinion(SQLAlchemy, Jinja2, traversal)● built using zope technologies with the idea of rewriting all the bad of zope
  7. 7. Turbogears and Pylons● "Full stack" frameworks● The pylons project has moved to using pyramid as its baseline.● turbogears and pylons already share a good deal● soo... Pyramid, Pylons and Turbogears pretty much share a lot of the core technologies and just have different opinions about what to do with them after that● Turbogears has the most "opinions"
  8. 8. Bluebream● entreprisey● component-driven, interfaces, adapters, etc● zodb● works with other database adapters(have sqlalchemy support)● pyramid is built off of a lot of these components● uses buildout● where zope is now today● big stack, lots of dependencies
  9. 9. web2py● FULL stack● built-in ORM● inspired by ruby on rails(so modules and method name map to urls)● admin interface with support of TTW development● coding by convention● not very pythonic● lots of "magic" going on
  10. 10. Flask● micro framework● no built-in ORM support● uses routes● very simple● fast development● not as robust tools
  11. 11. Bottle● Micro framework● 1 file for whole thing● not a very good built-in templating engine● no built-in ORM● initial look will seem a lot like flask
  12. 12. Python 3 and the web...Some blockers: ● Webob ● PIL
  13. 13. NOSQL notes(mongodb)● json-style storage● for massive "web scale"● sharding, replication, file storage● schemaless● http://www.mongodb.org/● mongokit - http://pypi.python.org/pypi/mongokit > j = { name : "mongo" }; {"name" : "mongo"} > t = { x : 3 }; { "x" : 3 } > db.things.save(j); > db.things.save(t); > db.things.find(); { "_id" : ObjectId ("4c2209f9f3924d31102bd84a"), "name" : "mongo" } { "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }>
  14. 14. Questions...
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×