An open API service indexing awesome lists of open source software.

awesome-list

A list of useful stuff in Machine Learning, Computer Graphics, Software Development, ...
https://github.com/johnhany/awesome-list

Last synced: 5 days ago
JSON representation

  • Linear Algebra / Statistics Toolkit

    • General Purpose Tensor Library

      • Pythran - An ahead of time compiler for a subset of the Python language, with a focus on scientific computing.
      • Patsy - Describing statistical models in Python using symbolic formulas.
      • Formulaic - A high-performance implementation of Wilkinson formulas for Python.
      • Theano - A Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.
      • Aesara - A Python library that allows one to define, optimize/rewrite, and evaluate mathematical expressions, especially ones involving multi-dimensional arrays.
      • einops - A tensor operation library for NumPy, PyTorch, TensorFlow and JAX.
      • FBGEMM - A low-precision, high-performance matrix-matrix multiplications and convolution library for server-side inference.
      • taco - A C++ library that computes tensor algebra expressions on sparse and dense tensors.
      • Joblib - Running Python functions as pipeline jobs, with optimizations for numpy.
      • Fastor - A lightweight high performance tensor algebra framework for modern C++.
      • CTF - Cyclops Tensor Framework: parallel arithmetic on multidimensional arrays.
      • juanjosegarciaripoll/tensor - C++ library for numerical arrays and tensor objects and operations with them, designed to allow Matlab-style programming.
      • xtensor-blas - BLAS extension to xtensor.
      • OpenBLAS - An optimized BLAS library based on GotoBLAS2 1.13 BSD version.
    • Others

      • torchdiffeq - Differentiable ordinary differential equation (ODE) solvers with full GPU support and O(1)-memory backpropagation.
      • deal.II - A C++ program library targeted at the computational solution of partial differential equations using adaptive finite elements.
      • Neural ODEs - Jupyter notebook with Pytorch implementation of Neural Ordinary Differential Equations.
      • Quantum - Microsoft Quantum Development Kit Samples.
    • Statistical Toolkit

      • Orbit - A Python package for Bayesian forecasting with object-oriented design and probabilistic models under the hood.
      • Statsmodels - Statistical modeling and econometrics in Python.
      • Pyro - Deep universal probabilistic programming with Python and PyTorch.
      • GPyTorch - A highly efficient and modular implementation of Gaussian Processes in PyTorch.
      • PyMC - Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara.
      • hmmlearn - Hidden Markov Models in Python, with scikit-learn like API.
      • emcee - The Python ensemble sampling toolkit for affine-invariant Markov chain Monte Carlo (MCMC).
      • pgmpy - A python library for working with Probabilistic Graphical Models.
      • pomegranate - Fast, flexible and easy to use probabilistic modelling in Python.
      • GPflow - Gaussian processes in TensorFlow.
      • ArviZ - A Python package for exploratory analysis of Bayesian models.
      • POT - Python Optimal Transport.
      • Edward - A probabilistic programming language in TensorFlow. Deep generative models, variational inference.
      • shap - A game theoretic approach to explain the output of any machine learning model.
    • Tensor Similarity & Dimension Reduction

      • Milvus - An open-source vector database built to power embedding similarity search and AI applications.
      • Faiss - A library for efficient similarity search and clustering of dense vectors.
      • FLANN - Fast Library for Approximate Nearest Neighbors
      • openTSNE - Extensible, parallel Python implementations of t-SNE.
      • UMAP - Uniform Manifold Approximation and Projection, a dimension reduction technique that can be used for visualisation similarly to t-SNE.
  • Linux

    • JavaScript

      • tmux - A terminal multiplexer: it enables a number of terminals to be created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached.
      • Proton - Compatibility tool for Steam Play based on Wine and additional components.
      • Lutris - Lutris helps you install and play video games from all eras and from most gaming systems.
      • git-fame - A command-line tool that helps you summarize and pretty-print collaborators based on contributions.
      • Hercules - Gaining advanced insights from Git repository history.
      • Gitinspector - The statistical analysis tool for git repositories.
      • Persepolis - A download manager & a GUI for Aria2.
      • doubi - 一个逗比写的各种逗比脚本
      • GIT quick statistics - Git quick statistics is a simple and efficient way to access various statistics in git repository.
  • Machine Learning

  • Machine Learning Framework

    • Anomaly Detection

      • PyOD - A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection).
      • Alibi Detect - Algorithms for outlier, adversarial and drift detection.
    • Experiment Management

      • Ax - An accessible, general-purpose platform for understanding, managing, deploying, and automating adaptive experiments.
      • MLflow - A platform to streamline machine learning development, including tracking experiments, packaging code into reproducible runs, and sharing and deploying models.
      • PyCaret - An open-source, low-code machine learning library in Python that automates machine learning workflows.
      • Aim - An open-source, self-hosted ML experiment tracking tool.
      • labml - Monitor deep learning model training and hardware usage from your mobile phone.
      • Metaflow - A human-friendly Python/R library that helps scientists and engineers build and manage real-life data science projects.
      • Weights&Biases - A tool for visualizing and tracking your machine learning experiments.
      • Yellowbrick - Visual analysis and diagnostic tools to facilitate machine learning model selection.
      • ClearML - Auto-Magical Suite of tools to streamline your ML workflow Experiment Manager, MLOps and Data-Management.
      • DVC - A command line tool and VS Code Extension for data/model version control.
    • General Purpose Framework

      • scikit-learn - Machine learning toolkit for Python.
      • imbalanced-learn - A python package offering a number of re-sampling techniques commonly used in datasets showing strong between-class imbalance
      • category_encoders - A set of scikit-learn-style transformers for encoding categorical variables into numeric by means of different techniques
      • lightning - Large-scale linear classification, regression and ranking in Python
      • sklearn-pandas - Pandas integration with sklearn
      • HDBSCAN - A high performance implementation of HDBSCAN clustering
      • metric-learn - Metric learning algorithms in Python
      • scikit-optimize - Sequential model-based optimization with a `scipy.optimize` interface
      • scikit-image - Image processing in Python
      • auto-sklearn - An automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator.
      • scikit-multilearn - A Python module capable of performing multi-label learning tasks
      • scikit-lego - Extra blocks for scikit-learn pipelines.
      • scikit-opt - Genetic Algorithm, Particle Swarm Optimization, Simulated Annealing, Ant Colony Optimization Algorithm,Immune Algorithm, Artificial Fish Swarm Algorithm, Differential Evolution and TSP(Traveling salesman)
      • sklearn-porter - Transpile trained scikit-learn estimators to C, Java, JavaScript and others.
      • XGBoost - Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library.
      • LightGBM - A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms.
      • CatBoost - A fast, scalable, high performance Gradient Boosting on Decision Trees library.
      • Autograd - Efficiently computes derivatives of numpy code.
      • Flax - A high-performance neural network library and ecosystem for JAX that is designed for flexibility.
      • Equinox - A JAX library based around a simple idea: represent parameterised functions (such as neural networks) as PyTrees.
      • cuML - A suite of libraries that implement machine learning algorithms and mathematical primitives functions that share compatible APIs with other RAPIDS projects.
      • Mlxtend - A library of extension and helper modules for Python's data analysis and machine learning libraries.
      • River - A Python library for online machine learning.
      • FilterPy - Python Kalman filtering and optimal estimation library.
      • igel - A delightful machine learning tool that allows you to train, test, and use models without writing code.
      • fklearn - A machine learning library that uses functional programming principles.
      • SynapseML - An open-source library that simplifies the creation of massively scalable machine learning pipelines.
      • Dask - A flexible parallel computing library for NumPy, Pandas and Scikit-Learn.
      • Distributed - A distributed task scheduler for Dask
      • H2O - An in-memory platform for distributed, scalable machine learning.
      • autodiff - automatic differentiation made easier for C++
      • GoLearn - Machine Learning for Go.
      • leaves - Pure Go implementation of prediction part for GBRT (Gradient Boosting Regression Trees) models from popular frameworks.
      • go-xgboost - XGBoost bindings for golang.
      • DEAP - Distributed Evolutionary Algorithms in Python.
      • ESTool - Evolution Strategies Tool.
      • mlpack - A header-only C++ machine learning library.
      • xLearn - A C++ machine learning library for linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM).
      • ThunderGBM - Fast GBDTs and Random Forests on GPUs.
      • ThunderSVM - A Fast SVM Library on GPUs and CPUs.
      • PyBrain - The Python Machine Learning Library.
      • JAX - Automatical differentiation for native Python and NumPy functions, with GPU support.
      • Optuna - An automatic hyperparameter optimization software framework, particularly designed for machine learning.
      • Nevergrad - A Python toolbox for performing gradient-free optimization.
      • MLJAR - Python package for AutoML on Tabular Data with Feature Engineering, Hyper-Parameters Tuning, Explanations and Automatic Documentation.
      • gplearn - Genetic Programming in Python, with a scikit-learn inspired API.
      • Hyperopt - Distributed Asynchronous Hyperparameter Optimization in Python.
      • Dragonfly - An open source python library for scalable Bayesian optimization.
      • AutoGluon - Automates machine learning tasks enabling you to easily achieve strong predictive performance in your applications.
      • BayesianOptimization - A Python implementation of global optimization with gaussian processes.
    • Model Interpretation

      • dtreeviz - A python library for decision tree visualization and model interpretation.
      • InterpretML - An open-source package that incorporates state-of-the-art machine learning interpretability techniques.
      • Shapash - A Python library which aims to make machine learning interpretable and understandable by everyone.
      • Alibi - An open source Python library aimed at machine learning model inspection and interpretation.
      • PyCM - Multi-class confusion matrix library in Python.
    • Nearest Neighbors & Similarity

      • Annoy - Approximate Nearest Neighbors in C++/Python optimized for memory usage and loading/saving to disk.
      • Hnswlib - Header-only C++/python library for fast approximate nearest neighbors.
      • NMSLIB - Non-Metric Space Library (NMSLIB): An efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.
      • ann-benchmarks - Benchmarks of approximate nearest neighbor libraries in Python.
      • kmodes - Python implementations of the k-modes and k-prototypes clustering algorithms, for clustering categorical data.
  • Machine Learning Tutorials

    • Data Management

  • MacOS

    • JavaScript

      • Scroll-Reverser - Reverses the direction of macOS scrolling, with independent settings for trackpads and mice.
      • Hex Fiend - A fast and clever hex editor for macOS.
      • iterm2-zmodem - 在 Mac 下,实现与服务器进行便捷的文件上传和下载操作。
  • Mobile Development

    • C++/C Toolkit

      • GPUImage - An open source iOS framework for GPU-based image and video processing.
      • Ionic - A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
      • PulltoRefresh.js - A quick and powerful plugin for your pull-to-refresh needs in your webapp.
      • Signal Android - A private messenger for Android.
      • QMUI_Android - 提高 Android UI 开发效率的 UI 库
      • GSYVideoPlayer - 视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
      • GSYGithubAppKotlin - 超完整的Android Kotlin 项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:目前已经拥有Flutter、Weex、ReactNative、Kotlin四个版本。 功能齐全,项目框架内技术涉及面广,完成度高。
      • MethodTraceMan - 用于快速找到高耗时方法,定位解决Android App卡顿问题。通过gradle plugin+ASM实现可配置范围的方法插桩来统计所有方法的耗时,并提供友好的界面展示,支持耗时筛选、线程筛选、方法名筛选等。