SlideShare une entreprise Scribd logo
1  sur  29
Nicola
Costantino
The Origins
P y t h o n M e e t u p
2 6 J u n e 2 0 1 9
Community
Python Meetup Bari
B y P y t h o n I t a l i a
FORMAT
• (Up to) 90 minutes talk(s), or multiple
• Q&A, networking and/or buffet (if sponsored)
PROPOSAL
• “Call for proposal” (CFP) phase: Propose a talk in the
Facebook group of the community
• Voting phase: CFP closed, the community votes
• The winner will prepare and present the talk
REQUEST
• Community members can request a talk
• Requests can be an inspiration for speakers
COMMUNITY
• Facebook Group:
https://www.facebook.com/groups/pythonbari/
• Ask, Answer, Show!
• Don’t be shy: experts are welcome, newbies too!
VOLUNTEERS
• Join us, we need your help!
• Contact the Fb page!
• No experience needed – All experiences needed
• https://www.facebook.com/pythonbari
“Join the Dark Side:
you’ll be free from ‘;’
Technology
Python
P a s t , P r e s e n t , F u t u r e
Guido van Rossum
Creator of Python
• Born 1956, 31 January in Netherlands
• 1982: Master's degree in mathematics and
computer science, University of Amsterdam
• Needed a programming language in
between Shell Script and C for Amoeba
distributed Operating System
• Python created on top of ABC’s best
features - Christmas project
• Python: 1989
• Java, JavaScript, PHP, Ruby: 1995
“Why is Python popular, while Lisp and Scheme aren't?”
• “No other language is more
successful in vanishing behind
the problem.”
• “Python is the second best
programming language in the
world. But the best has yet to be
invented”
Source: https://mail.python.org/pipermail/python-list/2002-November/141486.html
COMMUNICATION TOOL
• “In reality, programming languages are
how programmers express and
communicate ideas – and the audience
for those ideas is other programmers, not
computers.”
• “The computer can take care of itself, but
programmers are always working with
other programmers, and poorly
communicated ideas can cause
expensive flops.”
• “Ideas expresses in a programming
language also often reach the end users
of the program”
• Link:
https://www.youtube.com/watch?v=YgtL4S7Hrwo
“Organizations which design
systems... are constrained to
produce designs which are copies
of the communication structures of
these organizations.
— M. Conway
ISN’T PYTHON AGILE?
• “Collaborative effort of self-
organizing and cross-
functional teams and their
customer(s)/end user(s).”
• Scripting, Data, Web, … in
one language!
• “Rapid and flexible response
to change.”
• Totally open!
“Now that PEP 572 is done, I don't ever want to have to fight so
hard for a PEP and find that so many people despise my
decisions.
I would like to remove myself entirely from the decision
process. I’ll still be there for a while as an ordinary core dev,
and I'll still be available to mentor people -- possibly more
available. But I'm basically giving myself a permanent vacation
from being BDFL, and you all will be on
your own.
Source: https://mail.python.org/pipermail/python-committers/2018-July/005664.html
Interview: https://www.youtube.com/watch?v=qxMcGDnT8uc
Action
First little steps…
… a n d b e s t p r a c t i c e s
Knowledge
R a n d o m R e s o u r c e s …
Obey the Testing Goat!
• Testing
• Free Online or Book
• Source:
https://www.obeythetestinggoat.com/
Python Unlocked
• Advanced
• (e)Book
• Source:
https://www.packtpub.com/eu/
application-
development/python-unlocked
Fluent Python
• Advanced
• (e)Book
• Source:
https://www.packtpub.com/eu/
application-
development/python-unlocked
Project
D o n ’ t s t a r t f r o m s c r a t c h , l e a r n f r o m t h e
b e s t
The Twelve-Factor App
• Created by people working on “Heroku”
platform
• (Not) only for Software-As-A-Service web
applications
• Methodology and Principles useful for
systemic problems
• Inspirations: “Patterns of Enterprise” and
“Application Architecture e Refactoring”
by Martin Fowler
Dependencies
P y t h o n P a c k a g e s a n d P a c k a g e M a n a g e r s
Never use packages without a
requirements file!
• Never publish or share a
project without requirements
• Environment must be
transparent
• Environment must be
reproducible
• No one will be able to run it!
• List the requirements needed
for the project
• Fix and freeze the exact
version of each requirement
PIP
• Default and standard package manager
(after easy_install)
• No automatic dependencies and lock files
• Convention: requirements.txt for both cases
• Link: https://pip.pypa.io/en/stable/
• Support packages:
• Pip-tools: https://github.com/jazzband/pip-
tools
• Pipdeptree:
https://github.com/naiquevin/pipdeptree
Pipenv
• Compatible out-of-the-box with pyenv
and pytest
• Pipfile and Pipfile.lock files
• Link: https://docs.pipenv.org/en/latest/
Poetry
• Compatible out-of-the-box with pyenv
and pytest
• pyproject.toml and poetry.lock files
• Link: https://poetry.eustace.io/
About Me
• Nicola Costantino
• Freethinker, Polyglot developer, Founder of Python Bari
• nicolacostantino.com
• nicolacostantino.dev
• LinkedIn: https://www.linkedin.com/in/nicolacostantino/
• GitHub: https://github.com/NicolaCostantino
• Twitter: https://twitter.com/theroadtodark
Thank you!

Contenu connexe

Similaire à Python Meetup: The Origins

Koha: Participation is Key
Koha: Participation is KeyKoha: Participation is Key
Koha: Participation is Key
Nicole C. Engard
 

Similaire à Python Meetup: The Origins (20)

The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!The quality of the python ecosystem - and how we can protect it!
The quality of the python ecosystem - and how we can protect it!
 
How community software supports language documentation and data analysis
How community software supports language documentation and data analysisHow community software supports language documentation and data analysis
How community software supports language documentation and data analysis
 
The Well Connected Facility
The Well Connected FacilityThe Well Connected Facility
The Well Connected Facility
 
Koha: Participation is Key
Koha: Participation is KeyKoha: Participation is Key
Koha: Participation is Key
 
How to get started in Open Source!
How to get started in Open Source!How to get started in Open Source!
How to get started in Open Source!
 
PyLadies-HTX: First Meetup!
PyLadies-HTX: First Meetup!PyLadies-HTX: First Meetup!
PyLadies-HTX: First Meetup!
 
Pi, Python, and Paintball??? Innovating with Affordable Tech!
Pi, Python, and Paintball??? Innovating with Affordable Tech!Pi, Python, and Paintball??? Innovating with Affordable Tech!
Pi, Python, and Paintball??? Innovating with Affordable Tech!
 
The Recipe to Getting Attendees to Your Open Source Events
The Recipe to Getting Attendees to Your Open Source Events The Recipe to Getting Attendees to Your Open Source Events
The Recipe to Getting Attendees to Your Open Source Events
 
The Recipe to Getting Attendees to Your Open Source Events
The Recipe to Getting Attendees to Your Open Source Events The Recipe to Getting Attendees to Your Open Source Events
The Recipe to Getting Attendees to Your Open Source Events
 
Creating a Digital Media Space for Today's Teens: Part 2 (Jan. 2019)
Creating a Digital Media Space for Today's Teens: Part 2 (Jan. 2019)Creating a Digital Media Space for Today's Teens: Part 2 (Jan. 2019)
Creating a Digital Media Space for Today's Teens: Part 2 (Jan. 2019)
 
H5P content types 22.2.18
H5P content types 22.2.18H5P content types 22.2.18
H5P content types 22.2.18
 
Creating a Digital Media Space for Today's Teens: Part 2 (August 2017)
Creating a Digital Media Space for Today's Teens: Part 2 (August 2017)Creating a Digital Media Space for Today's Teens: Part 2 (August 2017)
Creating a Digital Media Space for Today's Teens: Part 2 (August 2017)
 
We Want YOU! Contributing to the Django Community
We Want YOU! Contributing to the Django CommunityWe Want YOU! Contributing to the Django Community
We Want YOU! Contributing to the Django Community
 
Open Source & Libraries
Open Source & LibrariesOpen Source & Libraries
Open Source & Libraries
 
Open Source Issues and Trends
Open Source Issues and TrendsOpen Source Issues and Trends
Open Source Issues and Trends
 
Jupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and EducationJupyter: A Gateway for Scientific Collaboration and Education
Jupyter: A Gateway for Scientific Collaboration and Education
 
Webinar: Getting Started with Digitization An Introduction for Libraries-2016...
Webinar: Getting Started with Digitization An Introduction for Libraries-2016...Webinar: Getting Started with Digitization An Introduction for Libraries-2016...
Webinar: Getting Started with Digitization An Introduction for Libraries-2016...
 
IT Systems for Knowledge Management used in Software Engineering (2010)
IT Systems for Knowledge Management used in Software Engineering (2010)IT Systems for Knowledge Management used in Software Engineering (2010)
IT Systems for Knowledge Management used in Software Engineering (2010)
 
Using oss at an internet company and hacker culture
Using oss at an internet company and hacker cultureUsing oss at an internet company and hacker culture
Using oss at an internet company and hacker culture
 
What is Python? | Edureka
What is Python? | EdurekaWhat is Python? | Edureka
What is Python? | Edureka
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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...
 
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
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 

Python Meetup: The Origins

  • 1. Nicola Costantino The Origins P y t h o n M e e t u p 2 6 J u n e 2 0 1 9
  • 2. Community Python Meetup Bari B y P y t h o n I t a l i a
  • 3. FORMAT • (Up to) 90 minutes talk(s), or multiple • Q&A, networking and/or buffet (if sponsored)
  • 4. PROPOSAL • “Call for proposal” (CFP) phase: Propose a talk in the Facebook group of the community • Voting phase: CFP closed, the community votes • The winner will prepare and present the talk
  • 5. REQUEST • Community members can request a talk • Requests can be an inspiration for speakers
  • 6. COMMUNITY • Facebook Group: https://www.facebook.com/groups/pythonbari/ • Ask, Answer, Show! • Don’t be shy: experts are welcome, newbies too!
  • 7. VOLUNTEERS • Join us, we need your help! • Contact the Fb page! • No experience needed – All experiences needed • https://www.facebook.com/pythonbari
  • 8. “Join the Dark Side: you’ll be free from ‘;’
  • 9. Technology Python P a s t , P r e s e n t , F u t u r e
  • 10. Guido van Rossum Creator of Python • Born 1956, 31 January in Netherlands • 1982: Master's degree in mathematics and computer science, University of Amsterdam • Needed a programming language in between Shell Script and C for Amoeba distributed Operating System • Python created on top of ABC’s best features - Christmas project • Python: 1989 • Java, JavaScript, PHP, Ruby: 1995
  • 11. “Why is Python popular, while Lisp and Scheme aren't?” • “No other language is more successful in vanishing behind the problem.” • “Python is the second best programming language in the world. But the best has yet to be invented” Source: https://mail.python.org/pipermail/python-list/2002-November/141486.html
  • 12. COMMUNICATION TOOL • “In reality, programming languages are how programmers express and communicate ideas – and the audience for those ideas is other programmers, not computers.” • “The computer can take care of itself, but programmers are always working with other programmers, and poorly communicated ideas can cause expensive flops.” • “Ideas expresses in a programming language also often reach the end users of the program” • Link: https://www.youtube.com/watch?v=YgtL4S7Hrwo
  • 13. “Organizations which design systems... are constrained to produce designs which are copies of the communication structures of these organizations. — M. Conway
  • 14. ISN’T PYTHON AGILE? • “Collaborative effort of self- organizing and cross- functional teams and their customer(s)/end user(s).” • Scripting, Data, Web, … in one language! • “Rapid and flexible response to change.” • Totally open!
  • 15. “Now that PEP 572 is done, I don't ever want to have to fight so hard for a PEP and find that so many people despise my decisions. I would like to remove myself entirely from the decision process. I’ll still be there for a while as an ordinary core dev, and I'll still be available to mentor people -- possibly more available. But I'm basically giving myself a permanent vacation from being BDFL, and you all will be on your own. Source: https://mail.python.org/pipermail/python-committers/2018-July/005664.html Interview: https://www.youtube.com/watch?v=qxMcGDnT8uc
  • 16. Action First little steps… … a n d b e s t p r a c t i c e s
  • 17. Knowledge R a n d o m R e s o u r c e s …
  • 18. Obey the Testing Goat! • Testing • Free Online or Book • Source: https://www.obeythetestinggoat.com/
  • 19. Python Unlocked • Advanced • (e)Book • Source: https://www.packtpub.com/eu/ application- development/python-unlocked
  • 20. Fluent Python • Advanced • (e)Book • Source: https://www.packtpub.com/eu/ application- development/python-unlocked
  • 21. Project D o n ’ t s t a r t f r o m s c r a t c h , l e a r n f r o m t h e b e s t
  • 22. The Twelve-Factor App • Created by people working on “Heroku” platform • (Not) only for Software-As-A-Service web applications • Methodology and Principles useful for systemic problems • Inspirations: “Patterns of Enterprise” and “Application Architecture e Refactoring” by Martin Fowler
  • 23. Dependencies P y t h o n P a c k a g e s a n d P a c k a g e M a n a g e r s
  • 24. Never use packages without a requirements file! • Never publish or share a project without requirements • Environment must be transparent • Environment must be reproducible • No one will be able to run it! • List the requirements needed for the project • Fix and freeze the exact version of each requirement
  • 25. PIP • Default and standard package manager (after easy_install) • No automatic dependencies and lock files • Convention: requirements.txt for both cases • Link: https://pip.pypa.io/en/stable/ • Support packages: • Pip-tools: https://github.com/jazzband/pip- tools • Pipdeptree: https://github.com/naiquevin/pipdeptree
  • 26. Pipenv • Compatible out-of-the-box with pyenv and pytest • Pipfile and Pipfile.lock files • Link: https://docs.pipenv.org/en/latest/
  • 27. Poetry • Compatible out-of-the-box with pyenv and pytest • pyproject.toml and poetry.lock files • Link: https://poetry.eustace.io/
  • 28. About Me • Nicola Costantino • Freethinker, Polyglot developer, Founder of Python Bari • nicolacostantino.com • nicolacostantino.dev • LinkedIn: https://www.linkedin.com/in/nicolacostantino/ • GitHub: https://github.com/NicolaCostantino • Twitter: https://twitter.com/theroadtodark