SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Python Web Technologies

An overview of the various Python
        web technologies
What I'll 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)
● Bottle
A note about WSGI

"WSGI is the Web Server Gateway Interface. It is a
specification for web servers and application servers to
communicate with web applications (though it can also be used
for more than that). It is a Python standard, described in detail
in 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)
Django

● "Full stack" framework
● it's 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
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
Turbogears and Pylons

● "Full stack" frameworks
● The pylons project has moved to using pyramid as it's
  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"
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
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
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 will seem a lot like flask
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://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
 }>
Questions

...

Weitere ähnliche Inhalte

Was ist angesagt? (20)

django
djangodjango
django
 
Introduction to django framework
Introduction to django frameworkIntroduction to django framework
Introduction to django framework
 
An Introduction To REST API
An Introduction To REST APIAn Introduction To REST API
An Introduction To REST API
 
PHP Loops and PHP Forms
PHP  Loops and PHP FormsPHP  Loops and PHP Forms
PHP Loops and PHP Forms
 
Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...Django Tutorial | Django Web Development With Python | Django Training and Ce...
Django Tutorial | Django Web Development With Python | Django Training and Ce...
 
Rest api with Python
Rest api with PythonRest api with Python
Rest api with Python
 
Introduction To PHP
Introduction To PHPIntroduction To PHP
Introduction To PHP
 
C Programming Unit-5
C Programming Unit-5C Programming Unit-5
C Programming Unit-5
 
Python pandas Library
Python pandas LibraryPython pandas Library
Python pandas Library
 
Basic Python Django
Basic Python DjangoBasic Python Django
Basic Python Django
 
Programming with Python
Programming with PythonProgramming with Python
Programming with Python
 
Django Girls Tutorial
Django Girls TutorialDjango Girls Tutorial
Django Girls Tutorial
 
Python Programming ppt
Python Programming pptPython Programming ppt
Python Programming ppt
 
Intro to Python
Intro to PythonIntro to Python
Intro to Python
 
Wrapper class
Wrapper classWrapper class
Wrapper class
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Python: Modules and Packages
Python: Modules and PackagesPython: Modules and Packages
Python: Modules and Packages
 
REST & RESTful Web Services
REST & RESTful Web ServicesREST & RESTful Web Services
REST & RESTful Web Services
 
Pandas
PandasPandas
Pandas
 
php
phpphp
php
 

Andere mochten auch

Python tools for testing web services over HTTP
Python tools for testing web services over HTTPPython tools for testing web services over HTTP
Python tools for testing web services over HTTPMykhailo Kolesnyk
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python MeetupAreski Belaid
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with PythonJeff Knupp
 
Flask - Python microframework
Flask - Python microframeworkFlask - Python microframework
Flask - Python microframeworkAndré Mayer
 
Web develop in flask
Web develop in flaskWeb develop in flask
Web develop in flaskJim Yeh
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
 
Lenguaje de programación Python.
Lenguaje de programación Python.Lenguaje de programación Python.
Lenguaje de programación Python.Promocatorce
 

Andere mochten auch (10)

Python tools for testing web services over HTTP
Python tools for testing web services over HTTPPython tools for testing web services over HTTP
Python tools for testing web services over HTTP
 
Flask vs. Django
Flask vs. DjangoFlask vs. Django
Flask vs. Django
 
Flask Introduction - Python Meetup
Flask Introduction - Python MeetupFlask Introduction - Python Meetup
Flask Introduction - Python Meetup
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with Python
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Flask - Python microframework
Flask - Python microframeworkFlask - Python microframework
Flask - Python microframework
 
Web develop in flask
Web develop in flaskWeb develop in flask
Web develop in flask
 
Flask – Python
Flask – PythonFlask – Python
Flask – Python
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 
Lenguaje de programación Python.
Lenguaje de programación Python.Lenguaje de programación Python.
Lenguaje de programación Python.
 

Ähnlich wie Python web frameworks

C4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkC4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkFrancis Addai
 
Python in Industry
Python in IndustryPython in Industry
Python in IndustryDharmit Shah
 
python full stack course in hyderabad...
python full stack course in hyderabad...python full stack course in hyderabad...
python full stack course in hyderabad...sowmyavibhin
 
python full stack course in hyderabad...
python full stack course in hyderabad...python full stack course in hyderabad...
python full stack course in hyderabad...sowmyavibhin
 
Python Web Framework – A Detailed List of Web Frameworks in Python
Python Web Framework – A Detailed List of Web Frameworks in PythonPython Web Framework – A Detailed List of Web Frameworks in Python
Python Web Framework – A Detailed List of Web Frameworks in Pythonabhishekdf3
 
Plone Intranet under the hood
Plone Intranet under the hoodPlone Intranet under the hood
Plone Intranet under the hoodGuido Stevens
 
Asynchronous Frameworks.pptx
Asynchronous Frameworks.pptxAsynchronous Frameworks.pptx
Asynchronous Frameworks.pptxganeshkarthy
 
Top 10 Python Frameworks for App Development
Top 10 Python Frameworks for App DevelopmentTop 10 Python Frameworks for App Development
Top 10 Python Frameworks for App DevelopmentKateWood30
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projectsIBACZ
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1PgTraining
 
MySQL X protocol - Talking to MySQL Directly over the Wire
MySQL X protocol - Talking to MySQL Directly over the WireMySQL X protocol - Talking to MySQL Directly over the Wire
MySQL X protocol - Talking to MySQL Directly over the WireSimon J Mudd
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master BuilderPhilip Norton
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoAhmed Salama
 
"The working architecture of NodeJs applications" Viktor Turskyi
"The working architecture of NodeJs applications" Viktor Turskyi"The working architecture of NodeJs applications" Viktor Turskyi
"The working architecture of NodeJs applications" Viktor TurskyiJulia Cherniak
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxOduniyiAdebola
 

Ähnlich wie Python web frameworks (20)

C4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web FrameworkC4ainaction-Introduction to the Pyramid Web Framework
C4ainaction-Introduction to the Pyramid Web Framework
 
Introduction to django
Introduction to djangoIntroduction to django
Introduction to django
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
 
python full stack course in hyderabad...
python full stack course in hyderabad...python full stack course in hyderabad...
python full stack course in hyderabad...
 
python full stack course in hyderabad...
python full stack course in hyderabad...python full stack course in hyderabad...
python full stack course in hyderabad...
 
Django course
Django courseDjango course
Django course
 
Python Web Framework – A Detailed List of Web Frameworks in Python
Python Web Framework – A Detailed List of Web Frameworks in PythonPython Web Framework – A Detailed List of Web Frameworks in Python
Python Web Framework – A Detailed List of Web Frameworks in Python
 
Plone Intranet under the hood
Plone Intranet under the hoodPlone Intranet under the hood
Plone Intranet under the hood
 
Tori ORM for PyCon 2014
Tori ORM for PyCon 2014Tori ORM for PyCon 2014
Tori ORM for PyCon 2014
 
Python & Django
Python & DjangoPython & Django
Python & Django
 
Asynchronous Frameworks.pptx
Asynchronous Frameworks.pptxAsynchronous Frameworks.pptx
Asynchronous Frameworks.pptx
 
Top 10 Python Frameworks for App Development
Top 10 Python Frameworks for App DevelopmentTop 10 Python Frameworks for App Development
Top 10 Python Frameworks for App Development
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1
 
MySQL X protocol - Talking to MySQL Directly over the Wire
MySQL X protocol - Talking to MySQL Directly over the WireMySQL X protocol - Talking to MySQL Directly over the Wire
MySQL X protocol - Talking to MySQL Directly over the Wire
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
"The working architecture of NodeJs applications" Viktor Turskyi
"The working architecture of NodeJs applications" Viktor Turskyi"The working architecture of NodeJs applications" Viktor Turskyi
"The working architecture of NodeJs applications" Viktor Turskyi
 
Polymer 101
Polymer 101Polymer 101
Polymer 101
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptx
 

Mehr von NEWLUG

Lyx : A Book Writer's Dream - NEWLUG
Lyx : A Book Writer's Dream - NEWLUGLyx : A Book Writer's Dream - NEWLUG
Lyx : A Book Writer's Dream - NEWLUGNEWLUG
 
Linux games
Linux gamesLinux games
Linux gamesNEWLUG
 
Quickly programming
Quickly programmingQuickly programming
Quickly programmingNEWLUG
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentationNEWLUG
 
Making more informed Linux hardware Choices - Phoronix
Making more informed Linux hardware Choices - PhoronixMaking more informed Linux hardware Choices - Phoronix
Making more informed Linux hardware Choices - PhoronixNEWLUG
 
Mac OSX - Presentation for NEWLUG - Nov. 2010
Mac OSX - Presentation for NEWLUG - Nov. 2010Mac OSX - Presentation for NEWLUG - Nov. 2010
Mac OSX - Presentation for NEWLUG - Nov. 2010NEWLUG
 
Python 3 Intro Presentation for NEWLUG
Python 3 Intro Presentation for NEWLUGPython 3 Intro Presentation for NEWLUG
Python 3 Intro Presentation for NEWLUGNEWLUG
 
NEWLUG May 2010 Presentation - Android
NEWLUG May 2010 Presentation - AndroidNEWLUG May 2010 Presentation - Android
NEWLUG May 2010 Presentation - AndroidNEWLUG
 
Newlug presentation- OpenSolaris
Newlug presentation- OpenSolarisNewlug presentation- OpenSolaris
Newlug presentation- OpenSolarisNEWLUG
 

Mehr von NEWLUG (10)

Lyx : A Book Writer's Dream - NEWLUG
Lyx : A Book Writer's Dream - NEWLUGLyx : A Book Writer's Dream - NEWLUG
Lyx : A Book Writer's Dream - NEWLUG
 
Linux games
Linux gamesLinux games
Linux games
 
Quickly programming
Quickly programmingQuickly programming
Quickly programming
 
Ajax presentation
Ajax presentationAjax presentation
Ajax presentation
 
Plone
PlonePlone
Plone
 
Making more informed Linux hardware Choices - Phoronix
Making more informed Linux hardware Choices - PhoronixMaking more informed Linux hardware Choices - Phoronix
Making more informed Linux hardware Choices - Phoronix
 
Mac OSX - Presentation for NEWLUG - Nov. 2010
Mac OSX - Presentation for NEWLUG - Nov. 2010Mac OSX - Presentation for NEWLUG - Nov. 2010
Mac OSX - Presentation for NEWLUG - Nov. 2010
 
Python 3 Intro Presentation for NEWLUG
Python 3 Intro Presentation for NEWLUGPython 3 Intro Presentation for NEWLUG
Python 3 Intro Presentation for NEWLUG
 
NEWLUG May 2010 Presentation - Android
NEWLUG May 2010 Presentation - AndroidNEWLUG May 2010 Presentation - Android
NEWLUG May 2010 Presentation - Android
 
Newlug presentation- OpenSolaris
Newlug presentation- OpenSolarisNewlug presentation- OpenSolaris
Newlug presentation- OpenSolaris
 

Kürzlich hochgeladen

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Python web frameworks

  • 1. Python Web Technologies An overview of the various Python web technologies
  • 2. What I'll Go Over ● Frameworks ● Micro Frameworks ● Templating languages ● The state of Python 3 and the web ● NOSQL
  • 3. Frameworks Covered ● Django ● Pyramid ● A brief mention of Pylons and Turbogears ● Bluebream ● web2py ● Flask(micro-framework) ● Bottle
  • 4. A note about WSGI "WSGI is the Web Server Gateway Interface. It is a specification for web servers and application servers to communicate with web applications (though it can also be used for more than that). It is a Python standard, described in detail in 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. Django ● "Full stack" framework ● it's 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. 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. Turbogears and Pylons ● "Full stack" frameworks ● The pylons project has moved to using pyramid as it's 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. 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. 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. Flask ● micro framework ● no built-in ORM support ● uses routes ● very simple ● fast development ● not as robust tools
  • 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. Python 3 and the web ... Some blockers: ● Webob ● PIL
  • 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 }>