Skip to content

Projects Using Rice

Rice is used by many Ruby gems to create high-performance bindings to C++ libraries. Below are notable projects organized by category.

Computer Vision

opencv-ruby

Ruby bindings for OpenCV4 based on its C++ API. Almost all of OpenCV's API is exposed.

Machine Learning

torch.rb

Deep learning for Ruby, powered by LibTorch (PyTorch's C++ library).

fastText

Efficient text classification and representation learning for Ruby.

XGBoost

High performance gradient boosting for Ruby.

LightGBM

High performance gradient boosting for Ruby.

Dimensionality Reduction

ruby-umappp

Uniform Manifold Approximation and Projection (UMAP) for Ruby.

ruby-qdtsne

QdTSNE dimensionality reduction for Ruby.

Similarity Search and Clustering

Faiss

Efficient similarity search and clustering for Ruby, using Facebook's Faiss library.

Topic Modeling

Tomoto

High performance topic modeling for Ruby with support for LDA, HDP, and Dynamic Topic Models.

Anomaly Detection

IsoTree

Outlier/anomaly detection for Ruby using Isolation Forest.

OutlierTree

Explainable outlier/anomaly detection for Ruby.

Operations Research

OR-Tools

Operations research tools for Ruby including constraint programming, linear programming, routing, and scheduling.

Scientific Computing

ruby-alglib

ALGLIB numerical analysis and data processing library for Ruby.

numo.hpp

C++ header for integrating Numo (Ruby's numerical array library) with Rice.

Data Structures

DataSketches

Sketch data structures for Ruby for approximate computations on streaming data.

Robotics

Rock base-types

C++ and Ruby definition of base types for the Robot Construction Kit, including Eigen bindings.

Interactive Computing

xeus-ruby

Jupyter kernel for Ruby built on the xeus framework.

Parsing

antlr4-native

Create native Ruby extensions from ANTLR4 grammars for high-performance parsing.

Geospatial

Ruby-Mapnik

Ruby bindings for Mapnik, an open source toolkit for developing mapping applications.

Media

mediainfo-ruby

MediaInfo library bindings using the C++ shared libraries directly.

Phone Numbers

gphone

Ruby bindings to Google's libphonenumber for parsing, validating, and formatting phone numbers.

A/B Testing

Field Test

A/B testing for Rails.

Code Generation

ruby-bindgen

Generates FFI and Rice bindings from C and C++ header files using libclang.

Rb++

Uses rbgccxml and Rice to automatically generate Ruby extensions around C++ source and libraries.

More Projects

View the complete list of gems that depend on Rice on RubyGems.org.

Add Your Project

Using Rice in your project? Open an issue or pull request on GitHub to add it to this list.