sciruby 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 [](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(', ')
|