Scientific Computing tools for Ruby

The SciRuby project is oriented towards providing computational research infrastructure for the Ruby Programming Language. SciRuby consists of a fairly large number of gems, including statsample, statsample-glm, statsample-timeseries, distribution, minimization, integration, rubyvis, plotrb, Nyaplot, MDArray, Publisci, Ruby-Band, daru, rubex, rbcuda, and NMatrix.

NMatrix has been awarded grants by the Ruby Association in 2012 and 2015, and has a goal of supplying Ruby with a robust, versatile linear algebra library with support for both dense and sparse matrices. Statsample and its related packages aim to provide Ruby with statistical analysis packages, while daru, nyaplot and gnuplotrb take care of data analysis and visualization. Nyaplot was awarded the Ruby Association Grant in 2014, Rubex and tensorflow.rb received it in 2016 and RbCUDA in 2017.

Working on SciRuby is a chance to get involved at the ground floor on a project which is viewed as critical by many Rubyists, including Ruby's creator, Matz. In fact, all the grants issued by the Ruby Association (which is headed by Matz) in 2016 (and most in 2017) have gone to scientific projects.

Since we are first and foremost a science-related project, we expect successful student projects to lead to publications. Better yet, students might get to see their code go into orbit, or used to save lives in biomedical research.

lightbulb_outline View ideas list


  • ruby
  • c
  • c++
  • cuda


  • Science and Medicine
  • visualization
  • compilers
  • parallel algorithms
  • data science
  • artificial intelligence
comment IRC Channel
email Mailing list
mail_outline Contact email

Ruby Science Foundation 2018 Projects

  • Prakriti Gupta
    Advance features in daru-view
    Daru-view aims to create interactive plots and tables in Ruby using various adapters available like GoogleCharts, HighCharts, Nyaplot and DataTables....
  • Nilay Pochhi
    NetworkX.rb is the library for analyzing graphs and complex networks. It is based on the popular python library NetworkX.
  • Pranav Garg
    Rewriting matplotlib in a language-independent form and expose it to Ruby.
    A Linear Algebra Library and a plotting Library are the basic requirements for scientific software to be built on. With this project, we aim to...
  • Arafat Dad Khan
    Ruby Matplotlib
    There exist several plotting libraries for Ruby, but none of them is as readily usable as either Matlab's plotting system or the Matlab-inspired...