#100DaysOfWeb in Python Transcripts
Chapter: Appendix: Python language concepts
Lecture: Concept: Python package index
0:01 You'll hear it frequently said that Python is an ecosystem or a language that comes with batteries included,
0:07 and what that means is you don't have to start with a little bit of Python and pull in a bunch of different pieces from here and there
0:14 and implement your own version of this algorithm or that feature. Oftentimes, the things you need are built already into Python.
0:22 You should think this batteries included is kind of like an onion with many layers,
0:26 so at the core, the language itself is quite functional and does many things for us, the next shell out is the standard library,
0:36 and in the standard library we have file io, regular expressions, HTTP capabilities, things like that.
0:43 In the next shell outside of that are all of the packages and external projects written for and in Python,
0:50 so for example when we want to add credit card capabilities to our website, we are going to reach out and grab the stripe Python package.
0:57 The web framework we are using itself, is built around many packages, centered around Pyramid, the database access layer is SQLAlchemy.
1:04 Everything I just named does not come included in Python, but is in the broader ecosystem.
1:10 If it's in the broader ecosystem and it is a package or library for Python developers to use,
1:14 chances are extremely high you will find it in this place called the Python Package Index, which you can find at pypi.org.
1:21 Notice that there are over 88 thousand packages at PyPi. This means, you can go on and type something in that search box,
1:29 and there is a very good chance that what you are looking for will return a bunch of results that you can then grab one of them,
1:36 install into your environment and then use in your project. So here is what you do- when you think you need some piece of functionality or
1:43 some library, before you go to start and write that yourself, do yourself a favor and do a few searches at pypi.org,
1:50 and see if there is already a really great open source project or package that supports it.