GSoC/GCI Archive
Google Summer of Code 2013

Ruby Science Foundation

Web Page:

Mailing List:

Ruby has for some time had no equivalent to the beautifully constructed NumPy, SciPy, and matplotlib libraries for Python.

We believe that the time for a Ruby science and visualization package has come. Sometimes when a solution of sugar and water becomes super-saturated, from it precipitates a pure, delicious, and diabetes-inducing crystal of sweetness, induced by no more than the tap of a finger. So it is today with numeric and visualization libraries for Ruby.

The SciRuby project consists of a fairly large number of gems, including statsampledistributionminimizationintegration, rubyvis, and of course, NMatrix. The last of these has been awarded grants by the Ruby Association as well as Brighter Planet, and has a goal of supplying the Ruby language with a robust, versatile linear algebra library with support for both dense and sparse matrices.

Statsample and its related packages (e.g., distribution) have as their goals providing the Ruby language with statistical analysis packages.

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. Further, since we are a science-related project, we expect that successful student projects could lead to publications.


  • Machine Learning & Data Mining Algorithms for Ruby The primary goal of this project is to develop a framework in which the functionalities taken from different sources (e.g. Weka, Apache.Commons.Math) will be made available to the Ruby language through some ad-hoc APIs designed with Jruby. The rationale of this project is to complement the existing SciRuby data mining softwares with some other well-established Java softwares (Weka predominantly). These would cover aspects of scientific computing which don't have full Ruby support yet.
  • Ruby port of D3 visualization package The project will be a Ruby wrapper that generates Vega plot specs, and allows users to write Ruby programs to generate professional interactive visualization that can be embedded in web applications.
  • Semantic Web Gem for Bioinformatics Build a semantic web tool to help bioinformaticians and other scientists using Ruby software and standalone analysis tools seamlessly share and access data using the RDF standard
  • StatSample Revamping The aim of this project is to develop StatSample. This is to eradicate conflicts with NMatrix by using SciRuby's fork of rb-gsl instead of the current gsl which uses NArray, and to make support for Ruby 1.9.3+, adding modules for Generalized Linear Models and Time Series Analysis. Also, project aims to cover the unimplemented functions of Distribution which Statsample is dependent on in Ruby, JRuby and GSL. Apart from this, the project aims to completely cover testing and proper documentation.