Python for Decision Makers and Business Leaders Transcripts
Chapter: What is Python?
Lecture: Python's 200k+ external packages
0:00 It's worth taking just a moment to look a little bit farther at this concept of the larger Python ecosystem the Python packages and so on.
0:09 Here we are at PyPI the Python Package Index and notice there are 206,248 different projects. These are web frameworks. These are data science tools.
0:23 All kinds of things. It's really hard to appreciate the power of Python until you spend a little time seeing what is available in somewhere like this.
0:32 Let's suppose that you are a biologist. Well, you type in biology and see oh, look, there are 800 different libraries for working with biology.
0:43 Maybe I want to be focused on genetics. 500 different projects on genetics. What if you're into quantitative analysis as an economist or a trader?
0:55 Extra quant, 313. The top one, enterprise architecture for quantitative analysis and finance.
1:01 If you need to build something around quantitative analysis you could start from absolutely scratch or you could come over here even dig in to this
1:10 I'll show us what to do and come down here and it talks about what it is. And it says how do you get started. Pip install quant and then off you go.
1:18 You start working with it and so on. You got to read the documentation to figure out how that works. What about web? What can do with the web?
1:25 Oh, there's over 10,000, probably just, we're not counting anymore. Though there's an incredible amount of stuff
1:32 so Flask is one of the frameworks we'll work with. We can come down here and it tells you a little bit about it. It says the way you install it
1:38 is you pip install flask. This is something you type at the Terminal or Command line to install and manage these libraries. There's other ways to do it
1:45 but this is the most foundational one, I guess. It says, Here's a simple example. With those five lines of code literally just those five lines
1:54 you can create a web server doesn't do much, you go to it, it says, Hello world! But literally, that's a functional web application in Python.
2:02 You can even see them running, running down here you could go get it. You also can get a sense of how popular these are, so number of stars.
2:10 This is really nice to know. Is this highly used and highly maintained or is it kind of in the back waters of this area?
2:17 And maybe if you start using it you kind of have to, you know take over some of the development or at least there's not going to be
2:23 that much out there to help, right? So the more popular, generally the better but when you are over here if you have 800 choices for biology
2:31 or you have literally over 200,000 projects it's hard to know if there are 10,000 of these things where should I start? Which one's good?
2:39 You can't just spend your time working on that. So I'll tell you about one more place, while we're here. There's a place called Awesome Python
2:45 and there's many awesome lists. This is one of those types of things. There's Awesome Python web frameworks and asynchronous frameworks
2:52 but here's the most general. So let's just look at this really, really quick. So you notice over here on the right
2:58 we have a bunch of different categories. Maybe I'm interested in cryptography. If I click on this it'll say Here are four highly popular
3:06 cryptography libraries that you might use. For example, Passlib is an awesome library for securely storing passwords.
3:14 If you create an account at training.talkpython.fm I super-duper encrypted hashed your password to store it in the database using Passlib.
3:23 Maybe I have to send some email. Let's go over here and see what we can do. So here's a bunch of different libraries you can use to send email.
3:30 And you click on it, you get some details, github repo and all of those sorts of things. Places like awesomePython.com are really
3:38 really helpful in determining what are the few stand-out packages or libraries for a given area. Now that doesn't work perfectly
3:46 because for example, I don't think genetics shows up here. It does not! It depends. It works well if the category
3:53 you are looking for appears on the right. Otherwise, you're kind of out searching but still the idea is there are so many of these libraries.
4:00 And when people talk about Python they absolutely think about all of these hundreds of thousands of libraries available
4:07 not just the foundational programming language that they type in.