Managing Python Dependencies Transcripts
Chapter: Finding Quality Python Packages
Lecture: Finding Popular Packages on Curated Lists

Login or purchase this course to watch this video and the rest of the course contents.
0:01 Browsing through curated lists is one of the quickest ways you can find a Python package that can help you with a problem at hand.
0:08 So you can just pull up one of these curated lists websites and then browse popular libraries by topic.
0:15 For example, one topic might be web development, another one might be database interfaces or data science.
0:22 And that gives you a good idea of what the popular and recommended choices for solving those problems are in the Python community.
0:30 I've listed some of these curated list websites for you and we're going to take a look at a couple of those now.
0:36 The first curated list website that I want to show you is called Awesome Python, you can find it at awesome-Python.com
0:44 This is a really extensive list with useful Python packages. You can see here, it's split up into different categories
0:52 and then you can drill down into those. Let's check out database drivers here. now you can see here that there are actually subcategories
1:01 for example, the drivers for MySQL, Postgres, and so on. Now this isn't a review site, this is nearly a list of popular packages
1:10 so you will still have to make a decision which one you prefer and I am going to give you some tips for that, later on in the course.
1:18 You can also search this list, which is handy sometimes, so for example if you're looking for libraries to download stuff through http
1:27 you can find those quickly through the search function. Now what's interesting about Awesome Python too is
1:33 that it's an open source website, there is a community of people working on the website contents through GitHub.
1:39 And you can see ongoing development here on the GitHub project page, people will create issues and pull requests
1:46 to add new recommended libraries or change the preferred choice.
1:50 So all of this is very fluid, and the great thing is that it's usually fairly up to date.
1:55 So what I really like about this curated list is that there is so much activity and people are working hard to keep it up to date.
2:03 Also, you can contribute and jump in and help make the site better if you want to.
2:07 Another useful website is Python.libhunt.com, the packages that show up here are actually based on the contents of the Awesome Python list.
2:18 But libhunt adds some extra features on top of that, for example, more extensive search and then they also have
2:28 some metrics for project health and popularity which can be helpful sometimes. For example, there is this relative popularity indicator,
2:37 that might be helpful for you to make a choice between two libraries, there is also this activity indicator telling you
2:43 how much activity there is on the project repository. Again, this can be a good way to identify a well maintained package,
2:50 now when I click on one of those packages, I get some more stats here instead of just being redirected to the project homepage.
2:57 Depending on what you're looking for, this Python.libhunt website might be a good way for you to find quality Python packages.
3:04 The Hitchhiker's Guide To Python is another great website with library recommendations. You can find it at Python-guide.org
3:14 When you scroll down a little bit, you will find the scenario guide for Python applications, and this guide makes some recommendations
3:23 around tools and modules based on different scenarios. Let's check out this network application section here.
3:29 We see a list of recommended libraries here and while this is not as extensive as Awesome Python
3:35 what I like about this is that it gives a little bit more background info about the library. This might save you some research time, and in general,
3:43 the Hitchhiker's Guide To Python is a pretty fantastic website, so you might want to check it out in any case.
3:49 Again, this guide is an open source website on GitHub, so people can contribute to the site through issues
3:56 and by opening pull requests and that generally means that there is some activity and it's kept up to date over time.
4:02 Another handy website is Python Module Of The Week, you can find it at pymotw.com
4:11 Now, this website is mainly focused on modules in the Python standard library, it's not really reviewing any third party modules but nevertheless,
4:20 this is a great resource to find some of the awesome packages that are shipping with Python and that are included in the standard library.
4:27 One of the great things about Python is that it comes with "batteries included",
4:31 you will be able to solve many of the problems you encounter in practice by working with the Python standard library;
4:37 generally the implementations there are well maintained, and they are included with any Python install,
4:43 so it makes sense to do a quick check if what you are looking for is already part of the Python standard library,
4:48 and for that kind of research, Python Module Of The Week is a great website.
4:52 Okay, here is one more useful website for doing that kind of library research. Python has an official wiki at wiki.Python.org
5:01 and it also includes some library recommendations or generally useful libraries that you might want to check out.
5:07 There is a useful modules page in the wiki and it will point you to some of the building blocks that you can use
5:14 in your own projects, let's check it out. Again, this is organized by category and while I found this
5:21 isn't as well maintained as let's say Awesome Python there is still some interesting modules in here,
5:27 so if you have the time to do research you might want to check out the wiki as well. Some of these sections have specific pages
5:35 that talk about web programming for example, so you also might want to check those out. The page on web frameworks for example is pretty extensive,
5:43 it's kept fairly up to date and there is a big list of Python web frameworks
5:48 that you might want to browse through if that is what you're interested in.
5:52 Personally, I would probably start my research with one of the other websites, but it might still pay off to spend some time
5:58 browsing around on the official Python wiki.


Talk Python's Mastodon Michael Kennedy's Mastodon