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.
- GitHub: cfis/opencv-ruby
Machine Learning¶
torch.rb¶
Deep learning for Ruby, powered by LibTorch (PyTorch's C++ library).
- GitHub: ankane/torch.rb
- RubyGems: torch-rb
fastText¶
Efficient text classification and representation learning for Ruby.
- GitHub: ankane/fastText-ruby
- RubyGems: fasttext
XGBoost¶
High performance gradient boosting for Ruby.
- GitHub: ankane/xgboost-ruby
- RubyGems: xgboost
LightGBM¶
High performance gradient boosting for Ruby.
- GitHub: ankane/lightgbm-ruby
- RubyGems: lightgbm
Dimensionality Reduction¶
ruby-umappp¶
Uniform Manifold Approximation and Projection (UMAP) for Ruby.
- GitHub: kojix2/ruby-umappp
- RubyGems: umappp
ruby-qdtsne¶
QdTSNE dimensionality reduction for Ruby.
- GitHub: kojix2/ruby-qdtsne
Similarity Search and Clustering¶
Faiss¶
Efficient similarity search and clustering for Ruby, using Facebook's Faiss library.
- GitHub: ankane/faiss-ruby
- RubyGems: faiss
Topic Modeling¶
Tomoto¶
High performance topic modeling for Ruby with support for LDA, HDP, and Dynamic Topic Models.
- GitHub: ankane/tomoto-ruby
- RubyGems: tomoto
Anomaly Detection¶
IsoTree¶
Outlier/anomaly detection for Ruby using Isolation Forest.
- GitHub: ankane/isotree-ruby
- RubyGems: isotree
OutlierTree¶
Explainable outlier/anomaly detection for Ruby.
- GitHub: ankane/outliertree-ruby
- RubyGems: outliertree
Operations Research¶
OR-Tools¶
Operations research tools for Ruby including constraint programming, linear programming, routing, and scheduling.
- GitHub: ankane/or-tools-ruby
- RubyGems: or-tools
Scientific Computing¶
ruby-alglib¶
ALGLIB numerical analysis and data processing library for Ruby.
- GitHub: kojix2/ruby-alglib
- RubyGems: alglib4
numo.hpp¶
C++ header for integrating Numo (Ruby's numerical array library) with Rice.
- GitHub: ankane/numo.hpp
Data Structures¶
DataSketches¶
Sketch data structures for Ruby for approximate computations on streaming data.
- GitHub: ankane/datasketches-ruby
- RubyGems: datasketches
Robotics¶
Rock base-types¶
C++ and Ruby definition of base types for the Robot Construction Kit, including Eigen bindings.
- GitHub: rock-core/base-types
Interactive Computing¶
xeus-ruby¶
Jupyter kernel for Ruby built on the xeus framework.
- GitHub: IsabelParedes/xeus-ruby
Parsing¶
antlr4-native¶
Create native Ruby extensions from ANTLR4 grammars for high-performance parsing.
- GitHub: camertron/antlr4-native-rb
- RubyGems: antlr4-native
Geospatial¶
Ruby-Mapnik¶
Ruby bindings for Mapnik, an open source toolkit for developing mapping applications.
- GitHub: mapnik/Ruby-Mapnik
- RubyGems: ruby_mapnik
Media¶
mediainfo-ruby¶
MediaInfo library bindings using the C++ shared libraries directly.
- GitHub: hackerdude/mediainfo-ruby
- RubyGems: mediainfo-ruby
Phone Numbers¶
gphone¶
Ruby bindings to Google's libphonenumber for parsing, validating, and formatting phone numbers.
- GitHub: elcamino/gphone
- RubyGems: gphone
A/B Testing¶
Field Test¶
A/B testing for Rails.
- GitHub: ankane/field_test
- RubyGems: field_test
Code Generation¶
ruby-bindgen¶
Generates FFI and Rice bindings from C and C++ header files using libclang.
- GitHub: ruby-rice/ruby-bindgen
- RubyGems: ruby_bindgen
Rb++¶
Uses rbgccxml and Rice to automatically generate Ruby extensions around C++ source and libraries.
- GitHub: jasonroelofs/rbplusplus
- RubyGems: rbplusplus
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.