The awesome-machine-learning repository is a comprehensive curated list of machine learning frameworks, libraries, and software organized by programming language. Created by josephmisiti and inspired by the awesome-php project, it serves as a centralized resource for developers and researchers seeking tools and libraries across the machine learning ecosystem. The repository is classified across fourteen distinct domains including resources, papers, education, projects, data science, machine learning, libraries, datasets, tutorials, algorithms, tools, frameworks, artificial intelligence, and courses, reflecting its broad scope as an educational and reference resource.
The repository's structure is organized by programming language, with dedicated sections for APL, C, C++, Common Lisp, Clojure, Crystal, CUDA PTX, Elixir, Erlang, Fortran, Go, Haskell, Java, JavaScript, Julia, Kotlin, Lua, Matlab, .NET, Objective C, OCaml, OpenCV, Perl, Perl 6, PHP, Python, Ruby, Rust, R, SAS, Scala, Scheme, Swift, and TensorFlow. Within each language section, libraries and frameworks are further categorized by functionality such as general-purpose machine learning, computer vision, natural language processing, deep learning, data analysis and visualization, reinforcement learning, speech recognition, and specialized domains like federated learning and survival analysis.
Beyond the main frameworks and libraries listing, the repository maintains supplementary curated lists accessible through dedicated markdown files. These include a collection of free machine learning books available for download, professional machine learning events, free and paid online machine learning courses, blogs and newsletters focused on data science and machine learning, and information about free-to-attend meetups and local events. This multi-faceted approach positions the repository as both a tool discovery platform and an educational gateway.
The repository has implemented quality control measures to manage contributions. The repository also maintains deprecation criteria, removing libraries that are explicitly marked as unmaintained by their owners or have not received commits for two to three years.