Best Awesome Python Lists: Curated GitHub Lists

Awesome lists are curated GitHub collections of tools. These are the Python ones worth bookmarking, from the main list to async, typing and data science.

An awesome list is a curated collection of links kept as a README on GitHub, and a good one is the fastest way to answer “which library do I use for X?”. The Python ecosystem has dozens. These are the ones worth bookmarking, with what each is best for. Star counts are rounded and change daily.

The main one: awesome-python

awesome-python (about 330,000 stars) describes itself as the definitive list that answers “I want to do X in Python, which tool should I use?” It is organised by category: AI and machine learning, web development, HTTP and scraping, and many more, and there is a searchable website at awesome-python.com. It was updated within the last few days at the time of writing.

Use it when you know the problem (an ORM, a task queue, a template engine) but not the current popular tool. It is opinionated rather than exhaustive, so it won’t list everything. We also have it as a resource page.

Narrower lists

When the main list is too broad, a dedicated one goes deeper.

ListBest forStars (approx.)Last updated
awesome-python-applicationsReal, free software written in Python to read and learn from18,000Oct 2026
awesome-asyncioAsync frameworks, libraries and resources5,100Dec 2025
awesome-python-booksA directory of Python books4,300Jul 2025
awesome-python-data-scienceData science software in Python3,600Apr 2026
awesome-functional-pythonFunctional programming in Python2,600Oct 2026
awesome-python-typingTypes, stubs, plugins and type-checking tools2,000Oct 2026
  • For learning from real code: awesome-python-applications lists free, open-source software that happens to be written in Python, which makes it a good place to find real projects to read.
  • For async: awesome-asyncio fits alongside our async/await explainer. It was last updated in December 2025, so check that a library is still maintained before choosing it.
  • For types: awesome-python-typing is from the TypedDjango community and covers type stubs and plugins as well as checkers. Our type hints guide is the place to start, and mypy and Pyright are the main checkers.
  • For books: awesome-python-books is a plain directory. For a shortlist, read our guide to the best Python books for beginners.

A ranked alternative: best-of-python-dev

Most awesome lists are hand-picked and unranked. best-of-python-dev takes a different approach: its README describes a ranked list of Python developer tools and libraries, updated weekly, where each project is scored automatically from metrics collected from GitHub and package managers. It has about 270 projects across 17 categories.

Use it when you want a data-driven view of what is popular and actively maintained, rather than one maintainer’s opinion.

How to use an awesome list well

  1. Check the last commit date. A list that hasn’t changed in a year may be full of abandoned projects.
  2. Treat it as a shortlist, not a verdict. Inclusion means someone thought a tool was worth listing, not that it is the best fit for you.
  3. Verify the project itself. Look at its latest release, open issues and docs before depending on it. Our guides compare the most common choices head to head.
  4. Search the list, don’t read it. The big lists are long. Use your browser’s find, or the awesome-python.com search.

Where the format comes from

The “awesome” format began with the awesome repository by Sindre Sorhus, a list of awesome lists on every topic, and it has over 500,000 stars. If you can’t find a list for a Python niche, check there, or search GitHub for awesome plus your topic.

Frequently Asked Questions

What is an awesome list?

A curated list of links on a topic, kept as a README in a GitHub repository and maintained through pull requests. The format started with the ‘awesome’ repository by Sindre Sorhus, and there are now awesome lists for almost every language and subject.

What is the best awesome list for Python?

awesome-python by vinta is the main one: a large, opinionated list of Python frameworks, libraries and tools grouped by category, with a searchable website at awesome-python.com. For a narrower area, such as async, typing or data science, a dedicated list is often more useful.

Are awesome lists up to date?

It varies a lot. Some, like awesome-python, are updated almost daily. Others haven’t changed in a year or more. Check the date of the last commit on the repository before relying on a list, and treat anything unmaintained as a starting point rather than a recommendation.

Is an awesome list the same as a ranking?

No. Most awesome lists are hand-picked and not ranked, so being on the list means someone judged it worth including, not that it is the best option. A few, such as best-of-python-dev, rank projects automatically by a quality score calculated from GitHub and package-manager metrics.