├── .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 [](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 | [](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 |
--------------------------------------------------------------------------------