sciruby 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -1
- data/.travis.yml +24 -0
- data/CHANGES +4 -0
- data/Gemfile +12 -1
- data/{LICENSE.txt → LICENSE} +0 -0
- data/README.md +46 -0
- data/Rakefile +13 -0
- data/gems.yml +258 -133
- data/lib/sciruby/autoload.rb +1 -1
- data/lib/sciruby/gems.rb +5 -8
- data/lib/sciruby/version.rb +1 -1
- data/sciruby.gemspec +5 -11
- data/scripts/deploy +18 -0
- data/scripts/gems.slim +57 -0
- data/scripts/helper.rb +83 -0
- data/scripts/test +77 -0
- metadata +31 -9
- data/README.rdoc +0 -34
- data/gems.slim +0 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5407217eba73ab78ecf9b9d5c072992eebeeab9b
|
4
|
+
data.tar.gz: 8307708e990dc2da9b0f255e57ccebb9d2e112d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 621b44ad7af4920a6794f9d5961e0621e04aa4329b8f9c867ef81ccd05baf9dabca1b7c9d1e8ba4d054419938c564c87b81c024c9da8ddf473943c0cdaf067f4
|
7
|
+
data.tar.gz: ea961303d3cca616ed48bf08212c3561fe350e69e3e5e059a4365c599ed84eb72265d0282d3dbec0428e9c54d093e0641ba133ea106299c505625381651f0464
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
language: ruby
|
2
|
+
|
3
|
+
rvm:
|
4
|
+
- ruby-head
|
5
|
+
- 2.2.2
|
6
|
+
- 2.1.6
|
7
|
+
|
8
|
+
matrix:
|
9
|
+
allow_failures:
|
10
|
+
- rvm: ruby-head
|
11
|
+
|
12
|
+
before_install:
|
13
|
+
- sudo apt-get update -qq
|
14
|
+
- sudo apt-get install -qq gnuplot-nox libgsl0-dev libsqlite3-dev libatlas-base-dev
|
15
|
+
- sudo ln -s /usr/lib/libtoolize /usr/lib/libtool
|
16
|
+
|
17
|
+
env:
|
18
|
+
global:
|
19
|
+
- secure: "Wr93642ujssq2+lTxWiAR0u3Y50MkNfq0jcEjPn9g2A9QQw8UitXZvtGjWa7VK8Cw2iJM7NQdY0G/eE+SBqGQ2d/NyDRwBdLUrQHBILWHeJFHoQnHcfgcGWoXVg2ztxkL6mmo8B5XpKm+ZEh4uYlZYiwp41VegmpmcuxWE0R1N0="
|
20
|
+
|
21
|
+
script: bundle exec rake test && bundle exec rake deploy
|
22
|
+
|
23
|
+
notifications:
|
24
|
+
irc: "chat.freenode.net#sciruby"
|
data/CHANGES
CHANGED
data/Gemfile
CHANGED
@@ -1,2 +1,13 @@
|
|
1
|
+
load File.expand_path(File.join(__FILE__, '..', 'scripts', 'helper.rb'))
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
|
-
|
4
|
+
|
5
|
+
Helper.sciruby_gems(true).each do |g|
|
6
|
+
gem(g[:name], *g[:version])
|
7
|
+
end
|
8
|
+
|
9
|
+
# development dependencies
|
10
|
+
gem 'minitest'
|
11
|
+
gem 'rake'
|
12
|
+
gem 'bundler'
|
13
|
+
gem 'slim'
|
data/{LICENSE.txt → LICENSE}
RENAMED
File without changes
|
data/README.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# SciRuby meta gem
|
2
|
+
|
3
|
+
Tools for Scientific Computing in Ruby
|
4
|
+
|
5
|
+
* [Website](http://sciruby.com)
|
6
|
+
* [NMatrix](http://github.com/SciRuby/nmatrix)
|
7
|
+
* [List of gems](https://minad.github.io/sciruby-gems)
|
8
|
+
* [Travis-CI](https://travis-ci.org/SciRuby/sciruby)
|
9
|
+
|
10
|
+
## Description
|
11
|
+
|
12
|
+
This gem acts as a meta gem which provides collects multiple scientific gems, including numeric and visualization libraries.
|
13
|
+
|
14
|
+
## Getting started
|
15
|
+
|
16
|
+
Installation:
|
17
|
+
|
18
|
+
gem install sciruby
|
19
|
+
gem install sciruby-full
|
20
|
+
|
21
|
+
If you want to have a full-blown installation, install `sciruby-full`.
|
22
|
+
|
23
|
+
Start a notebook server:
|
24
|
+
|
25
|
+
iruby notebook
|
26
|
+
|
27
|
+
Enter commands:
|
28
|
+
|
29
|
+
require 'sciruby'
|
30
|
+
# Scientific gems are auto loaded, you can use them directly!
|
31
|
+
plot = Nyaplot::Plot.new
|
32
|
+
sc = plot.add(:scatter, [0,1,2,3,4], [-1,2,-3,4,-5])
|
33
|
+
|
34
|
+
Take a look at [gems.yml](gems.yml) or the [list of gems](https://minad.github.io/sciruby-gems) for interesting gems which are included in `sciruby-full`.
|
35
|
+
|
36
|
+
## License
|
37
|
+
|
38
|
+
Copyright (c) 2010 onward, The Ruby Science Foundation.
|
39
|
+
|
40
|
+
All rights reserved.
|
41
|
+
|
42
|
+
SciRuby is licensed under the BSD 3-clause license. See [LICENSE](LICENSE) for details.
|
43
|
+
|
44
|
+
## Donations
|
45
|
+
|
46
|
+
Support a SciRuby Fellow via [![Pledgie](http://pledgie.com/campaigns/15783.png?skin_name=chrome)](http://www.pledgie.com/campaigns/15783).
|
data/Rakefile
ADDED
data/gems.yml
CHANGED
@@ -1,157 +1,282 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
description:
|
5
|
-
module:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
description:
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
---
|
2
|
+
ai4r:
|
3
|
+
category: artificial intelligence
|
4
|
+
description: Artificial intelligence
|
5
|
+
module: Ai4r
|
6
|
+
version: "~> 1.13"
|
7
|
+
algorithms:
|
8
|
+
category: utilities
|
9
|
+
description: Algorithms and data structures
|
10
|
+
module:
|
11
|
+
- Algorithms
|
12
|
+
- Containers
|
13
|
+
version: "~> 0.6"
|
14
|
+
awesome_print:
|
15
|
+
category: utilities
|
16
|
+
description: Pretty object printing
|
17
|
+
version: "~> 1.6"
|
18
|
+
bio:
|
19
|
+
category: biology
|
20
|
+
description: Bioinformatics suite
|
21
|
+
module: Bio
|
22
|
+
version: "~> 1.4"
|
23
|
+
cassowary:
|
24
|
+
category: optimization
|
25
|
+
description: Incremental constraint solver
|
26
|
+
exclude: Native dependencies
|
27
|
+
module: Cassowary
|
28
|
+
classifier:
|
29
|
+
category: artificial intelligence
|
30
|
+
description: Machine learning
|
31
|
+
module: Classifier
|
32
|
+
version: "~> 1.3"
|
33
|
+
cmath:
|
34
|
+
category: algebra
|
35
|
+
description: Stdlib cmath module
|
36
|
+
maintainer: stdlib
|
37
|
+
daru:
|
38
|
+
category: data
|
39
|
+
description: Dataframe library
|
40
|
+
module: Daru
|
41
|
+
version: "~> 0.0"
|
42
|
+
darwinning:
|
43
|
+
category: optimization
|
44
|
+
description: Generic algorithms
|
45
|
+
module: Darwinning
|
46
|
+
version: "~> 0.0"
|
47
|
+
decisiontree:
|
48
|
+
category: artificial intelligence
|
49
|
+
description: Machine learning
|
50
|
+
module: DecisionTree
|
51
|
+
version: "~> 0.5"
|
52
|
+
distribution:
|
53
|
+
category: statistics
|
54
|
+
description: Statistical distributions
|
55
|
+
maintainer: sciruby
|
56
|
+
module: Distribution
|
57
|
+
version: "~> 0.7"
|
58
|
+
extendmatrix:
|
59
|
+
category: algebra
|
60
|
+
description: Helper methods for Matrix
|
61
|
+
version: "~> 0.4"
|
62
|
+
gga4r:
|
63
|
+
category: optimization
|
64
|
+
description: Generic algorithms
|
65
|
+
module: GeneticAlgorithm
|
66
|
+
version: "~> 0.9"
|
67
|
+
gimuby:
|
68
|
+
category: optimization
|
69
|
+
description: Genetic algorithms
|
70
|
+
module: Gimuby
|
71
|
+
version: "~> 0.7"
|
72
|
+
gnuplot:
|
16
73
|
category: plotting
|
17
|
-
|
18
|
-
nyaplot:
|
19
74
|
description: Plotting library
|
75
|
+
module: Gnuplot
|
76
|
+
version: "~> 2.6"
|
77
|
+
integration:
|
78
|
+
category: numerics
|
79
|
+
description: Numerical integration
|
80
|
+
maintainer: sciruby
|
81
|
+
module: Integration
|
82
|
+
version: "~> 0.1"
|
83
|
+
irtruby:
|
84
|
+
category: artificial intelligence
|
85
|
+
description: Machine learning
|
86
|
+
exclude: Not available as a gem
|
87
|
+
module: IRT
|
88
|
+
iruby:
|
89
|
+
category: user interface
|
90
|
+
description: Ruby kernel for Jupyter
|
91
|
+
maintainer: sciruby
|
92
|
+
module: IRuby
|
93
|
+
version: "~> 0.2"
|
94
|
+
lpsolve:
|
95
|
+
category: optimization
|
96
|
+
description: Linear solver
|
97
|
+
exclude: Outdated native dependencies
|
98
|
+
module: LPSolve
|
99
|
+
mathgl:
|
20
100
|
category: plotting
|
21
|
-
|
22
|
-
plotrb:
|
23
101
|
description: Plotting library
|
102
|
+
exclude: Native dependencies
|
103
|
+
module: MathGL
|
104
|
+
matrix:
|
105
|
+
category: algebra
|
106
|
+
description: Stdlib matrix module
|
107
|
+
maintainer: stdlib
|
108
|
+
module: Matrix
|
109
|
+
minimization:
|
110
|
+
category: numerics
|
111
|
+
description: Numerical minimization
|
112
|
+
maintainer: sciruby
|
113
|
+
module: Minimization
|
114
|
+
version: "~> 0.2"
|
115
|
+
modshogun:
|
116
|
+
category: artificial intelligence
|
117
|
+
description: Machine learning
|
118
|
+
exclude: Not available as a gem
|
119
|
+
module: Modshogun
|
120
|
+
narray:
|
121
|
+
category: numerics
|
122
|
+
description: Numerics matrix library
|
123
|
+
exclude: Conflicts with nmatrix
|
124
|
+
module: NArray
|
125
|
+
nmatrix:
|
126
|
+
category: numerics
|
127
|
+
description: Numerics matrix library
|
128
|
+
maintainer: sciruby
|
129
|
+
module:
|
130
|
+
- N
|
131
|
+
- NMatrix
|
132
|
+
- NVector
|
133
|
+
version: "~> 0.1"
|
134
|
+
nyaplot:
|
24
135
|
category: plotting
|
25
|
-
|
26
|
-
gnuplot:
|
27
136
|
description: Plotting library
|
137
|
+
module: Nyaplot
|
138
|
+
version: "~> 0.1"
|
139
|
+
ode:
|
140
|
+
category: numerics
|
141
|
+
description: Ordinary differential equations
|
142
|
+
exclude: Fortran dependencies
|
143
|
+
module: Ode
|
144
|
+
plotrb:
|
28
145
|
category: plotting
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
category:
|
34
|
-
|
146
|
+
description: Plotting library
|
147
|
+
module: Plotrb
|
148
|
+
version: "~> 0.0"
|
149
|
+
prime:
|
150
|
+
category: algebra
|
151
|
+
description: Stdlib prime module
|
152
|
+
maintainer: stdlib
|
153
|
+
module: Prime
|
35
154
|
pry:
|
36
|
-
module: Pry
|
37
|
-
description: Ruby repl
|
38
155
|
category: user interface
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
category:
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
integration:
|
50
|
-
description: Numerical integration
|
156
|
+
description: Ruby repl
|
157
|
+
module: Pry
|
158
|
+
version: "~> 0.10"
|
159
|
+
publisci:
|
160
|
+
category: publishing
|
161
|
+
description: Publishing toolkit
|
162
|
+
module: PubliSci
|
163
|
+
version: "~> 0.1"
|
164
|
+
rb-gsl:
|
51
165
|
category: numerics
|
52
|
-
|
53
|
-
|
54
|
-
|
166
|
+
description: Bindings for the GNU scientific library
|
167
|
+
exclude: Requires narray
|
168
|
+
module: GSL
|
169
|
+
require: gsl
|
170
|
+
rb-libsvm:
|
171
|
+
category: artificial intelligence
|
172
|
+
description: Support vector machines (machine learning)
|
173
|
+
module: Libsvm
|
174
|
+
require: libsvm
|
175
|
+
version: "~> 1.3"
|
176
|
+
rinruby:
|
177
|
+
category: statistics
|
178
|
+
description: R interpreter
|
179
|
+
module:
|
180
|
+
- R
|
181
|
+
- RinRuby
|
182
|
+
version: "~> 2.0"
|
183
|
+
rserve-client:
|
184
|
+
category: statistics
|
185
|
+
description: R interpreter
|
186
|
+
module: Rserve
|
187
|
+
require: rserve
|
188
|
+
version: "~> 0.3"
|
189
|
+
rsruby:
|
190
|
+
category: statistics
|
191
|
+
description: R interpreter
|
192
|
+
exclude: Native dependencies
|
193
|
+
module: RSRuby
|
194
|
+
ruby-band:
|
195
|
+
category: artificial intelligence
|
196
|
+
description: Data mining
|
197
|
+
exclude: Requires JRuby
|
198
|
+
ruby-dcl:
|
199
|
+
category: plotting
|
200
|
+
description: Plotting
|
201
|
+
exclude: Requires narray
|
202
|
+
ruby-fann:
|
203
|
+
category: artificial intelligence
|
204
|
+
description: Neural networks
|
205
|
+
module: RubyFann
|
206
|
+
version: "~> 1.2"
|
207
|
+
ruby-fftw3:
|
55
208
|
category: numerics
|
56
|
-
|
57
|
-
|
58
|
-
|
209
|
+
description: Fast Fourier transformation
|
210
|
+
exclude: Requires narray
|
211
|
+
module: FFTW3
|
212
|
+
ruby-minisat:
|
213
|
+
category: algebra
|
214
|
+
description: SAT solver
|
215
|
+
module: MiniSat
|
216
|
+
require: minisat
|
217
|
+
version: "~> 2.2"
|
218
|
+
ruby-netcdf:
|
219
|
+
category: data
|
220
|
+
description: Data file
|
221
|
+
exclude: Requires narray
|
222
|
+
ruby-opencv:
|
223
|
+
category: artificial intelligence
|
224
|
+
description: Computer vision
|
225
|
+
exclude: Native dependencies
|
226
|
+
module: OpenCV
|
227
|
+
ruby-pgplot:
|
228
|
+
category: plotting
|
229
|
+
description: Plotting
|
230
|
+
exclude: Requires narray
|
231
|
+
module: Pgplot
|
232
|
+
require: pgplot
|
233
|
+
rubyvis:
|
234
|
+
category: plotting
|
235
|
+
description: Plotting library
|
236
|
+
module: Rubyvis
|
237
|
+
version: "~> 0.5"
|
238
|
+
sciruby:
|
239
|
+
category: meta
|
240
|
+
description: SciRuby meta gem
|
241
|
+
maintainer: sciruby
|
242
|
+
sciruby-full:
|
243
|
+
category: meta
|
244
|
+
description: SciRuby meta gem (Full installation)
|
245
|
+
maintainer: sciruby
|
246
|
+
sicom:
|
59
247
|
category: statistics
|
60
|
-
|
248
|
+
description: R interpreter
|
249
|
+
exclude: Requires JRuby
|
61
250
|
statsample:
|
251
|
+
category: statistics
|
62
252
|
description: Statistics
|
253
|
+
maintainer: sciruby
|
254
|
+
module: Statsample
|
255
|
+
version: "~> 1.4"
|
256
|
+
statsample-bivariate-extension:
|
63
257
|
category: statistics
|
64
|
-
|
65
|
-
statsample-glm:
|
66
258
|
description: Statistics
|
67
|
-
|
259
|
+
version: "~> 1.1"
|
260
|
+
statsample-glm:
|
68
261
|
category: statistics
|
69
|
-
|
70
|
-
statsample-bivariate-extension:
|
71
262
|
description: Statistics
|
72
|
-
|
263
|
+
maintainer: sciruby
|
264
|
+
version: "~> 0.1"
|
265
|
+
statsample-optimization:
|
73
266
|
category: statistics
|
74
|
-
|
75
|
-
statsample-timeseries:
|
76
|
-
exclude: because of activesupport conflict
|
77
267
|
description: Statistics
|
78
|
-
|
268
|
+
exclude: GSL conflict
|
269
|
+
statsample-timeseries:
|
79
270
|
category: statistics
|
80
|
-
|
81
|
-
|
82
|
-
description: Helper methods for Matrix
|
83
|
-
module: ~
|
84
|
-
category: numerics
|
85
|
-
|
86
|
-
publisci:
|
87
|
-
description: Publishing toolkit
|
88
|
-
module: PubliSci
|
89
|
-
category: publishing
|
90
|
-
|
91
|
-
ai4r:
|
92
|
-
description: Artificial intelligence
|
93
|
-
category: machine learning
|
94
|
-
|
95
|
-
bio:
|
96
|
-
description: Bioinformatics suite
|
97
|
-
category: biology
|
98
|
-
|
99
|
-
ruby-fftw3:
|
100
|
-
module: FFTW3
|
101
|
-
exclude: because it works only with narray
|
102
|
-
description: Fast Fourier transformation
|
103
|
-
category: numerics
|
104
|
-
|
105
|
-
ruby-band:
|
106
|
-
exclude: because of dependencies
|
107
|
-
description: Data mining
|
108
|
-
category: machine learning
|
109
|
-
module: ~
|
110
|
-
|
111
|
-
classifier:
|
112
|
-
description: Machine learning
|
113
|
-
category: machine learning
|
114
|
-
|
271
|
+
description: Statistics
|
272
|
+
exclude: activesupport version conflict
|
115
273
|
stuff-classifier:
|
274
|
+
category: artificial intelligence
|
116
275
|
description: Machine learning
|
117
|
-
category: machine learning
|
118
276
|
module: StuffClassifier
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
module:
|
124
|
-
|
125
|
-
irtruby:
|
126
|
-
exclude: because of dependencies
|
127
|
-
description: Machine learning
|
128
|
-
category: machine learning
|
129
|
-
module: IRT
|
130
|
-
|
131
|
-
ruby-opencv:
|
132
|
-
description: Computer vision
|
133
|
-
exclude: because of dependencies
|
134
|
-
category: computer vision
|
135
|
-
module: OpenCV
|
136
|
-
|
137
|
-
ruby-fann:
|
138
|
-
description: Neural networks
|
139
|
-
category: machine learning
|
140
|
-
module: RubyFann
|
141
|
-
|
142
|
-
rb-libsvm:
|
143
|
-
description: Support vector machines (machine learning)
|
144
|
-
category: machine learning
|
145
|
-
module: Libsvm
|
146
|
-
|
147
|
-
sciruby:
|
148
|
-
description: SciRuby meta gem
|
149
|
-
category: meta
|
150
|
-
exclude: to avoid circular dependencies
|
151
|
-
module: ~
|
152
|
-
|
153
|
-
sciruby-full:
|
154
|
-
description: SciRuby meta gem (Full installation)
|
155
|
-
category: meta
|
156
|
-
exclude: to avoid circular dependencies
|
157
|
-
module: ~
|
277
|
+
version: "~> 0.5"
|
278
|
+
unit:
|
279
|
+
category: physics
|
280
|
+
description: Calculation with units
|
281
|
+
module: Unit
|
282
|
+
version: "~> 0.5"
|
data/lib/sciruby/autoload.rb
CHANGED
data/lib/sciruby/gems.rb
CHANGED
@@ -13,11 +13,7 @@ module SciRuby
|
|
13
13
|
|
14
14
|
# Return map of all installed SciRuby gems
|
15
15
|
def installed_gems
|
16
|
-
@installed_gems ||=
|
17
|
-
begin
|
18
|
-
require 'rubygems'
|
19
|
-
Hash[gems.each_value.map(&method(:installed_gem)).compact]
|
20
|
-
end
|
16
|
+
@installed_gems ||= Hash[gems.each_value.map(&method(:installed_gem)).compact]
|
21
17
|
end
|
22
18
|
|
23
19
|
# Return list of all known SciRuby modules
|
@@ -37,7 +33,6 @@ module SciRuby
|
|
37
33
|
gem = Hash[gem.map {|k,v| [k.to_sym, v] }]
|
38
34
|
gem[:name] = name
|
39
35
|
gem[:require] = [*(gem[:require] || name)]
|
40
|
-
gem[:module] = name.capitalize unless gem.include?(:module)
|
41
36
|
gem[:module] = [*gem[:module]].map(&:to_sym)
|
42
37
|
gem[:module].each {|mod| autoload_modules[mod] = gem[:require] }
|
43
38
|
gems[name] = gem
|
@@ -45,10 +40,12 @@ module SciRuby
|
|
45
40
|
end
|
46
41
|
|
47
42
|
def installed_gem(gem)
|
48
|
-
|
43
|
+
require 'rubygems' unless defined?(Gem::Specification)
|
44
|
+
[gem[:name], gem.merge(installed_version: Gem::Specification.find_by_name(gem[:name]).version.to_s)]
|
49
45
|
rescue Exception
|
50
46
|
nil
|
51
47
|
end
|
52
48
|
|
53
|
-
|
49
|
+
GEMS_YML = File.expand_path(File.join(__FILE__, '..', '..', '..', 'gems.yml'))
|
50
|
+
load_gems GEMS_YML
|
54
51
|
end
|
data/lib/sciruby/version.rb
CHANGED
data/sciruby.gemspec
CHANGED
@@ -1,7 +1,4 @@
|
|
1
|
-
|
2
|
-
$: << File.join(File.dirname(__FILE__), 'lib')
|
3
|
-
require 'sciruby'
|
4
|
-
require 'date'
|
1
|
+
require File.expand_path(File.join(__FILE__, '..', 'scripts', 'helper.rb'))
|
5
2
|
|
6
3
|
SCIRUBY_FULL = false unless defined?(SCIRUBY_FULL)
|
7
4
|
|
@@ -16,20 +13,17 @@ Gem::Specification.new do |s|
|
|
16
13
|
s.summary =
|
17
14
|
s.description = "Scientific gems for Ruby#{SCIRUBY_FULL ? ' (Full installation)' : ''}"
|
18
15
|
|
19
|
-
s.require_paths = %w(lib)
|
20
|
-
s.files = `git ls-files`.split($/)
|
21
|
-
|
22
16
|
if SCIRUBY_FULL
|
23
|
-
s.files.
|
24
|
-
s.files.reject! {|f| f =~ /\Alib/ }
|
17
|
+
s.files = %w(CHANGES CONTRIBUTING.md README.md LICENSE sciruby-full.gemspec)
|
25
18
|
|
26
19
|
s.add_runtime_dependency 'sciruby', "= #{SciRuby::VERSION}"
|
27
|
-
|
20
|
+
Helper.sciruby_gems(true).each {|gem| s.add_runtime_dependency gem[:name], *gem[:version] }
|
28
21
|
else
|
22
|
+
s.files = `git ls-files`.split($/)
|
29
23
|
s.files.delete 'sciruby-full.gemspec'
|
30
24
|
|
31
25
|
m = "Please consider installing 'sciruby-full' or the following gems:\n"
|
32
|
-
|
26
|
+
Helper.sciruby_gems(false).each {|gem| m << " * #{gem[:name]} - #{gem[:description]}\n" }
|
33
27
|
s.post_install_message = m << "\n"
|
34
28
|
end
|
35
29
|
end
|
data/scripts/deploy
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
mkdir -p pages
|
4
|
+
|
5
|
+
cd pages
|
6
|
+
|
7
|
+
git init
|
8
|
+
git config user.name "Daniel Mendler"
|
9
|
+
git config user.email "mail@daniel-mendler.de"
|
10
|
+
|
11
|
+
git remote add origin "https://$GH_TOKEN@github.com/minad/sciruby-gems.git"
|
12
|
+
git fetch && git reset origin/gh-pages
|
13
|
+
|
14
|
+
cp ../gems.html index.html
|
15
|
+
|
16
|
+
git add -A .
|
17
|
+
git commit -m "rebuild pages"
|
18
|
+
git push -q origin HEAD:gh-pages
|
data/scripts/gems.slim
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
- require File.expand_path(File.join(__FILE__, '..', 'helper.rb'))
|
2
|
+
doctype html
|
3
|
+
html
|
4
|
+
head
|
5
|
+
title SciRuby gems
|
6
|
+
link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"
|
7
|
+
link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.8.1/bootstrap-table.min.css"
|
8
|
+
script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"
|
9
|
+
script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-table/1.8.1/bootstrap-table.min.js"
|
10
|
+
body: .container: .row
|
11
|
+
h1 SciRuby gems
|
12
|
+
ul
|
13
|
+
li
|
14
|
+
| Last updated at #{Time.now.utc}
|
15
|
+
- if ENV['TRAVIS']
|
16
|
+
| by <a href="https://travis-ci.org/SciRuby/sciruby/jobs/#{ENV['TRAVIS_JOB_ID']}">Travis-CI</a> from commit
|
17
|
+
<a href="https://github.com/SciRuby/sciruby/commit/#{ENV['TRAVIS_COMMIT']}">#{ENV['TRAVIS_COMMIT']}</a>.
|
18
|
+
li #{SciRuby.gems.size} gems listed
|
19
|
+
table.table data={ toggle: 'table',
|
20
|
+
search: 'true',
|
21
|
+
sortable: 'true',
|
22
|
+
show_toggle: 'true',
|
23
|
+
show_columns: 'true',
|
24
|
+
mobile_responsive: 'true',
|
25
|
+
striped: 'true' }
|
26
|
+
thead: tr
|
27
|
+
th data-sortable="true" Maintainer
|
28
|
+
th data-sortable="true" Category
|
29
|
+
th data-sortable="true" Name
|
30
|
+
th data-sortable="true" Version
|
31
|
+
th data-sortable="true" Latest version
|
32
|
+
th data-sortable="true" Description
|
33
|
+
th data-sortable="true" Autoloaded modules
|
34
|
+
th data-sortable="true" Status
|
35
|
+
tbody
|
36
|
+
- Helper.sorted_gems.each do |gem|
|
37
|
+
- spec = Helper.fetch_spec(gem)
|
38
|
+
tr
|
39
|
+
td
|
40
|
+
- if gem[:maintainer]
|
41
|
+
- maintainer_tag = { 'stdlib' => 'info', 'sciruby' => 'success' }
|
42
|
+
span.label class="label-#{maintainer_tag[gem[:maintainer]] || 'warning'}" = gem[:maintainer]
|
43
|
+
td = gem[:category]
|
44
|
+
- if spec
|
45
|
+
td
|
46
|
+
a href=spec.homepage = gem[:name]
|
47
|
+
- else
|
48
|
+
td = gem[:name]
|
49
|
+
td = gem[:version]
|
50
|
+
td
|
51
|
+
- if spec
|
52
|
+
a href="https://rubygems.org/gems/#{gem[:name]}" #{spec.version} (#{spec.date.strftime '%Y-%m-%d'})
|
53
|
+
td = gem[:description]
|
54
|
+
td = gem[:module].join(', ')
|
55
|
+
td
|
56
|
+
- Helper.gem_status(gem).each do |tag, msg|
|
57
|
+
span.label<> class="label-#{tag}" = msg
|
data/scripts/helper.rb
ADDED
@@ -0,0 +1,83 @@
|
|
1
|
+
begin
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue Exception
|
4
|
+
end
|
5
|
+
|
6
|
+
$: << File.join(File.dirname(__FILE__), '..', 'lib')
|
7
|
+
|
8
|
+
require 'sciruby'
|
9
|
+
require 'date'
|
10
|
+
require 'rubygems'
|
11
|
+
|
12
|
+
module Enumerable
|
13
|
+
def stable_sort_by
|
14
|
+
sort_by.with_index {|e, i| [yield(e), i] }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module Helper
|
19
|
+
extend self
|
20
|
+
|
21
|
+
def sort_hash(object)
|
22
|
+
if Hash === object
|
23
|
+
res = {}
|
24
|
+
object.each {|k, v| res[k] = sort_hash(v) }
|
25
|
+
Hash[res.sort_by {|a| a[0].to_s }]
|
26
|
+
elsif Array === object
|
27
|
+
array = []
|
28
|
+
object.each_with_index {|v, i| array[i] = sort_hash(v) }
|
29
|
+
array
|
30
|
+
else
|
31
|
+
object
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def check_gem(name, gem)
|
36
|
+
gem[:name].must_equal name
|
37
|
+
gem.must_be_instance_of Hash
|
38
|
+
gem.each_key {|k| k.must_be_instance_of Symbol }
|
39
|
+
gem[:category].must_be_instance_of String
|
40
|
+
gem[:description].must_be_instance_of String
|
41
|
+
gem[:exclude].must_be_instance_of String if gem[:exclude] != nil
|
42
|
+
gem[:module].must_be_instance_of Array
|
43
|
+
gem[:require].must_be_instance_of Array
|
44
|
+
gem[:require].empty?.must_equal false
|
45
|
+
|
46
|
+
if gem[:exclude] || gem[:maintainer] == 'stdlib' || %w(sciruby sciruby-full).include?(gem[:name])
|
47
|
+
gem[:version].must_be_nil
|
48
|
+
else
|
49
|
+
gem[:version].must_be_instance_of String
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def fetch_spec(gem)
|
54
|
+
#STDERR.puts "Fetching #{gem[:name]}..."
|
55
|
+
gem[:maintainer] != 'stdlib' && Gem::SpecFetcher.fetcher.spec_for_dependency(Gem::Dependency.new(gem[:name])).flatten.first
|
56
|
+
end
|
57
|
+
|
58
|
+
def gem_status(gem)
|
59
|
+
status = []
|
60
|
+
status << [:default, "Excluded: #{gem[:exclude]}"] if gem[:exclude]
|
61
|
+
if spec = fetch_spec(gem)
|
62
|
+
status << [:warning, "Last update #{spec.date.strftime '%Y-%m-%d'}"] if Time.now - spec.date > 2*365*24*3600
|
63
|
+
status[:danger] << 'Outdated version constraint' unless Gem::Dependency.new(gem[:name], *gem[:version]).matches_spec?(spec)
|
64
|
+
else
|
65
|
+
status << [:danger, 'Gem not found'] unless gem[:exclude]
|
66
|
+
end unless gem[:exclude] || gem[:maintainer] == 'stdlib'
|
67
|
+
status << [:success, 'OK'] if status.empty?
|
68
|
+
status.sort_by(&:first)
|
69
|
+
end
|
70
|
+
|
71
|
+
def sorted_gems
|
72
|
+
SciRuby.gems.each_value.
|
73
|
+
stable_sort_by {|gem| gem[:name] }.
|
74
|
+
stable_sort_by {|gem| gem[:category] }.
|
75
|
+
stable_sort_by {|gem| gem[:maintainer] == 'sciruby' ? 0 : (gem[:maintainer] ? 1 : 2) }
|
76
|
+
end
|
77
|
+
|
78
|
+
def sciruby_gems(exclude)
|
79
|
+
SciRuby.gems.each_value.sort_by {|gem| gem[:name] }.reject do |gem|
|
80
|
+
gem[:maintainer] == 'stdlib' || %w(sciruby sciruby-full).include?(gem[:name])
|
81
|
+
end.reject {|gem| gem[:exclude] && exclude }
|
82
|
+
end
|
83
|
+
end
|
data/scripts/test
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.expand_path(File.join(__FILE__, '..', 'helper.rb'))
|
4
|
+
require 'minitest/spec'
|
5
|
+
require 'minitest/autorun'
|
6
|
+
|
7
|
+
class MiniTest::Spec
|
8
|
+
include Helper
|
9
|
+
end
|
10
|
+
|
11
|
+
describe 'gems.yml' do
|
12
|
+
it 'is sorted' do
|
13
|
+
sorted = YAML.dump(sort_hash(YAML.load_file(SciRuby::GEMS_YML)))
|
14
|
+
if File.read(SciRuby::GEMS_YML) != sorted
|
15
|
+
puts 'gems.yml has been sorted'
|
16
|
+
File.write(SciRuby::GEMS_YML, sorted)
|
17
|
+
fail
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it 'contains no gratuitous keys' do
|
22
|
+
YAML.load_file(SciRuby::GEMS_YML).each do |name, gem|
|
23
|
+
gem.each_key {|k| %w(category maintainer description exclude version module require).include?(k).must_equal true }
|
24
|
+
gem['require'].wont_equal name if gem['require']
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe SciRuby do
|
30
|
+
it 'provides Hash of gems' do
|
31
|
+
SciRuby.gems.must_be_instance_of Hash
|
32
|
+
SciRuby.gems.each_key {|k| k.must_be_instance_of String }
|
33
|
+
SciRuby.gems.each do |name, gem|
|
34
|
+
check_gem(name, gem)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'provides Hash of installed gems' do
|
39
|
+
SciRuby.installed_gems.must_be_instance_of Hash
|
40
|
+
SciRuby.installed_gems.each_key {|k| k.must_be_instance_of String }
|
41
|
+
SciRuby.installed_gems.each do |name, gem|
|
42
|
+
check_gem(name, gem)
|
43
|
+
gem[:installed_version].must_be_instance_of String
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'provides list of modules' do
|
48
|
+
SciRuby.modules.must_be_instance_of Array
|
49
|
+
SciRuby.modules.each {|m| m.must_be_instance_of Symbol }
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'provides list of installed modules' do
|
53
|
+
SciRuby.installed_modules.must_be_instance_of Array
|
54
|
+
SciRuby.installed_modules.each {|m| m.must_be_instance_of Symbol }
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'provides list of autoloadable modules' do
|
58
|
+
SciRuby.autoload_modules.must_be_instance_of Hash
|
59
|
+
SciRuby.autoload_modules.each_key {|k| k.must_be_instance_of Symbol }
|
60
|
+
SciRuby.autoload_modules.each_value {|v| v.must_be_instance_of Array }
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'autoloads modules' do
|
64
|
+
SciRuby.autoload_modules.must_include :Prime
|
65
|
+
|
66
|
+
Object.const_defined?(:Prime).must_equal false
|
67
|
+
Prime.must_be_instance_of Class
|
68
|
+
Object.const_defined?(:Prime).must_equal true
|
69
|
+
|
70
|
+
SciRuby.autoload_modules.wont_include :Prime
|
71
|
+
|
72
|
+
SciRuby.installed_gems.each_value.map {|gem| gem[:module] }.flatten.each do |mod|
|
73
|
+
next if mod == :R || mod == :RinRuby # FIXME, don't test RinRuby for now since it requires an installaion of R
|
74
|
+
Object.const_get(mod).wont_equal nil
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sciruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SciRuby Development Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-06-
|
11
|
+
date: 2015-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Scientific gems for Ruby
|
14
14
|
email:
|
@@ -18,18 +18,23 @@ extensions: []
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- ".gitignore"
|
21
|
+
- ".travis.yml"
|
21
22
|
- CHANGES
|
22
23
|
- CONTRIBUTING.md
|
23
24
|
- Gemfile
|
24
|
-
- LICENSE
|
25
|
-
- README.
|
26
|
-
-
|
25
|
+
- LICENSE
|
26
|
+
- README.md
|
27
|
+
- Rakefile
|
27
28
|
- gems.yml
|
28
29
|
- lib/sciruby.rb
|
29
30
|
- lib/sciruby/autoload.rb
|
30
31
|
- lib/sciruby/gems.rb
|
31
32
|
- lib/sciruby/version.rb
|
32
33
|
- sciruby.gemspec
|
34
|
+
- scripts/deploy
|
35
|
+
- scripts/gems.slim
|
36
|
+
- scripts/helper.rb
|
37
|
+
- scripts/test
|
33
38
|
homepage: http://sciruby.com
|
34
39
|
licenses:
|
35
40
|
- BSD
|
@@ -37,37 +42,55 @@ metadata: {}
|
|
37
42
|
post_install_message: |+
|
38
43
|
Please consider installing 'sciruby-full' or the following gems:
|
39
44
|
* ai4r - Artificial intelligence
|
45
|
+
* algorithms - Algorithms and data structures
|
40
46
|
* awesome_print - Pretty object printing
|
41
47
|
* bio - Bioinformatics suite
|
48
|
+
* cassowary - Incremental constraint solver
|
42
49
|
* classifier - Machine learning
|
43
50
|
* daru - Dataframe library
|
51
|
+
* darwinning - Generic algorithms
|
44
52
|
* decisiontree - Machine learning
|
45
53
|
* distribution - Statistical distributions
|
46
54
|
* extendmatrix - Helper methods for Matrix
|
55
|
+
* gga4r - Generic algorithms
|
56
|
+
* gimuby - Genetic algorithms
|
47
57
|
* gnuplot - Plotting library
|
48
|
-
* gsl-nmatrix - Bindings for the GNU scientific library
|
49
58
|
* integration - Numerical integration
|
50
59
|
* irtruby - Machine learning
|
51
60
|
* iruby - Ruby kernel for Jupyter
|
61
|
+
* lpsolve - Linear solver
|
62
|
+
* mathgl - Plotting library
|
52
63
|
* minimization - Numerical minimization
|
64
|
+
* modshogun - Machine learning
|
65
|
+
* narray - Numerics matrix library
|
53
66
|
* nmatrix - Numerics matrix library
|
54
67
|
* nyaplot - Plotting library
|
68
|
+
* ode - Ordinary differential equations
|
55
69
|
* plotrb - Plotting library
|
56
70
|
* pry - Ruby repl
|
57
71
|
* publisci - Publishing toolkit
|
72
|
+
* rb-gsl - Bindings for the GNU scientific library
|
58
73
|
* rb-libsvm - Support vector machines (machine learning)
|
74
|
+
* rinruby - R interpreter
|
75
|
+
* rserve-client - R interpreter
|
76
|
+
* rsruby - R interpreter
|
59
77
|
* ruby-band - Data mining
|
78
|
+
* ruby-dcl - Plotting
|
60
79
|
* ruby-fann - Neural networks
|
61
80
|
* ruby-fftw3 - Fast Fourier transformation
|
81
|
+
* ruby-minisat - SAT solver
|
82
|
+
* ruby-netcdf - Data file
|
62
83
|
* ruby-opencv - Computer vision
|
84
|
+
* ruby-pgplot - Plotting
|
63
85
|
* rubyvis - Plotting library
|
64
|
-
*
|
65
|
-
* sciruby-full - SciRuby meta gem (Full installation)
|
86
|
+
* sicom - R interpreter
|
66
87
|
* statsample - Statistics
|
67
88
|
* statsample-bivariate-extension - Statistics
|
68
89
|
* statsample-glm - Statistics
|
90
|
+
* statsample-optimization - Statistics
|
69
91
|
* statsample-timeseries - Statistics
|
70
92
|
* stuff-classifier - Machine learning
|
93
|
+
* unit - Calculation with units
|
71
94
|
|
72
95
|
rdoc_options: []
|
73
96
|
require_paths:
|
@@ -89,4 +112,3 @@ signing_key:
|
|
89
112
|
specification_version: 4
|
90
113
|
summary: Scientific gems for Ruby
|
91
114
|
test_files: []
|
92
|
-
has_rdoc:
|
data/README.rdoc
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
= SciRuby meta gem
|
2
|
-
|
3
|
-
Tools for Scientific Computing in Ruby
|
4
|
-
|
5
|
-
* {Website}[http://sciruby.com]
|
6
|
-
* {Google+}[https://plus.google.com/109304769076178160953/posts]
|
7
|
-
* {NMatrix}[http://github.com/SciRuby/nmatrix]
|
8
|
-
|
9
|
-
== Description
|
10
|
-
|
11
|
-
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 and gone. 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, we believe, with the need for numeric and visualization libraries in Ruby.
|
12
|
-
|
13
|
-
We are not the first with this idea, but we are trying to bring it to life.
|
14
|
-
|
15
|
-
== Installation
|
16
|
-
|
17
|
-
gem install sciruby
|
18
|
-
gem install sciruby-full
|
19
|
-
|
20
|
-
See also the {guide in the wiki}[https://github.com/SciRuby/sciruby/wiki/Installation].
|
21
|
-
|
22
|
-
== License
|
23
|
-
|
24
|
-
Copyright (c) 2010 onward, The Ruby Science Foundation.
|
25
|
-
|
26
|
-
All rights reserved.
|
27
|
-
|
28
|
-
SciRuby is licensed under the BSD 3-clause license. See {LICENSE.txt}[https://github.com/SciRuby/sciruby/wiki/License] for details.
|
29
|
-
|
30
|
-
== Donations
|
31
|
-
|
32
|
-
Support a SciRuby Fellow:
|
33
|
-
|
34
|
-
{<img src=http://pledgie.com/campaigns/15783.png?skin_name=chrome>}[http://www.pledgie.com/campaigns/15783]
|
data/gems.slim
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
ruby:
|
2
|
-
require 'sciruby'
|
3
|
-
doctype html
|
4
|
-
html
|
5
|
-
head
|
6
|
-
title SciRuby gems
|
7
|
-
link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"
|
8
|
-
body
|
9
|
-
h1 SciRuby gems
|
10
|
-
table.table.table-striped
|
11
|
-
thead
|
12
|
-
tr
|
13
|
-
th Name
|
14
|
-
th Category
|
15
|
-
th Description
|
16
|
-
th Autoloaded modules
|
17
|
-
tbody
|
18
|
-
- SciRuby.gems.each_value.sort_by {|gem| gem[:category] }.chunk {|gem| gem[:category] }.each do |cat, gems|
|
19
|
-
- gems.sort_by {|gem| gem [:name] }.each do |gem|
|
20
|
-
tr
|
21
|
-
td = gem[:name]
|
22
|
-
td = gem[:category]
|
23
|
-
td = gem[:description]
|
24
|
-
td = gem[:module].join(', ')
|