HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
vinta
awesome-python
Python2014–2026
vinta / awesome-python

awesome-python

The definitive list that answers "I want to do X in Python, which tool should I use?"

29Distinct people
29Mentions
0Explicit recommenders
334.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The definitive list that answers "I want to do X in Python, which tool should I use?"

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 6:01:08 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year29 dated mentions

Observed mentions: 2014-06-30 09:31:00 UTC to 2026-10-18 17:16:22 UTC.

0123452014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC523
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC422
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC312
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC312
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC211
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

What Hacker News says

3 sources
About coding questions, there is kinda a secret. Especially to people new to coding. IRC. I cant count (ok.. I could and it would be a big number) how many times the fantastic people on freenode#python have helped me out. Ask a well formed question, pastebin your example and what you tried, and I promise someone will help you out. It's the closest thing we have to a magic bottle. O ya, and use Linux. You wont regret it. Dont spend your valuable time developing for a closed system, if you cant open the hood, dont drive the car:) As for your drawing app question: 1. That's a big project to start from scratch. I write quite a bit of py, and it would take me years (because I would build it on independent primatives, writing and perfecting each). 2. If you really want to take a shot at it, find a py code base that is "closest" to what you actu
Read the rest
ally want to do, and modify it. Often, I gotta start modifying something to even realize _what_ I want it to do. 3. I dont recommend JS. Sure you can make real apps that run independent of the browser, but it's going to be a harder road I promise. Stick to what the scientific community uses (drop into C if necessary [it's not]) because we often just "need to get it done" and py does that beautifully. -----------EDIT: I hit my comment limit for the night, so here is a reply to your reply:) There is no secret handshake:) I dont know where you were, but in pro-irc enviroments, people are relatively professional. #python is for sure. Almost nobody shows up and mentions gender btw. There are communication differences that are more common between guys, so that's easier for me for example, but you really _must_ have thick skin. Stuff that sounds dismissive is often just fast or frank advice, OR your question is too vague. Lurk a bit and observe. If you dont get a response, wait and improve your question and ask again. sometimes it takes a day for me to get an answer if it's a difficult topic, or I havent figured out how to ask it in a way that makes sense to other people. Dont assume anyone knows you are a woman, and while I appreciate it when someone makes it clear, especially if they want me to take it into account as there are communication norms that are just different (for some people!) you may find it easier to just not mention it. Or just clue it with your nic. IDK. Dont get stuck on that:) If you are getting a negative vibe, dont reply in-kind. As for freenode, here is the cliffnotes (look for a irc intro/howto and read it over). 1. find a open source irc client (I use weechat) 2. /connect irc.freenode.net 2. follow the on screen instructions to register your nic-name 4. /join #python 5. ask specific question. put some work into it. if you just want advice, say that. yep py is short for python (my github is in my profile, I think everything there is py) Often big graphics apps (like gimp) are written in C++. I dont recommend a beginner go down that route. A nice list: https://github.com/vinta/awesome-python If it's not FOSS, then you cant modify it and/or you cant share your modifications. No problem:) This stuff is tough, it took me as least as long to learn it as it takes to become a good writer (I started on a Apple II in the 80's). As you get better, you learn _how_ to learn it faster. I sometimes spend a day on a single simple (in retrospect after you solve it!) problem. Learn to put it on hold and try another angle or a different problem. If I get stuck I open vi (the linux txt editor) and make a outline of what I want to be able to do. And _really_ use Linux. You will thank yourself later. Debian is a good intro. Personally I use (and cant live without) Gentoo, but the learning curve is steeper (but worth it!). ---- EDIT #2 I havent tried these, but they look like good starts: https://pythonprogramming.net/kivy-drawing-application-tutor... https://docs.python.org/3/library/turtle.html (I especially like this one because it's in the python standard library and looks like a fantastic way to get into the basics) Also checkout the game frameworks in that curated list above. It gets fun:) Stick to python3 only. I like this series: https://github.com/ubarredo/LearnPythonTheHardWay Also youtube has endless linux/python tutorials. That's a great way to see people using it in action.
In Sham news sites make big bucks from fake views
Short answer: for an experienced JS developer, choose Python over JS if your application falls into Python’s areas of excellence (data science/ML, system automation, graphic pipelines, gaming engines) and if you have the time to learn it (Python is generally easier to learn than JS). For other applications like web development, it’s likely not worth switching to Python for an experienced JS developer. Raw curiosity and experimentation is always a good reason, Python is the 3rd most loved language by developers according to StackOverflow. —— Long answer From experience the python ecosystem is great when it comes to analyzing data, data science, machine learning. Previously the alternatives for data science were R/Matlab/Octave which are languages designed by/for mathematicians primarily - while python is a general-purpose language. These
Read the rest
languages tend to perform slower than Python. A more recent alternative is Julia, https://en.wikipedia.org/wiki/Julia_(programming_language). Another interesting example is this online community offering live backtesting of algorithmic trading strategies written in Python is Quantopian: https://www.quantopian.com/algorithms/ Some notable libraries which build on each other are scipy (http://www.scipy.org), numpy (http://www.numpy.org), pandas (http://pandas.pydata.org), scikit-learn (https://scikit-learn.org), google's tensorflow. Tools like iPython/Jupyter (https://ipython.org) act somewhat like an IDE in the data analyst's workflow. It Other popular use cases for python: system programming and automation as an alternative to shell/perl scripts because the python interpreter ships with most linux distributions by default while other scripting language do not. This use case is especially popular at Google where Python's creator and "benevolent dictator for life" Guido van Rossum had been working for 7 years. Examples of such applications built in python include Ansible, Docker-compose. Yet another application where Python is popular is gaming engines (Pygame, Panda3D). Python is also the de-facto language for graphic pipelines and interoperability between 3D applications in the media and entertainment industry. It is supported directly in the Unreal Engine and Maya. According to this Quora page, a Google Engineer uses python for build/test/deployment automation, some monitoring and service configuration tasks, Tensorflow configuration and results analysis. Other answers mention python used in much of the Youtube codebase. https://www.quora.com/What-is-Python-used-for-at-Google Python is also a good option to write a REST API server really quickly using the flask-restful library. https://codeburst.io/this-is-how-easy-it-is-to-create-a-rest... Further reading https://github.com/vinta/awesome-python https://stxnext.com/blog/2018/10/16/python-vs-nodejs-compari... https://insights.stackoverflow.com/survey/2018/#most-loved-d... https://hackernoon.com/could-pythons-popularity-outperform-j... https://www.quora.com/What-are-advantages-and-disadvantages-...
In Ask HN: Why would I choose Python over JavaScript/Node?

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.