Up to this point, we learned that the power of Python really comes into play when we talk about modules,
but more importantly, when we talk about the standard library that it comes with, that is the ability
for us to have these built in modules that we can just import into Python to extend the language and
have things like random module, the CIS module to be able to use in our code.
And these were called the standard library, but the true power of Python and I argue the reason that
Python is such a big part of any company really in this day and age and why Python has just exploded
in popularity is because of this third part.
It's because of developers like you and I who have the ability to create our own python files.
Thousands, millions, trillions of python files and actually share them with each other so that we
can actually, instead of just having our own code, our own standard library code that we download
with our python interpreter, also have all the code that others share on the internet so that we don't
keep reinventing the wheel.
If somebody else wrote a really, really good module that maybe can be used in another project across
the world, well, they can share it and we can import we can download that module and import it into
our projects.
And that's why really amazing libraries like NumPy, pandas, TensorFlow, all these things that we're
going to talk about later in the course are libraries built by the outside developer community, not
the Python community, but in general, just developers like you and I or developers working at Google.
It could be developers that are working in South Africa that are working in Fiji.
It doesn't matter.
We're able to use each other's code.
And we're able to do that using the PIP install command.
And in these next couple of videos, you're going to see the true power of Python, how we're able to
stand on the shoulders of giants, learn from previous mistakes so that we don't constantly reinvent
the wheel.
If we want to build a game, if we want to build a website, we don't have to code it absolutely from
scratch.
We can use bits and pieces, modules and libraries from all these different parts to combine it so that
we can fast track and build our project even faster.
So how can we do this?
How can we use this knowledge base of the world?
Well, we have a website for that.
It's called the Python Package Index or BI for short, as you can see, pi pi dot org.
And right now there are 182,000 projects.
335,000 users on this website that have shared code that you can use.
Unlike the Python module index, which I mean, had a lot, but that's it.
This has a lot more.
Let's say I wanted to do email.
Well, look at all the packages that I have for sending email with my code.
Let's say I wanted to do, let's say image optimization with code.
Well, look at that.
All these packages for image optimization that I can do.
What if, for example, I wanted to, I don't know, read Excel files or CSV files.
Well, there's packages for that as well.
And there are a lot of them.
Pretty much anything you need you can probably find on here.
Now a good practice is to first check that something exists in well the built in module, maybe the
standard python module standard library has it already.
Otherwise you come over here.
Now you get really, really good at noticing which projects are good, which projects are bad.
For example, if I click on here, I can read about the project.
I can see who's worked on the project.
I can see what kind of license it has.
I can see what Python programming language version it's compatible with.
But I can also look at the release history and see, well, has this person been working on this project
recently?
Doesn't look like too much has happened with this project.
So you get really, really good at deciding which packages are good, which ones are bad.
You can go to the home page of the project.
What I like to usually do is let's say I wanted to read CSV files.
I would say read.
CC Python three and then say maybe built in to see if there's any built in modules.
And I see over here that there's some.
Python documentation official documentation that may be I can read and I see that it has import csv
so I can go to over here and just check.
Hey, is CSV actually a built in module?
Yeah, it looks like it is.
So I probably should use that because I mean, if it's a built in module, I'm sure the Python community
has worked really, really hard to make sure that it works well, but maybe I wanted some extra features
that I can't find here.
In that case, I would just go back and maybe type in instead of built in py api.
And now I can just browse through these and see which one I like.
There are so many packages that you can do pretty much anything you want.
That's the beauty of Python, this massive community.
And it's not just Python.
There's communities like JavaScript that use instead of PI by the use and PM, you have Ruby developers
that use something like Ruby Gems.
This is what programmers do.
They share code so that others can use it, and most of these are just completely free to use.
You can use them in your code and not have to worry about it, which is really, really nice.
And on top of that, you can also create your own packages.
If you wrote a really, really nice module that you want to share, you can publish your own packages
to the Python package index, but enough talk about this.
Let's actually learn how to use this power, how to install something from third party developers that
we can use in our program.
And by the way, I'm about to show you a few little packages, but in our final projects where we build
over ten projects, we're going to be using a lot of these.
So we're going to learn a lot more later on in the course.
So don't worry, I'm going to cover some really exciting ones like texting, email, reading, PDFs,
checking out images and machine learning Excel and a ton, a ton of things.
So bear with me as we start to learn about pip install.