Awesome Machine Learning
A long-running curated index of machine learning frameworks, libraries and tools, organised by programming language and then by task such as computer vision or natural language processing. It is the quickest way to see what already exists in your language before you build something yourself, and it links to companion lists of free books, courses, blogs and events. About 74,000 GitHub stars as of September 2026.
74.4k
GitHub · Sept 2026
15.7k
GitHub · Sept 2026
September 2026
GitHub · Sept 2026
GitHub repo
AI & Machine Learning
Joseph Misiti
Ongoing reference
All
Free
What it is
Awesome Machine Learning is a single, very long README maintained by Joseph Misiti and contributors for more than a decade. It lists libraries and tools grouped first by language (over 30, from C++ and Python to Julia, R, Go, Rust, Scala and more) and within each language by area: general-purpose machine learning, computer vision, natural language processing, data analysis and visualisation, and so on.
It also links to companion lists of free machine learning books, courses, blogs and newsletters, events and meetups.
As of September 2026 it had about 74,400 GitHub stars and 15,700 forks, and it was updated that month.
Why an index still matters
The most expensive mistake in machine learning engineering is building something that already exists in a maintained library. The second is choosing a library that has been abandoned. Five minutes scanning a curated list before you start often saves days. It is especially helpful when you work outside Python, where the options are less well known.
How the list handles stale entries
With thousands of links, some projects inevitably go quiet. The maintainers mark entries as deprecated when the owner says the library is unmaintained or when there have been no commits for two to three years. That helps, but it is not a guarantee, so always check yourself. In 2026 the maintainer also began asking contributors to prove they are human before pull requests are accepted, because of a wave of AI-generated submissions.
How to use it well
- Jump to your language, then to your task.
- Shortlist two or three candidates.
- For each, check the date of the last commit and release, open issues, documentation quality and licence.
- Try the quick-start with ten lines of your own data before committing.
Do not treat the order or inclusion as a recommendation. It is a map, not a ranking.
When something else fits better
- For learning machine learning rather than finding tools, a course such as the scikit-learn MOOC or Google's Machine Learning Crash Course is far more useful.
- For finding pre-trained models, search the Hugging Face Hub instead.
- For language-model tooling specifically, lists and repositories focused on LLMs are more current.
Common questions
Is it beginner friendly? As a lookup, yes. As a place to learn, no; it is a list of links without explanations.
Is it up to date? It is actively maintained, but individual entries vary. Check each project's activity.
Best for: engineers looking for the right library quickly, especially outside the Python mainstream.
Ready to start?
Opens on Joseph Misiti in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.