CatBoost is a machine learning algorithm that uses gradient boosting on decision trees. It is available as an open source library.