SlideShare a Scribd company logo
1 of 17
Download to read offline
print “About Me”

Francis Addai (amoeba),
Student at KNUST

twitter: @faddai
email: 4addai@gmail.com
blog: http://faddai.tumblr.com
Overview

✔
  What is Pyramid?
✔
  Pyramid vs. Other Frameworks
✔
  The Community & Resources
✔
  Geekry!

Demo & Questions
What is Pyramid
●   An open source web framework
 ● Easier to create arbitrary web apps


 ● Can be used to build wide array of

    applications
 ● Simple Blogs, CMS, Social Web Apps


...etc
What makes Pyramid Awesome
●   Pyramid is a fast and flexible web framework
●   Beats similar web frameworks in many
    performance metrics
●   Component Architecture
●   More choices and flexibility
●   Learn from and contribute back to the Pylons
    Community
Brief History
 Well, sadly enough I hate history

 Pylons + Repoze.bfg
Brief History
●   Pylons,TurboGears, Django(2005-)
●   Repoze.bfg (2008-2010) 
●   Influenced by Zope* (1998?-)
●   Pylons, Repoze.bfg, TG merge into The Pylons
    Project (2010)
●   A collection of web related Python projects under
    a single umbrella
●   Pylons development discontinued
●   Repoze.bfg renamed to Pyramid
●   Pyramid currently the main web framework
Getting started

●   $ virtualenv env
●   $ cd env
●   $ source bin/activate
●   $ easy-install pyramid [nose]
●   $ pcreate -s starter HelloWorld
Your first Web Application
The Pyramid Tenets
 ●   Simplicity
 ●   Minimalism
 ●   Documentation
 ●   Reliability
 ●   Openness
 ●   Speed

 *https://www.pylonsproject.org/projects/pyramid/about
Simplicity
"Only pay for what you eat"
 
  ● Not forced to user any particular technology


  ● No DB


  ● SQL


  ● MongoDB




All okay
Easy to set up basic apps
Minimalism
Relatively small code base (~5000 lines)
Django ~60,000 lines
 
Concentrates on common core activities:
  ● URL mapping,


  ● templating,


  ● security,


  ● serving static assets
Documentation
Every aspect of the framework is documented
 
    ●   Coverage is good, but sometimes lacks good 
        examples
    ●   Improving over time
    ●   You can learn by examples too on github, clone 
        and just hack away.


    https://docs.pylonsproject.org/
Reliability
    ●   Tested exhaustively
    ●   100% code test coverage
    ●   “If it ain’t tested, it’s broke"
    ●   Source code has good examples of well written tests
 
Unit testing is very important.
Openness
"As with Python, the Pyramid software is distributed
under a permissive open source license."
 
  ● Active community


  ● Main developers Chris McDonough, Ben Bangert, and

    others respond to question frequently
  ● Growing library of open source pyramid related

    projects
Speed
Core functionality is optimized for very fast execution

    ●   Hardware maybe cheap these day
    ●   The time and energy needed to manage all that 
        hardware is not so cheap



 
Two methods of routing requests
URL Dispatch
  ● Simple pattern matching


  ● Maps a view function to a URL pattern


Traversal
  ● Analogous to opening a file/directory in your OS's file

    system
  ● Stick with URL Dispatch if you're a beginner


 Templating Engine
  ● Chameleon and Mako support


  ● I prefer Mako's syntax


 
Community
Community Contributions 
  ● Pyramid projects on Github


  ● Best way to learn (other than documentation) 


Many pyramid_* packages and continuing to grow
 
Google Group
http://groups.google.com/group/pylons-discuss
IRC: #pylons on Freenode

More Related Content

What's hot

Using Javascript in today's world
Using Javascript in today's worldUsing Javascript in today's world
Using Javascript in today's worldSudar Muthu
 
Integrating grunt and bower with maven
Integrating grunt and bower with mavenIntegrating grunt and bower with maven
Integrating grunt and bower with mavenRahul Nanwani
 
Golang #5: To Go or not to Go
Golang #5: To Go or not to GoGolang #5: To Go or not to Go
Golang #5: To Go or not to GoOliver N
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...niallo
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular librariesMattVaughn9
 
Isomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and ReactIsomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and ReactTyler Peterson
 
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...Cory Webb
 
Building your first Gutenberg block
Building your first Gutenberg blockBuilding your first Gutenberg block
Building your first Gutenberg blockCory Webb
 
Create Custom Page Builders with Gutenberg and ACF Blocks
Create Custom Page Builders with Gutenberg and ACF BlocksCreate Custom Page Builders with Gutenberg and ACF Blocks
Create Custom Page Builders with Gutenberg and ACF BlocksCory Webb
 
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Андрей Вандакуров
 
Java mobile and microservice
Java mobile and microserviceJava mobile and microservice
Java mobile and microserviceTiến Nguyễn
 
Introduction to JS frameworks
Introduction to JS frameworksIntroduction to JS frameworks
Introduction to JS frameworksDeepu S Nath
 
WordCamp Barcelona 2015 : From Design to a Theme
WordCamp Barcelona 2015 : From Design to a ThemeWordCamp Barcelona 2015 : From Design to a Theme
WordCamp Barcelona 2015 : From Design to a ThemePancho Pérez Salazar
 
Sydjs: static site generators
Sydjs: static site generatorsSydjs: static site generators
Sydjs: static site generatorsBen Buchanan
 

What's hot (20)

Using Javascript in today's world
Using Javascript in today's worldUsing Javascript in today's world
Using Javascript in today's world
 
Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
 
Integrating grunt and bower with maven
Integrating grunt and bower with mavenIntegrating grunt and bower with maven
Integrating grunt and bower with maven
 
From NodeJS to Rust
From NodeJS to RustFrom NodeJS to Rust
From NodeJS to Rust
 
Tech talk: PHP
Tech talk: PHPTech talk: PHP
Tech talk: PHP
 
Golang #5: To Go or not to Go
Golang #5: To Go or not to GoGolang #5: To Go or not to Go
Golang #5: To Go or not to Go
 
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...
 
Custom angular libraries
Custom angular librariesCustom angular libraries
Custom angular libraries
 
Full stack development
Full stack developmentFull stack development
Full stack development
 
Isomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and ReactIsomorphic JavaScript with Node, WebPack, and React
Isomorphic JavaScript with Node, WebPack, and React
 
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...
Demystifying Gutenberg Blocks - Understanding the first steps to becoming a G...
 
Building your first Gutenberg block
Building your first Gutenberg blockBuilding your first Gutenberg block
Building your first Gutenberg block
 
Ruxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenetRuxmon.2015-08.-.proxenet
Ruxmon.2015-08.-.proxenet
 
Create Custom Page Builders with Gutenberg and ACF Blocks
Create Custom Page Builders with Gutenberg and ACF BlocksCreate Custom Page Builders with Gutenberg and ACF Blocks
Create Custom Page Builders with Gutenberg and ACF Blocks
 
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
 
Groovy and noteworthy
Groovy and noteworthyGroovy and noteworthy
Groovy and noteworthy
 
Java mobile and microservice
Java mobile and microserviceJava mobile and microservice
Java mobile and microservice
 
Introduction to JS frameworks
Introduction to JS frameworksIntroduction to JS frameworks
Introduction to JS frameworks
 
WordCamp Barcelona 2015 : From Design to a Theme
WordCamp Barcelona 2015 : From Design to a ThemeWordCamp Barcelona 2015 : From Design to a Theme
WordCamp Barcelona 2015 : From Design to a Theme
 
Sydjs: static site generators
Sydjs: static site generatorsSydjs: static site generators
Sydjs: static site generators
 

Viewers also liked

Como añadir iconos de social media en la firma de tu email
Como añadir iconos de social media en la firma de tu  emailComo añadir iconos de social media en la firma de tu  email
Como añadir iconos de social media en la firma de tu emailEsmeralda Diaz-Aroca
 
Resembling God: Part 3 - Absolute Obedience
Resembling God: Part 3 - Absolute ObedienceResembling God: Part 3 - Absolute Obedience
Resembling God: Part 3 - Absolute ObedienceMatthew Huish
 
Images(1)
Images(1)Images(1)
Images(1)lks5
 
Energy security policies as a driver for European shale gas and oil development?
Energy security policies as a driver for European shale gas and oil development?Energy security policies as a driver for European shale gas and oil development?
Energy security policies as a driver for European shale gas and oil development?Bartek Kwiatkowski
 
Nuoi cua dong_2
Nuoi cua dong_2Nuoi cua dong_2
Nuoi cua dong_2Buu Dang
 
How can god bless our church? 6. Worship with joy
How can god bless our church? 6. Worship with joyHow can god bless our church? 6. Worship with joy
How can god bless our church? 6. Worship with joyMatthew Huish
 
Aboriginal lifestyle 1
Aboriginal lifestyle 1Aboriginal lifestyle 1
Aboriginal lifestyle 1yanhonnam
 
Ky thuat nuoi_cua_dong
Ky thuat nuoi_cua_dongKy thuat nuoi_cua_dong
Ky thuat nuoi_cua_dongBuu Dang
 
Stockholm3
Stockholm3Stockholm3
Stockholm3relfst
 
D tbiz marketing-2012
D tbiz marketing-2012D tbiz marketing-2012
D tbiz marketing-2012DreamTeamBiz
 
Roast up an ESB this Christmas
Roast up an ESB this ChristmasRoast up an ESB this Christmas
Roast up an ESB this ChristmasMichael Gallagher
 
Quyết định của bộ trưởng bộ thủy sản
Quyết định của bộ trưởng bộ thủy sảnQuyết định của bộ trưởng bộ thủy sản
Quyết định của bộ trưởng bộ thủy sảnBuu Dang
 
Reflecting on poor self-image
Reflecting on poor self-imageReflecting on poor self-image
Reflecting on poor self-imageMatthew Huish
 
What hope for politics?
What hope for politics?What hope for politics?
What hope for politics?Matthew Huish
 
When someone else lets the team down
When someone else lets the team downWhen someone else lets the team down
When someone else lets the team downMatthew Huish
 

Viewers also liked (20)

Como añadir iconos de social media en la firma de tu email
Como añadir iconos de social media en la firma de tu  emailComo añadir iconos de social media en la firma de tu  email
Como añadir iconos de social media en la firma de tu email
 
Vr
VrVr
Vr
 
Resembling God: Part 3 - Absolute Obedience
Resembling God: Part 3 - Absolute ObedienceResembling God: Part 3 - Absolute Obedience
Resembling God: Part 3 - Absolute Obedience
 
A Parent's Priority
A Parent's PriorityA Parent's Priority
A Parent's Priority
 
Images(1)
Images(1)Images(1)
Images(1)
 
Energy security policies as a driver for European shale gas and oil development?
Energy security policies as a driver for European shale gas and oil development?Energy security policies as a driver for European shale gas and oil development?
Energy security policies as a driver for European shale gas and oil development?
 
Nuoi cua dong_2
Nuoi cua dong_2Nuoi cua dong_2
Nuoi cua dong_2
 
How can god bless our church? 6. Worship with joy
How can god bless our church? 6. Worship with joyHow can god bless our church? 6. Worship with joy
How can god bless our church? 6. Worship with joy
 
Voor Frank
Voor FrankVoor Frank
Voor Frank
 
Aboriginal lifestyle 1
Aboriginal lifestyle 1Aboriginal lifestyle 1
Aboriginal lifestyle 1
 
Ky thuat nuoi_cua_dong
Ky thuat nuoi_cua_dongKy thuat nuoi_cua_dong
Ky thuat nuoi_cua_dong
 
Stockholm3
Stockholm3Stockholm3
Stockholm3
 
D tbiz marketing-2012
D tbiz marketing-2012D tbiz marketing-2012
D tbiz marketing-2012
 
Roast up an ESB this Christmas
Roast up an ESB this ChristmasRoast up an ESB this Christmas
Roast up an ESB this Christmas
 
Lec1
Lec1Lec1
Lec1
 
Trust the 95%
Trust the 95%Trust the 95%
Trust the 95%
 
Quyết định của bộ trưởng bộ thủy sản
Quyết định của bộ trưởng bộ thủy sảnQuyết định của bộ trưởng bộ thủy sản
Quyết định của bộ trưởng bộ thủy sản
 
Reflecting on poor self-image
Reflecting on poor self-imageReflecting on poor self-image
Reflecting on poor self-image
 
What hope for politics?
What hope for politics?What hope for politics?
What hope for politics?
 
When someone else lets the team down
When someone else lets the team downWhen someone else lets the team down
When someone else lets the team down
 

Similar to C4ainaction-Introduction to the Pyramid Web Framework

Python web frameworks
Python web frameworksPython web frameworks
Python web frameworksNEWLUG
 
Pentester++
Pentester++Pentester++
Pentester++CTruncer
 
10 things you should know about django
10 things you should know about django10 things you should know about django
10 things you should know about djangoAdieu
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with PythonSivaranjan Goswami
 
Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Grzegorz Miejski
 
Django interview Questions| Edureka
Django interview  Questions| EdurekaDjango interview  Questions| Edureka
Django interview Questions| EdurekaEdureka!
 
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
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.jsKasey McCurdy
 
Python in Industry
Python in IndustryPython in Industry
Python in IndustryDharmit Shah
 
Realtime Apps with Django
Realtime Apps with DjangoRealtime Apps with Django
Realtime Apps with DjangoRenyi Khor
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)rc2209
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringAndrew Kirkpatrick
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applicationsKarthik Gaekwad
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfFarHanWasif1
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceSantex Group
 
Build your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-frameBuild your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-framePaul Bostrom
 

Similar to C4ainaction-Introduction to the Pyramid Web Framework (20)

Python web frameworks
Python web frameworksPython web frameworks
Python web frameworks
 
Pentester++
Pentester++Pentester++
Pentester++
 
10 things you should know about django
10 things you should know about django10 things you should know about django
10 things you should know about django
 
An overview of data and web-application development with Python
An overview of data and web-application development with PythonAn overview of data and web-application development with Python
An overview of data and web-application development with Python
 
Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019Tests immutable when refactoring - SegFault Unconference Cracow 2019
Tests immutable when refactoring - SegFault Unconference Cracow 2019
 
Django interview Questions| Edureka
Django interview  Questions| EdurekaDjango interview  Questions| Edureka
Django interview Questions| Edureka
 
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...
 
An introduction to Node.js
An introduction to Node.jsAn introduction to Node.js
An introduction to Node.js
 
divyanshBajaj.pptx
divyanshBajaj.pptxdivyanshBajaj.pptx
divyanshBajaj.pptx
 
Python in Industry
Python in IndustryPython in Industry
Python in Industry
 
Realtime Apps with Django
Realtime Apps with DjangoRealtime Apps with Django
Realtime Apps with Django
 
Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)Tools and libraries for common problems (Early Draft)
Tools and libraries for common problems (Early Draft)
 
How to get started with Site Reliability Engineering
How to get started with Site Reliability EngineeringHow to get started with Site Reliability Engineering
How to get started with Site Reliability Engineering
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications13 practical tips for writing secure golang applications
13 practical tips for writing secure golang applications
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
 
Tech meetup: Web Applications Performance
Tech meetup: Web Applications PerformanceTech meetup: Web Applications Performance
Tech meetup: Web Applications Performance
 
Build your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-frameBuild your next single page app in ClojureScript and re-frame
Build your next single page app in ClojureScript and re-frame
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

C4ainaction-Introduction to the Pyramid Web Framework

  • 1. print “About Me” Francis Addai (amoeba), Student at KNUST twitter: @faddai email: 4addai@gmail.com blog: http://faddai.tumblr.com
  • 2. Overview ✔ What is Pyramid? ✔ Pyramid vs. Other Frameworks ✔ The Community & Resources ✔ Geekry! Demo & Questions
  • 3. What is Pyramid ● An open source web framework ● Easier to create arbitrary web apps ● Can be used to build wide array of applications ● Simple Blogs, CMS, Social Web Apps ...etc
  • 4. What makes Pyramid Awesome ● Pyramid is a fast and flexible web framework ● Beats similar web frameworks in many performance metrics ● Component Architecture ● More choices and flexibility ● Learn from and contribute back to the Pylons Community
  • 5. Brief History Well, sadly enough I hate history Pylons + Repoze.bfg
  • 6. Brief History ● Pylons,TurboGears, Django(2005-) ● Repoze.bfg (2008-2010)  ● Influenced by Zope* (1998?-) ● Pylons, Repoze.bfg, TG merge into The Pylons Project (2010) ● A collection of web related Python projects under a single umbrella ● Pylons development discontinued ● Repoze.bfg renamed to Pyramid ● Pyramid currently the main web framework
  • 7. Getting started ● $ virtualenv env ● $ cd env ● $ source bin/activate ● $ easy-install pyramid [nose] ● $ pcreate -s starter HelloWorld
  • 8. Your first Web Application
  • 9. The Pyramid Tenets ● Simplicity ● Minimalism ● Documentation ● Reliability ● Openness ● Speed  *https://www.pylonsproject.org/projects/pyramid/about
  • 10. Simplicity "Only pay for what you eat"   ● Not forced to user any particular technology ● No DB ● SQL ● MongoDB All okay Easy to set up basic apps
  • 11. Minimalism Relatively small code base (~5000 lines) Django ~60,000 lines   Concentrates on common core activities: ● URL mapping, ● templating, ● security, ● serving static assets
  • 12. Documentation Every aspect of the framework is documented   ● Coverage is good, but sometimes lacks good  examples ● Improving over time ● You can learn by examples too on github, clone  and just hack away. https://docs.pylonsproject.org/
  • 13. Reliability ● Tested exhaustively ● 100% code test coverage ● “If it ain’t tested, it’s broke" ● Source code has good examples of well written tests   Unit testing is very important.
  • 14. Openness "As with Python, the Pyramid software is distributed under a permissive open source license."   ● Active community ● Main developers Chris McDonough, Ben Bangert, and others respond to question frequently ● Growing library of open source pyramid related projects
  • 15. Speed Core functionality is optimized for very fast execution ● Hardware maybe cheap these day ● The time and energy needed to manage all that  hardware is not so cheap  
  • 16. Two methods of routing requests URL Dispatch ● Simple pattern matching ● Maps a view function to a URL pattern Traversal ● Analogous to opening a file/directory in your OS's file system ● Stick with URL Dispatch if you're a beginner  Templating Engine ● Chameleon and Mako support ● I prefer Mako's syntax  
  • 17. Community Community Contributions  ● Pyramid projects on Github ● Best way to learn (other than documentation)  Many pyramid_* packages and continuing to grow   Google Group http://groups.google.com/group/pylons-discuss IRC: #pylons on Freenode