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