You are on page 1of 50

We make

it happen

What can we do with Python?


Cristian Pachón García

eae.es
Table of content

1. What is Python?
2. Python and Data Science
3. Use cases.
4. How companies are using Python?
5. Personal experience.
6. Communities.

2
1. What is Python

eae.es
3
What is Python?

● Python is a high-level, general-purpose programming language. Its


design philosophy emphasizes code readability with the use of
significant indentation via the off-side rule.
● It first appeared in 1991 and its creator is Guido van Rossum.
● Its name is a tribute to the British comedy group Monty Python.
● The current version of Python supports:
○ Windows.
○ macOS.
○ Linux/UNIX.
○ Android
○ etc.

4
What is Python?

● Nowadays, Python is one of the most used


programming since it incorporates state-of-the-art
Artificial Intelligence packages:
○ Tensorflow (Google).
○ Keras (Google).
○ PyTorch (Meta).
● In addition to it, Python can be used for other
purposes:
○ Web development: Djando, FastAPI, Flask,
etc.
○ Introduction to programming: Data Camp,
Coursera, etc.

5
2. Python and Data Science

eae.es
6
Python and Data Science

● Regarding Data Science, Python has multiple


applications:
○ Data visualisation.
○ Data analysis.
○ Machine Learning and AI.
○ End-to-End ML projects.

7
Python and Data Science: data visualisation

● Many Python packages allow us to create


meaningful visualisations:
○ Matplotlib.
○ Seaborn.
○ Plotly.

8
Python and Data Science: data visualisation

● Apart from those packages, there exist some


frameworks designed to create webapps:
○ Streamlit is a newborn application.
○ Dash, not so new as Stremlit but also very
powerful.
○ Bokeh is also a framework that allows to
create visualisation webapp using Python.

9
Python and Data Science: data visualisation

● Many of those frameworks are cloud-based,


meaning that the deployment is managed by the
service cloud. Therefore, we do not need to
manage how the app reaches the Internet.
● For instance, Streamlit has dedicated
documentation that explains how to use
Streamlit-cloud to put the application on the web.

10
Python and Data Science: data analysis

● Pandas is a library that facilitates the manipulation


of tabular data (excel, csv).
● A fast and efficient DataFrame object for data
manipulation with integrated indexing.
● Data can be mutated, grouped and summarised
easily, enable to get insights from.
● Flexible reshaping and pivoting of data sets.
● Time series-functionality: date range generation
and frequency conversion, moving window
statistics, date shifting and lagging. Even create
domain-specific time offsets and join time series
without losing data.

11
Python and Data Science: data analysis

● Apart from data manipulation, Pandas allows us to


visualise the data, since it integrates visualisation
tools.
● Pandas provides us the most common techniques
to visualise the data:
○ Barplots.
○ Scatterplots.
○ Density estimation.
○ Scatter matrix.
○ etc.

12
Python and Data Science: data analysis

● NumPy project that enables numerical computing


with Python.
● NumPy is the fundamental package for scientific
computing in Python.
● It is a Python library that provides a
multidimensional array object.

13
Python and Data Science: Machine Learning and Artificial Intelligence

● SciPy is a Python library used for scientific


computing and technical computing.
● SciPy contains modules for optimization, linear
algebra, integration, interpolation, special
functions, FFT, signal and image processing, ODE
solvers and other tasks common in science and
engineering.
● SciPy is an extension of Nympy (Numerical
Python), and therefore allows extremely fast and
efficient data processing.
● Machine Learning engineers use SciPy for many
use cases. This tool allows us to build and improve
algorithms for Machine Learning development.

14
Python and Data Science: Machine Learning and Artificial Intelligence

● Regarding Machine Learning, the most kell-know


library is Scikit-learn library.
● It is a powerfull library that allows us to build any
sort of Machine Learning model, from linearn
regression to Multi-layer Perceptron.
● It is easy to use.
● It has a big comuty supporting it.
● It is being constantly developed.
● Many great products are built on to of sklearn.

15
Python and Data Science: Machine Learning and Artificial Intelligence

● Sklearn is designed so that all machine learning


models can be created in the same way:
○ To train them (.fit method).
○ To creatre prediction (.predict).
● It is well integrated with Pandas and NumPy.

16
Python and Data Science: Machine Learning and Artificial Intelligence

● Tensorflow is one of the most used libraries to


create Deep Learning models (a.k.a AI models).
● The library is developed and mainted by Google.
● All sort of neural networks can be built using
Tensorflow:
○ Deep neural networks (DNN; for tabular
data).
○ Convolutional neural networks (CNN; for
images).
○ Recurrent neural network (RNN; for text).
● Currently, the latest version (2.X) offers a grear
interface for the final users, enable them to create
very complex AI models with a few lines of code.

17
Python and Data Science: Machine Learning and Artificial Intelligence

● In the last years, Tensorflow integrated another


powerful AI library: Keras.
● Many products of Google (Youtube, Gmail, Google
Photos, etc.) use these libraries offering great
features to the users (video recommenders, spam
detection, etc.).
● Thanks to the advances of technology, the current
version of these library are 4x faster than the
original ones.

18
Python and Data Science: Machine Learning and Artificial Intelligence

● In order to compete with Google, Meta developed


an AI library: PyTorch.
● While the first released was not as good as
Tensorflow, the new versions are very
competiting.
● Using PyTorch, we can build the same models as
Tensorflow.
● Many products of Meta are using PyTorch as the
AI library.

19
3. Use cases

eae.es
20
Use cases: Web scraping

● Python can be used to obtain data from the internet:


web scraping.
● A given web page contains HTML, CSS and java code in
an structured way.
● There are many Python libraries that can help to obtain
such information.
● Here, there is tutorial that help us to build a web
scraper in Python.

21
Use cases: Game development

● Some of the real world Python projects in the gaming


industry include Battlefield 2, Frets on Fire, World of
Tanks, etc. These games use Python libraries like PySoy
and PyGame for development.
● Python game app development is one of the top 10
uses of Python in the real world. It offers developers
the opportunity to install a 3D game engine that helps
in building powerful games and interfaces.

22
Use cases: Internet Of Things

● Python is used to create embedded software, allowing


high-performance application of Python on smaller
objects which can work with the programming
language.
● In large scale industries, IoT is widely used to track
inventory, move machines, and track order processing
along with the status of shipment.

23
Use cases: Automation & Robotics

● Python is excellent for automating repetitive activities,


and there are almost unlimited real-world applications.
● There are numerous Python Use Cases for Automation
due to its popular DevOps technology which makes
automation structures and procedures quick and easy.
● It is commonly used by hobbyists in conjunction with
the Raspberry Pi hardware device, which allows for
flexible and economical experimentation.
● It can be used to automate everything from
sophisticated systems to small, personal tasks like filling
out a spreadsheet or replying to emails along with in
the industry for robotic process automation (RPA), and
it’s been used to code industrial robot arms that can
operate together.

24
Use cases: Education programs

● One of the popular Python programming uses is in the


development of education programs and online courses.
Python is a really beginner-friendly programming
language with a simple learning curve and a wide
variety of resources.

25
Use cases: Scientific applications

● Python is frequently used for high-performance


scientific applications.
● t is widely used in academia and scientific projects
because it is easy to write and performs well.
● Due to its high performance nature, scientific
computing in Python often utilizes external libraries,
typically written in faster languages.
● The main libraries used are NumPy, SciPy and
Matplotlib.

26
Use cases: Text to Voice

● Text to Voice is an AI software designed to transform a


given text to an audio.
● One application of it are the audiobooks. Some
companies are using AI to transform digital books to
audiobooks.
● The underlying software use is Tensorflow/PyTorch.
● The advance of technology allows to obtain a natural
voice.

27
Use cases: Video Captioning

● Another direct application of Python and AI is video


captioning.
● Given a conversation, the AI model generates the text
(captioning) that it displayed at the same time as the
video goes on.
● YouTube is a great example of it.

28
Use cases: Image segmentation

● Image segmentation is an AI technique that allows to


find relevant parts in an image.
● This technique employs bounding boxes to show
relevant parts.
● These models are trained using Tensorflow/PyTorch
and deployed using web applications frameworks

29
4. How companies are using Python?

eae.es
30
Companies: Google

● Google App Engine:


○ Python was the language Google App Engine was
originally designed for.
○ Google App Engine is an eminent sample of
Python-written application, it allows building web
applications with Python programming language, using
its rich collection of libraries, tools and frameworks.
● YouTube:
○ It is a big user of Python, the entire site uses Python for
different purposes: view video, control templates for
website, administer video, access to canonical data, and
many more. Python is everywhere at YouTube.

31
Companies: Meta

● 21 percent of Meta Infrastructure’s codebase.


● Millions of lines of code, thousands of libraries and
binaries.
● Python is used by:
○ Production engineering teams.
○ Infrastructure management.
○ Platform services.
○ Service configuration management.

32
Companies: Spotify

● With the wealth of data, Spotify manages its


recommendation system with the vast amounts of
collected data using Hadoop, and it is processed in
conjunction with Luigi, a python package for batch
processing jobs.
● Another reason for adopting Python over others is the
rapid development pipeline and how seamlessly services
operate with each other.

33
Companies: Netflix

● Security: A suite of tools called the Simian Army


simulates failures and tests the reliability of the system,
helping plan recovery measures for system failures.
● Alerts: Central Alert Gateway communicates all alerts to
the suitable teams.
● Data Analysis: Libraries like NumPy, SciPy to perform
numerical data analysis.

34
Companies: Amazon

● One of the top players in the online marketplace,


Amazon, uses Python in several areas of its platform.
● Implemented in the product and deals recommendation
system where, with Artificial Intelligence and Machine
Learning, Amazon analyzes the customer’s buying and
habits and recommends products.
● As Amazon deals with large amounts of data,
technology to manage that data was required, and
that’s where Python came in with its high scalability and
the ability to work seamlessly with other technologies
such as Hadoop.
● Another instance of Amazon using Python is the Jupyter
notebooks for various use cases, even involving
Machine Learning and automation in the AWS
resources.

35
Companies: Quora

● The founders of Quora took their lead from Google,


choosing to use Python where they could because of its
ease of writing and readability, and implemented C++
for the performance-critical sections.
● Another reason why quora decided to use Python was
the existence of several frameworks at the time
including Django and Pylons.

36
Companies: Dropbox

● This is a cloud-based system that uses Python in its


desktop client.
● It is also good to note that while the client-side
programs are coded in Python, they make use of
various libraries on both Mac and Windows machines to
allow a unified experience.

37
Companies: AstraZeneca

● AstraZeneca is a pharmaceutical giant that uses Python


to solve serious and real-world problems.
● In an effort to streamline the work of discovering new
drug molecules that developed a piece of software that
would help experimental chemists do their job. Python
is the easiest language to understand for researchers
who aren’t improving their experiments.

38
Companies: Stripe

● Stripe is a Fintech start-up that enables businesses to


accept online payments.
● This organization is one of the most impressive Python
web app examples for creating mobile and web app
APIs.
● Stripe makes it easier for internet merchants to manage
their transactions. It offers a variety of subscription
invoicing, management, and fraud prevention services
to businesses.
● Python is popular among Fintech start-ups because of
its efficiency in financial operations and Fintech
solutions that include computations and data. Another
argument could be that it is the most straightforward
language to learn for financial experts.

39
Companies: PayPal

● Every day, PayPal assists individuals in keeping their


money safe by facilitating and securing transactions
over the PayPal platform.
● PayPal’s whole infrastructure is built on Python. One of
the most popular pieces on the subject, “10 Myths of
Enterprise Python,” is credited to the official PayPal
Engineering writers on Medium.

40
5. Persona experience

eae.es
41
Personal experience: Real time fraud detection

42
6. Communities

eae.es
43
Communities

● PyPI
● The Python Package Index (PyPI) is a repository of
software for the Python programming language.
● PyPI helps you find and install software developed
and shared by the Python community.
● Thanks to PyPI, er can obtain all Python software in
a very easy way.
● PyPI contains over 300,000 Python packages.

44
Communities

● PySlackers
○ PySlackers is a growing and inclusive community of
Python enthusiasts ranging from those just starting
to those who have built their entire careers around
it.
○ This community has a range of resources from the
main presence on Slack to community projects.
○ Here, you will find a collection of
community-specific resources such as rules, codes
of conduct, locations of team services, etc.

45
Communities

● Real Python
○ The Real Python Member’s Slack is an
English-speaking Python community with members
located all over the world. Everyone is welcome, no
matter how much experience you have. If you’re
friendly and like Python then Real Python would
love to have you on board.

46
Communities

● Full Stack Python


○ Full Stack Python is a non-profit with the mission to
“promote, protect, and advance the Python
programming language, and to support and
facilitate the growth of a diverse and international
community of Python programmers”.
○ Anyone that uses Python, and has an active
interest in the Python community can join the PSF
as a member.

47
Communities

● PyBCN
○ PyBCN is Python barcelona-based commutative
which organises face-to-face Python events.
○ They organise an annual Python event and recently
they have started adding an annual event on data
nd Python.
○ They have a Slack group where people discuss
issues about Python.

48
Communities

● PyLadies Bcn
○ The mission of PyLadies BCN is “to promote,
educate and advance a diverse Python community
through outreach, education and social gatherings”.
○ They organise regular meetups with special focus in
women.

49
Communities

● BcnEng
○ BcnEng is a group of developers that have created
a great technological community.
○ There is a slack group that not only is focused on
technology but other non-tech topics.

50

You might also like