├── .gitignore ├── .travis.yml ├── Gemfile ├── LICENSE ├── Rakefile ├── contributing.md ├── header.png ├── inbox.md ├── pull_request_template.md └── readme.md /.gitignore: -------------------------------------------------------------------------------- 1 | Gemfile.lock 2 | *json 3 | node_modules 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.2 4 | script: "awesome_bot readme.md inbox.md contributing.md --allow-dupe" 5 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | source 'https://rubygems.org' 3 | 4 | gem 'awesome_bot', '~> 1.13' 5 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer 6 | exclusive Copyright and Related Rights (defined below) upon the creator and 7 | subsequent owner(s) (each and all, an "owner") of an original work of 8 | authorship and/or a database (each, a "Work"). 9 | 10 | Certain owners wish to permanently relinquish those rights to a Work for the 11 | purpose of contributing to a commons of creative, cultural and scientific 12 | works ("Commons") that the public can reliably and without fear of later 13 | claims of infringement build upon, modify, incorporate in other works, reuse 14 | and redistribute as freely as possible in any form whatsoever and for any 15 | purposes, including without limitation commercial purposes. These owners may 16 | contribute to the Commons to promote the ideal of a free culture and the 17 | further production of creative, cultural and scientific works, or to gain 18 | reputation or greater distribution for their Work in part through the use and 19 | efforts of others. 20 | 21 | For these and/or other purposes and motivations, and without any expectation 22 | of additional consideration or compensation, the person associating CC0 with a 23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 25 | and publicly distribute the Work under its terms, with knowledge of his or her 26 | Copyright and Related Rights in the Work and the meaning and intended legal 27 | effect of CC0 on those rights. 28 | 29 | 1. Copyright and Related Rights. A Work made available under CC0 may be 30 | protected by copyright and related or neighboring rights ("Copyright and 31 | Related Rights"). Copyright and Related Rights include, but are not limited 32 | to, the following: 33 | 34 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 35 | and translate a Work; 36 | 37 | ii. moral rights retained by the original author(s) and/or performer(s); 38 | 39 | iii. publicity and privacy rights pertaining to a person's image or likeness 40 | depicted in a Work; 41 | 42 | iv. rights protecting against unfair competition in regards to a Work, 43 | subject to the limitations in paragraph 4(a), below; 44 | 45 | v. rights protecting the extraction, dissemination, use and reuse of data in 46 | a Work; 47 | 48 | vi. database rights (such as those arising under Directive 96/9/EC of the 49 | European Parliament and of the Council of 11 March 1996 on the legal 50 | protection of databases, and under any national implementation thereof, 51 | including any amended or successor version of such directive); and 52 | 53 | vii. other similar, equivalent or corresponding rights throughout the world 54 | based on applicable law or treaty, and any national implementations thereof. 55 | 56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 59 | and Related Rights and associated claims and causes of action, whether now 60 | known or unknown (including existing as well as future claims and causes of 61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 62 | duration provided by applicable law or treaty (including future time 63 | extensions), (iii) in any current or future medium and for any number of 64 | copies, and (iv) for any purpose whatsoever, including without limitation 65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 66 | the Waiver for the benefit of each member of the public at large and to the 67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 68 | shall not be subject to revocation, rescission, cancellation, termination, or 69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 70 | by the public as contemplated by Affirmer's express Statement of Purpose. 71 | 72 | 3. Public License Fallback. Should any part of the Waiver for any reason be 73 | judged legally invalid or ineffective under applicable law, then the Waiver 74 | shall be preserved to the maximum extent permitted taking into account 75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 76 | is so judged Affirmer hereby grants to each affected person a royalty-free, 77 | non transferable, non sublicensable, non exclusive, irrevocable and 78 | unconditional license to exercise Affirmer's Copyright and Related Rights in 79 | the Work (i) in all territories worldwide, (ii) for the maximum duration 80 | provided by applicable law or treaty (including future time extensions), (iii) 81 | in any current or future medium and for any number of copies, and (iv) for any 82 | purpose whatsoever, including without limitation commercial, advertising or 83 | promotional purposes (the "License"). The License shall be deemed effective as 84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 85 | License for any reason be judged legally invalid or ineffective under 86 | applicable law, such partial invalidity or ineffectiveness shall not 87 | invalidate the remainder of the License, and in such case Affirmer hereby 88 | affirms that he or she will not (i) exercise any of his or her remaining 89 | Copyright and Related Rights in the Work or (ii) assert any associated claims 90 | and causes of action with respect to the Work, in either case contrary to 91 | Affirmer's express Statement of Purpose. 92 | 93 | 4. Limitations and Disclaimers. 94 | 95 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 96 | surrendered, licensed or otherwise affected by this document. 97 | 98 | b. Affirmer offers the Work as-is and makes no representations or warranties 99 | of any kind concerning the Work, express, implied, statutory or otherwise, 100 | including without limitation warranties of title, merchantability, fitness 101 | for a particular purpose, non infringement, or the absence of latent or 102 | other defects, accuracy, or the present or absence of errors, whether or not 103 | discoverable, all to the greatest extent permissible under applicable law. 104 | 105 | c. Affirmer disclaims responsibility for clearing rights of other persons 106 | that may apply to the Work or any use thereof, including without limitation 107 | any person's Copyright and Related Rights in the Work. Further, Affirmer 108 | disclaims responsibility for obtaining any necessary consents, permissions 109 | or other rights required for any use of the Work. 110 | 111 | d. Affirmer understands and acknowledges that Creative Commons is not a 112 | party to this document and has no duty or obligation with respect to this 113 | CC0 or use of the Work. 114 | 115 | For more information, please see 116 | 117 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'yaml' 2 | require 'rake/clean' 3 | CLEAN.include '*.json' 4 | 5 | namespace :test do 6 | task :links2 do 7 | require 'awesome_bot' 8 | content = File.read('readme.md') 9 | result = AwesomeBot.check(content) 10 | puts result.success(nil) ? ':)' : ':(' 11 | end 12 | 13 | CMD_STRING = YAML.load_file('.travis.yml')['script'] 14 | desc 'Test links with AwesomeBot.' 15 | task :links do 16 | system(CMD_STRING) 17 | end 18 | end 19 | 20 | desc 'Regenerate the TOC.' 21 | task :toc do 22 | `node_modules/markdown-toc/cli.js -i readme.md` 23 | end 24 | -------------------------------------------------------------------------------- /contributing.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | :sparkles: We are very glad to see you in this section! :sparkles: 4 | 5 | Before you go ahead you should know that your contributions will be published under 6 | the terms of the [`CC0` license](https://creativecommons.org/publicdomain/zero/1.0/). 7 | 8 | Have you just found a spelling error? Need to fix indentation? 9 | Send us a pull request! :sparkles: 10 | 11 | You have discovered something cool, but don't know exactly if it suits the 12 | awesome definition? :+1: Submit a pull request to the [inbox](inbox.md)! 13 | We'll consider your addition and format it for you! :smiley: 14 | 15 | :boom: If you know something pretty cool, it suits the awesome definition, works for you 16 | and seems to be useful for the community please add it to the [main list](README.md). 17 | In this case please ensure your pull request adheres to the following guidelines: 18 | 19 | - Use one commit per addition (several commits per PR are OK). 20 | - Add everything to the bottom of the relevant category. 21 | - If required introduce new categories or improve the existing categorization. 22 | - Use the following format: `- [title](link) - Distinguishing Description. [additional links]` 23 | - Name the libraries exactly how they are required from the Ruby program, not 24 | after the Readme's title, e.g. `treat`, not `Treat`, since you do `require "treat"`. 25 | - Break down long lines, check your spelling, capitalization, and punctuation. 26 | - Provide a useful titles and comments for your Pull Request (not `Changed readme.md`), 27 | mention the originator in the commit message if possible, e.g. `Added the neuroevo lib by @giuse.` 28 | - Add the topic `rubydatascience` to your repository or open an issue and 29 | kindly ask the originator of the project to do so (if applicable for your submission). 30 | 31 | Sometimes we will ask you to edit your Pull Request before it is included. 32 | This is normally due to spelling errors or because your PR didn't match 33 | these guidelines. 34 | 35 | [Here][change-pr] is a write up on how to change a Pull Request and 36 | the different ways you can do that. 37 | 38 | :+1: Thank you for your suggestions! 39 | 40 | 41 | [change-pr]: https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md 42 | -------------------------------------------------------------------------------- /header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arbox/data-science-with-ruby/e8802c9dabe70d3320c465d760377b6b1ec4321e/header.png -------------------------------------------------------------------------------- /inbox.md: -------------------------------------------------------------------------------- 1 | - https://github.com/zverok/magic_cloud 2 | - http://eewang.github.io/blog/2013/02/20/how-to-visualize-data-with-google-charts/ 3 | - https://www.youtube.com/watch?v=IxSSbUrgTBY 4 | - https://github.com/NoahFisher/plotly-js 5 | - https://github.com/Nerian/Wordcram.rb 6 | - https://rubygems.org/gems/wordlelike 7 | - https://github.com/chartmogul/chartmogul-ruby 8 | - https://gitlab.com/dabit/itiel 9 | - https://github.com/neo4jrb 10 | - https://github.com/nyamadori/juknife 11 | - https://github.com/Avsecz/aws-tensorflow-setup 12 | - https://github.com/winston/google_visualr 13 | - https://github.com/maxmilan/mathpack 14 | - http://rubykaigi.org/2016/presentations/v0dro.html 15 | - http://rubykaigi.org/2016/presentations/ktou.html 16 | - https://github.com/jaredbeck/graph_matching 17 | - SciRuby 18 | - https://github.com/dj2/Ruby-RTF 19 | - https://github.com/if1live/csv-xlsx-converter 20 | - https://github.com/jtprince/histogram 21 | - https://github.com/mjacobus/koine-csv 22 | - https://github.com/rubyzip/rubyzip 23 | - https://github.com/clbustos/rubyvis 24 | - https://github.com/agisga/mixed_models 25 | - https://github.com/agisga/spitzy 26 | - https://github.com/SciRuby/tutorials 27 | - https://github.com/sciruby/sciruby-notebooks 28 | - https://github.com/red-data-tools/red-arrow-gsl 29 | - https://github.com/red-data-tools/red-arrow-nmatrix 30 | - https://github.com/red-data-tools/red-arrow-numo-narray 31 | - https://github.com/red-data-tools/red-arrow 32 | - https://github.com/petewarden/dstk 33 | - https://docs.microsoft.com/en-us/azure/machine-learning/data-science-virtual-machine/linux-dsvm-intro 34 | - https://github.com/gtkcyber/griffon-vm 35 | - https://github.com/ruby-rdf 36 | - https://github.com/cxn03651/write_xlsx 37 | - https://github.com/solyarisoftware/rChatScript/ 38 | - https://github.com/tj/terminal-table 39 | - https://github.com/halogenandtoast/alchemist 40 | - https://github.com/wurmlab/rubyscholar 41 | - https://github.com/lautis/rscsv 42 | - https://github.com/agardiner/csv-diff 43 | - https://github.com/red-data-tools/jekyll-jupyter-notebook 44 | - https://github.com/jtprince/simpler 45 | - https://github.com/clbustos/Rserve-Ruby-client 46 | - https://github.com/ash1day/rbplotly 47 | - https://github.com/gverger/ruby-cbc 48 | - https://github.com/civisanalytics/tableau_api 49 | - https://github.com/coderbydesign/chart-js-rails 50 | - https://github.com/ankane/chartkick 51 | - https://github.com/odedd/table_sortable 52 | - https://github.com/Pagnet/csv_import_magic 53 | - https://github.com/ireullin/principal-components-analysis 54 | - https://github.com/antw/iniparse 55 | - https://github.com/rbotafogo/jCSV 56 | - https://github.com/twitter/twitter-text 57 | - https://github.com/Demonstrandum/Fractal 58 | - https://github.com/westonganger/spreadsheet_architect 59 | - https://github.com/hsugawa8651/jupyter_to_scrapbox_gem 60 | - https://github.com/corybuecker/ruby-native-statistics 61 | - https://github.com/whileman133/rrtf 62 | - https://github.com/phillbaker/rubystats 63 | - https://github.com/isuruf/conda.rb 64 | - https://github.com/zendesk/ruby-kafka 65 | - https://github.com/karafka/karafka 66 | - https://github.com/baweaver/xf 67 | -------------------------------------------------------------------------------- /pull_request_template.md: -------------------------------------------------------------------------------- 1 | I want to contribute to this list and help the maintainers, so: 2 | 3 | - [ ] I've accepted the terms of the `CC0` License; 4 | - [ ] I've added the topic `rubydatascience` to the contributed repository if appropriate. 5 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [[RubyNLP](https://github.com/arbox/nlp-with-ruby) | 4 | [RubyML](https://github.com/arbox/machine-learning-with-ruby) | 5 | [RubyInterop](https://github.com/arbox/ruby-interoperability)] 6 | 7 | 8 | # Awesome Data Science with Ruby [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) 9 | 10 | > Links and Resources for Data Processing and Analysis in Ruby 11 | 12 | [Data Science](https://en.wikipedia.org/wiki/Data_science) is a new 13 | "sexy" buzzword without specific meaning but often used to substitute 14 | Statistics, Scientific Computing, Text and Data Mining and 15 | Visualization, Machine Learning, Data Processing and Warehousing as 16 | well as Retrieval Algorithms of any kind. 17 | 18 | This curated list comprises [_awesome_][awesome] tutorials, libraries, 19 | information sources about various Data Science applications using 20 | the [Ruby programming language][ruby]. 21 | 22 | A lot of useful resources on this list come from the development by 23 | [The Ruby Science Foundation][sciruby], our [contributors][contributors] and 24 | our own day to day work on various data intensive applications. 25 | Read [why](#wait-but-why) this list is awesome. 26 | 27 | :sparkles: Every [contribution](contributing.md) is welcome! 28 | Add links through pull requests or create an issue to start a discussion. 29 | 30 | Follow us on [Twitter](https://twitter.com/NonWebRuby) 31 | and please spread the word using the `#RubyDataScience` hash tag! 32 | 33 | 34 | 35 | ## Contents 36 | 37 | 38 | 39 | - [Ruby vs. Python vs. Julia vs. R](#ruby-vs-python-vs-julia-vs-r) 40 | - [Standing on the shoulders of giants](#standing-on-the-shoulders-of-giants) 41 | - [Data Manipulation](#data-manipulation) 42 | - [Distributed Computing](#distributed-computing) 43 | - [Data Structures](#data-structures) 44 | - [Data sets](#data-sets) 45 | - [Statistics](#statistics) 46 | - [Numeric and Symbolic Computation](#numeric-and-symbolic-computation) 47 | - [Visualization](#visualization) 48 | - [Interactive Computing](#interactive-computing) 49 | - [Input and Output](#input-and-output) 50 | * [General formats](#general-formats) 51 | * [Database Adapters](#database-adapters) 52 | * [Domain specific formats](#domain-specific-formats) 53 | - [Provisioning Infrastructure](#provisioning-infrastructure) 54 | - [Machine Learning](#machine-learning) 55 | - [Articles, Posts, Talks, and Presentations](#articles-posts-talks-and-presentations) 56 | - [Related resources](#related-resources) 57 | - [Wait but why?](#wait-but-why) 58 | - [License](#license) 59 | 60 | 61 | 62 | 63 | 64 | ## Ruby vs. Python vs. Julia vs. R 65 | 66 | | Ruby | Python | Julia | R | 67 | | --- | --- | --- | --- | 68 | | Daru / Rover | Pandas | | | 69 | | NArray | NumPy | | | 70 | 71 | ## Standing on the shoulders of giants 72 | 73 | Ruby is (for now) not a Data Science centric language with a very large established library. 74 | Leveraging libraries from R, Python, and Julia helps Ruby to solve your tasks! 75 | 76 | 77 | - [pycall](https://github.com/mrkn/pycall.rb) — Bridge into the Python world. 78 | - [rserve-client](https://github.com/clbustos/Rserve-Ruby-client) — 79 | Ruby connector for [Rserve](http://www.rforge.net/Rserve/), R's binary server. 80 | 81 | ## Data Manipulation 82 | 83 | - [kiba](https://github.com/thbar/kiba/) — 84 | lightweight Ruby ETL (Extract-Transform-Load) framework. 85 | - [jongleur](https://gitlab.com/RedFred7/Jongleur) — 86 | Workflow manager using DAG definitions to execute ETL tasks. 87 | 88 | ## Distributed Computing 89 | 90 | - [ruby-spark](https://github.com/ondra-m/ruby-spark) — 91 | Ruby Interface to [Apache Spark](https://spark.apache.org/) 1.x.x. 92 | - [jruby-spark](https://github.com/chyh1990/jruby-spark) — 93 | JRuby based bindings for [Apache Spark](https://spark.apache.org/). 94 | 95 | ## Data Structures 96 | 97 | - [daru](https://github.com/SciRuby/daru) — 98 | Data Frame and Vector structures with comprehensive manipulating and visualization methods. 99 | - [Rover](https://github.com/ankane/rover) — 100 | Data Frame and Vector structures with comprehensive manipulating and visualization methods. 101 | - [numo-narray](https://github.com/ruby-numo/numo-narray) — 102 | n-dimensional Numerical Array for Ruby. 103 | - [nmatrix](https://github.com/sciruby/nmatrix) — 104 | dense and sparse linear algebra library for Ruby via [SciRuby](http://sciruby.com/). 105 | - [kdtree](https://github.com/gurgeous/kdtree) — 106 | blazingly fast native 2d k-d tree. 107 | - [mdarray](https://github.com/rbotafogo/mdarray) — 108 | Array structure for `JRuby`. 109 | - [spreadsheet](https://github.com/zdavatz/spreadsheet) — 110 | manipulation library for MS Excel spreadsheets. 111 | - [networkx](https://github.com/SciRuby/networkx.rb) — 112 | Ruby based [NetworkX](https://networkx.github.io/) clone that handles various 113 | usecases of the Graph Data Structure. 114 | - [cumo](https://github.com/sonots/cumo) — 115 | CUDA-aware numerical Array library with [NArray](https://github.com/ruby-numo/numo-narray) similar interface. 116 | 117 | ## Data sets 118 | 119 | - [rdatasets](https://github.com/kojix2/rdatasets) — 120 | Data sets available in R via [Rdatasets](https://github.com/vincentarelbundock/Rdatasets). 121 | - [red-datasets](https://github.com/red-data-tools/red-datasets) — 122 | Growing collection of publicly available data sets such as CIFAR-10, Iris, MNIST etc. 123 | 124 | ## Statistics 125 | 126 | - [rb-gsl](https://github.com/blackwinter/rb-gsl) — 127 | Ruby interface to the GNU Scientific Library. [[dep: GLS](#gls)] 128 | - [simple_stats](https://github.com/brianhempel/simple_stats) — 129 | `Enumerable` patches for descriptive statistics. 130 | - [enumerable-statistics](https://github.com/mrkn/enumerable-statistics) — 131 | fast implementation of descriptive statistics for the `Enumerable` module. 132 | - [statsample](https://github.com/sciruby/statsample) — 133 | basic and advanced statistics for Ruby. [[dep: GLS](#gls)] 134 | - [statsample-glm](https://github.com/sciruby/statsample-glm) — 135 | extension of `statsample` by Generalized Linear Models. 136 | - [statsample-bivariate-extension](https://github.com/sciruby/statsample-bivariate-extension) — 137 | extension of `statsample` by Bivariate Correlations. 138 | - [statsample-timeseries](https://github.com/sciruby/statsample-timeseries) — 139 | extension of `statsample` by Time Series estimators. 140 | - [pca](https://github.com/gbuesing/pca) — 141 | Principal Component Analysis (PCA) in Ruby. 142 | - [descriptive-statistics](https://github.com/jtescher/descriptive-statistics) — 143 | descriptive extensions for the `Enumerable` module or standalone usage. 144 | - [distribution](https://github.com/sciruby/distribution) — 145 | probabilistic distributions and descriptive measures for them. 146 | - [statistics2](https://github.com/abscondment/statistics2) — 147 | Normal, Chi-square, t- and F- probability distributions for Ruby. 148 | - [fast_statistics](https://github.com/Martin-Nyaga/fast_statistics) — 149 | fast computation of descriptive statistics (min, max, mean, median, 1st and 3rd quartiles, population standard deviation) for a multivariate dataset. 150 | 151 | ## Numeric and Symbolic Computation 152 | 153 | - [numo-linalg](https://github.com/ruby-numo/numo-linalg) — 154 | linear algebraic operations for NArray. 155 | - [numo-gsl](https://github.com/ruby-numo/numo-gsl) — 156 | Math and Statistics for NArray using GSL.[[dep: GSL](#gsl)] 157 | - [symengine](https://github.com/symengine/symengine.rb) — 158 | Symbolic Computation with [SymEngine](https://github.com/symengine/symengine). 159 | - [numo-ffte](https://github.com/ruby-numo/numo-ffte) — 160 | Fast Fourier Transformation for NArray using the FFTE package.[[FFTE](#ffte)] 161 | 162 | ## Visualization 163 | 164 | Comprehensive tools for Data Visualization. 165 | 166 | - [matplotlib](https://github.com/mrkn/matplotlib.rb) — 167 | Ruby based wrapper around [matplotlib](https://matplotlib.org/). 168 | [[dep: matplotlib](#matplotlib)] 169 | - [mathematical](https://github.com/gjtorikian/mathematical) — 170 | PNG and MathML renderings for your equations. 171 | - [daru-view](https://github.com/sciruby/daru-view) — 172 | daru-view is interactive plotting gem for web application 173 | (any Ruby web application framework like Rails/Sinatra/Nanoc/Hanami) & IRuby notebook. 174 | It is a plugin gem for daru. 175 | - [daru-plotly](https://github.com/genya0407/daru-plotly) — 176 | [Plotly](https://plot.ly/) based visualization for Daru. 177 | - [benchmark-plot](https://github.com/v0dro/benchmark-plot) 178 | - [Vega](https://github.com/ankane/vega) — 179 | [Vega](https://vega.github.io/vega/) and [Vega-lite](https://vega.github.io/vega-lite/) 180 | based visualization for Rover. 181 | - [Gruff](https://github.com/topfunky/gruff) — 182 | graphing library built on top of [rmagick](https://github.com/rmagick/rmagick). 183 | - [Rubyplot](https://github.com/SciRuby/rubyplot) — 184 | graphing library built on top of [GR](https://gr-framework.org). 185 | - [Nyaplotjs](https://github.com/domitry/Nyaplotjs) 186 | - [nyaplot](https://github.com/domitry/nyaplot) 187 | - [gnuplotrb](https://github.com/SciRuby/gnuplotrb) 188 | - [ruby-graphviz](https://github.com/glejeune/Ruby-Graphviz) 189 | [[dep: Graphviz](#graphviz)] 190 | - [gnuplot](https://github.com/rdp/ruby_gnuplot/tree/master) 191 | [[dep: gnuplot](#gnuplot)] 192 | - https://github.com/zuhao/plotrb 193 | - https://github.com/brasten/scruffy 194 | - https://github.com/zverok/worldize 195 | - https://github.com/masa16/ruby-mathgl 196 | - [numo-gnuplot](https://github.com/ruby-numo/numo-gnuplot) — 197 | gnuplot interface for the Numo package. 198 | - [chartkick](https://github.com/ankane/chartkick) — 199 | Create beautiful JavaScript charts with one line of Ruby. 200 | - [iruby-chartkick](https://github.com/Absolventa/iruby-chartkick) — 201 | Use [chartkick](https://github.com/ankane/chartkick) within IRuby-backed jupyter notebooks 202 | - [ruby-gr](https://github.com/red-data-tools/GR.rb) — 203 | Ruby interface to [GR](https://gr-framework.org/), a framework for visualisation applications. 204 | [[dep: GR](#gr)] 205 | 206 | ## Interactive Computing 207 | 208 | - [iruby](https://github.com/sciruby/iruby) — 209 | Ruby kernel for [Jupyter](https://jupyter.org/). 210 | - [iruby-rails](https://github.com/mrkn/iruby-rails) — 211 | Integration library for IRuby and Rails. 212 | - [jupyter_on_rails](https://github.com/Yuki-Inoue/jupyter_on_rails/) — 213 | Another integration library for IRuby and Rails. 214 | 215 | 216 | ## Input and Output 217 | 218 | ### General formats 219 | 220 | - https://github.com/fiksu/rcsv 221 | - [ox](https://github.com/ohler55/ox) — 222 | Optimized for speed XML parser and object marshaller. 223 | - [oj](https://github.com/ohler55/oj) — 224 | High-speed JSON parser. 225 | - Markdown 226 | - Nokogiri 227 | - CSV 228 | 229 | ### Database Adapters 230 | 231 | - pg 232 | - Mongo 233 | - MySQL 234 | 235 | ### Domain specific formats 236 | 237 | - BibTeX 238 | - [inih](https://github.com/woodruffw/ruby-inih) — fast C based INI parser for Ruby. 239 | - [bolognese](https://github.com/datacite/bolognese) — 240 | conversion tool for citation formats like BibTeX, RIS, or Crossref XML. 241 | 242 | 243 | ## Provisioning Infrastructure 244 | 245 | - https://github.com/mrkn/gpu-instance 246 | - https://github.com/mrkn/computing_node 247 | - https://github.com/k1LoW/awspec 248 | 249 | ## Machine Learning 250 | 251 | Please look at our extensive [Awesome ML with Ruby][ml-with-ruby] list. 252 | 253 | ## Articles, Posts, Talks, and Presentations 254 | 255 | - 2019 256 | - _Parallelising ETL workflows with the Jongleur gem_ by [Fred Heath](https://github.com/RedFred7) 257 | [[post](http://bootstrap.me.uk/gems/2019/01/06/jongleur-etl.html)] 258 | - 2018 259 | - 2017 260 | - _Progress of Ruby-Numo: Numerical Computing for Ruby_ by [Masahiro Tanaka](https://github.com/masa16) 261 | [[slides](https://speakerdeck.com/masa16tanaka/progress-of-ruby-numo-numerical-computing-for-ruby)] 262 | - _Chartkick: data visualization made easy with Ruby_ by [Govind Unnikrishnan](https://twitter.com/govind_k_u) 263 | [[post](https://blog.redpanthers.co/chartkick-data-visualization-easy-ruby/)] 264 | - _Development of Data Science Ecosystem for Ruby_ by [Kenta Murata](https://twitter.com/mrkn) 265 | [[slides](https://speakerdeck.com/mrkn/development-of-data-science-ecosystem-for-ruby) | 266 | [video](https://www.youtube.com/watch?v=U9GdgZowmGY) | 267 | [page](https://rubykaigi.org/2017/presentations/mrkn.html)] 268 | - 2016 269 | - _Scientific Computation and Data Visualization with Ruby_ by [Sameer Deshmukh](https://twitter.com/v0dro) 270 | [[slides](https://www.slideshare.net/SrijanOne/webinar-scientific-computation-and-data-visualization-with-ruby) | 271 | [video](https://www.youtube.com/watch?v=5970kC6MfBE)] 272 | - 2015 273 | - 2014 274 | - 2013 275 | - _Seeing the Big Picture: Quick and Dirty Data Visualization with Ruby_ by [Aja Hammerly](https://twitter.com/the_thagomizer) 276 | [[video](https://www.youtube.com/watch?v=dWPRLCU39AU) | 277 | [slides](http://www.thagomizer.com/files/dataviz_windy_city_13.pdf) | 278 | [code](https://github.com/thagomizer/data_visualization_talk)] 279 | - 2012 280 | - 2011 281 | - 2010 282 | - _NArray and scientific computing with Ruby_ by [Masahiro Tanaka](https://twitter.com/masa16tanaka) 283 | [[video](https://vimeo.com/14823720) | 284 | [slides](https://www.slideshare.net/masa16tanaka/narray-and-scientific-computing-with-ruby)] 285 | 286 | ## Community 287 | 288 | - https://gitter.im/red-data-tools/en 289 | - https://gitter.im/red-data-tools/ja 290 | - http://ruby-data.org/ 291 | - https://twitter.com/RubyData 292 | - https://discourse.ruby-data.org/ 293 | 294 | ## Related resources 295 | 296 | - [Awesome Data Science with Python](https://github.com/r0f1/datascience) 297 | - 298 | [ImageMagick](https://imagemagick.org/index.php) 299 | - 300 | [GSL](https://www.gnu.org/software/gsl/) 301 | - 302 | [FFTE](http://www.ffte.jp/) 303 | - 304 | [SymEngine](https://github.com/symengine/symengine) 305 | - [Awesome Big Data](https://github.com/onurakpolat/awesome-bigdata#data-visualization) - 306 | awesome curated list on all around Big Data. 307 | - [Awesome Spark](https://github.com/awesome-spark/awesome-spark) — 308 | awesome list on Apache Spark goodies. 309 | 310 | ## Wait but why? 311 | 312 | There are a lot of software lists with tools related to the Data Science. 313 | There are a couple of lists with Ruby related projects. There are no lists of 314 | only working and tested software with documented scope. We'll try to make one! 315 | 316 | What is awesome? Awesome are documented, maintained and focused tools. 317 | 318 | Can something turn not awesome at a point? Yes! Abandoned projects with broken 319 | dependencies aren't awesome any more! They leave this list. 320 | 321 | ## License 322 | 323 | [![Creative Commons Zero 1.0](http://mirrors.creativecommons.org/presskit/buttons/80x15/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) `Awesome Data Science with Ruby` by [Andrei Beliankou](https://github.com/arbox) and 324 | [Contributors][contributors]. 325 | 326 | To the extent possible under law, the person who associated CC0 with 327 | `Awesome Data Science with Ruby` has waived all copyright and related or neighboring rights 328 | to `Awesome Data Science with Ruby`. 329 | 330 | You should have received a copy of the CC0 legalcode along with this 331 | work. If not, see . 332 | 333 | 334 | [ruby]: https://www.ruby-lang.org/en/ 335 | [ml-with-ruby]: https://github.com/arbox/machine-learning-with-ruby 336 | [awesome]: https://github.com/sindresorhus/awesome/blob/master/awesome.md 337 | [change-pr]: https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md 338 | [sciruby]: https://github.com/sciruby 339 | [contributors]: https://github.com/arbox/data-science-with-ruby/graphs/contributors 340 | --------------------------------------------------------------------------------