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.