daru_lite 0.1.2 → 0.2.0
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/.github/dependabot.yml +11 -0
- data/.github/workflows/ci.yml +2 -2
- data/.rubocop.yml +2 -2
- data/benchmarks/db_loading.rb +0 -1
- data/daru_lite.gemspec +10 -12
- data/daru_lite_test-shm +0 -0
- data/daru_lite_test-wal +0 -0
- data/lib/daru_lite/accessors/array_wrapper.rb +4 -4
- data/lib/daru_lite/core/merge.rb +8 -8
- data/lib/daru_lite/data_frame/calculatable.rb +2 -2
- data/lib/daru_lite/data_frame/filterable.rb +4 -4
- data/lib/daru_lite/data_frame/i_o_able.rb +17 -14
- data/lib/daru_lite/data_frame/iterable.rb +11 -11
- data/lib/daru_lite/data_frame/queryable.rb +5 -5
- data/lib/daru_lite/dataframe.rb +16 -14
- data/lib/daru_lite/date_time/index.rb +10 -10
- data/lib/daru_lite/extensions/which_dsl.rb +2 -2
- data/lib/daru_lite/index/index.rb +4 -4
- data/lib/daru_lite/index/multi_index.rb +13 -4
- data/lib/daru_lite/io/io.rb +10 -9
- data/lib/daru_lite/io/sql_data_source.rb +7 -24
- data/lib/daru_lite/maths/statistics/dataframe.rb +2 -2
- data/lib/daru_lite/maths/statistics/vector.rb +16 -16
- data/lib/daru_lite/vector/aggregatable.rb +2 -2
- data/lib/daru_lite/vector/filterable.rb +2 -2
- data/lib/daru_lite/vector/queryable.rb +4 -4
- data/lib/daru_lite/vector/sortable.rb +4 -4
- data/lib/daru_lite/vector.rb +4 -6
- data/lib/daru_lite/version.rb +1 -1
- data/spec/data_frame/filterable_example.rb +174 -15
- data/spec/index/categorical_index_spec.rb +27 -8
- data/spec/index/index_spec.rb +16 -3
- data/spec/index/multi_index_spec.rb +85 -76
- data/spec/io/io_spec.rb +0 -16
- data/spec/io/sql_data_source_spec.rb +0 -8
- data/spec/spec_helper.rb +1 -1
- data/spec/support/database_helper.rb +0 -1
- metadata +30 -65
@@ -1,22 +1,22 @@
|
|
1
1
|
require 'spec_helper.rb'
|
2
2
|
|
3
3
|
describe DaruLite::MultiIndex do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
[:a
|
8
|
-
[:a
|
9
|
-
[:a
|
10
|
-
[:
|
11
|
-
[:b
|
12
|
-
[:b
|
13
|
-
[:b
|
14
|
-
[:
|
15
|
-
[:c
|
16
|
-
[:c
|
17
|
-
[:c
|
4
|
+
let(:index) { described_class.from_tuples(index_tuples) }
|
5
|
+
let(:index_tuples) do
|
6
|
+
[
|
7
|
+
[:a, :one, :bar],
|
8
|
+
[:a, :one, :baz],
|
9
|
+
[:a, :two, :bar],
|
10
|
+
[:a, :two, :baz],
|
11
|
+
[:b, :one, :bar],
|
12
|
+
[:b, :two, :bar],
|
13
|
+
[:b, :two, :baz],
|
14
|
+
[:b, :one, :foo],
|
15
|
+
[:c, :one, :bar],
|
16
|
+
[:c, :one, :baz],
|
17
|
+
[:c, :two, :foo],
|
18
|
+
[:c, :two, :bar]
|
18
19
|
]
|
19
|
-
@multi_mi = DaruLite::MultiIndex.from_tuples(@index_tuples)
|
20
20
|
end
|
21
21
|
|
22
22
|
context ".initialize" do
|
@@ -71,16 +71,16 @@ describe DaruLite::MultiIndex do
|
|
71
71
|
|
72
72
|
it "raises SizeError for wrong number of name" do
|
73
73
|
error_msg = "\'names\' and \'levels\' should be of same size. Size of the \'name\' array is 2 and size of the MultiIndex \'levels\' and \'labels\' is 3.\nIf you do not want to set name for particular level (say level \'i\') then put empty string on index \'i\' of the \'name\' Array."
|
74
|
-
expect {
|
74
|
+
expect { index.name = ['n1', 'n2'] }.to raise_error(SizeError, error_msg)
|
75
75
|
|
76
76
|
error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 0 and size of the MultiIndex 'levels' and 'labels' is 3.\nIf you do not want to set name for particular level (say level 'i') then put empty string on index 'i' of the 'name' Array."
|
77
|
-
expect {
|
77
|
+
expect { index.name = [ ] }.to raise_error(SizeError, error_msg)
|
78
78
|
|
79
79
|
error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 1 and size of the MultiIndex 'levels' and 'labels' is 3.\nIf you do not want to set name for particular level (say level 'i') then put empty string on index 'i' of the 'name' Array."
|
80
|
-
expect {
|
80
|
+
expect { index.name = [''] }.to raise_error(SizeError, error_msg)
|
81
81
|
|
82
82
|
error_msg = "'names' and 'levels' should be of same size. Size of the 'name' array is 4 and size of the MultiIndex 'levels' and 'labels' is 3."
|
83
|
-
expect {
|
83
|
+
expect { index.name = ['n1', 'n2', 'n3', 'n4'] }.to raise_error(SizeError, error_msg)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
end
|
@@ -101,8 +101,8 @@ describe DaruLite::MultiIndex do
|
|
101
101
|
end
|
102
102
|
|
103
103
|
it "creates a triple layer MultiIndex from tuples" do
|
104
|
-
expect(
|
105
|
-
expect(
|
104
|
+
expect(index.levels).to eq([[:a,:b,:c], [:one, :two],[:bar,:baz,:foo]])
|
105
|
+
expect(index.labels).to eq([
|
106
106
|
[0,0,0,0,1,1,1,1,2,2,2,2],
|
107
107
|
[0,0,1,1,0,1,1,0,0,0,1,1],
|
108
108
|
[0,1,0,1,0,0,1,2,0,1,2,0]
|
@@ -132,23 +132,23 @@ describe DaruLite::MultiIndex do
|
|
132
132
|
|
133
133
|
context "#size" do
|
134
134
|
it "returns size of MultiIndex" do
|
135
|
-
expect(
|
135
|
+
expect(index.size).to eq(12)
|
136
136
|
end
|
137
137
|
end
|
138
138
|
|
139
139
|
context "#[]" do
|
140
140
|
it "returns the row number when specifying the complete tuple" do
|
141
|
-
expect(
|
141
|
+
expect(index[:a, :one, :baz]).to eq(1)
|
142
142
|
end
|
143
143
|
|
144
144
|
it "returns MultiIndex when specifying incomplete tuple" do
|
145
|
-
expect(
|
145
|
+
expect(index[:b]).to eq(DaruLite::MultiIndex.from_tuples([
|
146
146
|
[:b,:one,:bar],
|
147
147
|
[:b,:two,:bar],
|
148
148
|
[:b,:two,:baz],
|
149
149
|
[:b,:one,:foo]
|
150
150
|
]))
|
151
|
-
expect(
|
151
|
+
expect(index[:b, :one]).to eq(DaruLite::MultiIndex.from_tuples([
|
152
152
|
[:b,:one,:bar],
|
153
153
|
[:b,:one,:foo]
|
154
154
|
]))
|
@@ -156,7 +156,7 @@ describe DaruLite::MultiIndex do
|
|
156
156
|
end
|
157
157
|
|
158
158
|
it "returns MultiIndex when specifying wholly numeric ranges" do
|
159
|
-
expect(
|
159
|
+
expect(index[3..6]).to eq(DaruLite::MultiIndex.from_tuples([
|
160
160
|
[:a,:two,:baz],
|
161
161
|
[:b,:one,:bar],
|
162
162
|
[:b,:two,:bar],
|
@@ -165,11 +165,11 @@ describe DaruLite::MultiIndex do
|
|
165
165
|
end
|
166
166
|
|
167
167
|
it "raises error when specifying invalid index" do
|
168
|
-
expect {
|
169
|
-
expect {
|
170
|
-
expect {
|
171
|
-
expect {
|
172
|
-
expect {
|
168
|
+
expect { index[:a, :three] }.to raise_error IndexError
|
169
|
+
expect { index[:a, :one, :xyz] }.to raise_error IndexError
|
170
|
+
expect { index[:x] }.to raise_error IndexError
|
171
|
+
expect { index[:x, :one] }.to raise_error IndexError
|
172
|
+
expect { index[:x, :one, :bar] }.to raise_error IndexError
|
173
173
|
end
|
174
174
|
|
175
175
|
it "works with numerical first levels" do
|
@@ -189,93 +189,89 @@ describe DaruLite::MultiIndex do
|
|
189
189
|
end
|
190
190
|
end
|
191
191
|
|
192
|
+
describe "#to_a" do
|
193
|
+
subject { index.to_a }
|
194
|
+
|
195
|
+
it { is_expected.to eq(index_tuples) }
|
196
|
+
|
197
|
+
it 'the returns array is not a variable of the index' do
|
198
|
+
expect { subject << [:d, :one, :bar] }.not_to change { index.to_a }
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
192
202
|
context "#include?" do
|
193
203
|
it "checks if a completely specified tuple exists" do
|
194
|
-
expect(
|
204
|
+
expect(index.include?([:a,:one,:bar])).to eq(true)
|
195
205
|
end
|
196
206
|
|
197
207
|
it "checks if a top layer incomplete tuple exists" do
|
198
|
-
expect(
|
208
|
+
expect(index.include?([:a])).to eq(true)
|
199
209
|
end
|
200
210
|
|
201
211
|
it "checks if a middle layer incomplete tuple exists" do
|
202
|
-
expect(
|
212
|
+
expect(index.include?([:a, :one])).to eq(true)
|
203
213
|
end
|
204
214
|
|
205
215
|
it "checks for non-existence of completely specified tuple" do
|
206
|
-
expect(
|
216
|
+
expect(index.include?([:b, :two, :foo])).to eq(false)
|
207
217
|
end
|
208
218
|
|
209
219
|
it "checks for non-existence of a top layer incomplete tuple" do
|
210
|
-
expect(
|
220
|
+
expect(index.include?([:d])).to eq(false)
|
211
221
|
end
|
212
222
|
|
213
223
|
it "checks for non-existence of a middle layer incomplete tuple" do
|
214
|
-
expect(
|
224
|
+
expect(index.include?([:c, :three])).to eq(false)
|
215
225
|
end
|
216
226
|
end
|
217
227
|
|
218
228
|
context "#key" do
|
219
229
|
it "returns the tuple of the specified number" do
|
220
|
-
expect(
|
230
|
+
expect(index.key(3)).to eq([:a,:two,:baz])
|
221
231
|
end
|
222
232
|
|
223
233
|
it "returns nil for non-existent pointer number" do
|
224
234
|
expect {
|
225
|
-
|
235
|
+
index.key(100)
|
226
236
|
}.to raise_error ArgumentError
|
227
237
|
end
|
228
238
|
end
|
229
239
|
|
230
240
|
context "#to_a" do
|
231
241
|
it "returns tuples as an Array" do
|
232
|
-
expect(
|
242
|
+
expect(index.to_a).to eq(index_tuples)
|
233
243
|
end
|
234
244
|
end
|
235
245
|
|
236
246
|
context "#dup" do
|
237
247
|
it "completely duplicates the object" do
|
238
|
-
duplicate =
|
239
|
-
expect(duplicate) .to eq(
|
240
|
-
expect(duplicate.object_id).to_not eq(
|
248
|
+
duplicate = index.dup
|
249
|
+
expect(duplicate) .to eq(index)
|
250
|
+
expect(duplicate.object_id).to_not eq(index.object_id)
|
241
251
|
end
|
242
252
|
end
|
243
253
|
|
244
254
|
context "#inspect" do
|
245
255
|
context 'small index' do
|
246
|
-
subject {
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
its(:inspect) { is_expected.to eq %Q{
|
264
|
-
|#<DaruLite::MultiIndex(12x3)>
|
265
|
-
| a one bar
|
266
|
-
| baz
|
267
|
-
| two bar
|
268
|
-
| baz
|
269
|
-
| b one bar
|
270
|
-
| two bar
|
271
|
-
| baz
|
272
|
-
| one foo
|
273
|
-
| c one bar
|
274
|
-
| baz
|
275
|
-
| two foo
|
276
|
-
| bar
|
256
|
+
subject { index.inspect }
|
257
|
+
|
258
|
+
it do
|
259
|
+
is_expected.to eq %Q{
|
260
|
+
|#<DaruLite::MultiIndex(12x3)>
|
261
|
+
| a one bar
|
262
|
+
| baz
|
263
|
+
| two bar
|
264
|
+
| baz
|
265
|
+
| b one bar
|
266
|
+
| two bar
|
267
|
+
| baz
|
268
|
+
| one foo
|
269
|
+
| c one bar
|
270
|
+
| baz
|
271
|
+
| two foo
|
272
|
+
| bar
|
277
273
|
}.unindent
|
278
|
-
|
274
|
+
end
|
279
275
|
end
|
280
276
|
|
281
277
|
context 'large index' do
|
@@ -331,7 +327,7 @@ describe DaruLite::MultiIndex do
|
|
331
327
|
|
332
328
|
context 'multi index with name having empty string' do
|
333
329
|
subject {
|
334
|
-
|
330
|
+
DaruLite::MultiIndex.new(
|
335
331
|
levels: [[:a,:b,:c],[:one,:two],[:bar, :baz, :foo]],
|
336
332
|
labels: [
|
337
333
|
[0,0,0,0,1,1,1,1,2,2,2,2],
|
@@ -677,4 +673,17 @@ describe DaruLite::MultiIndex do
|
|
677
673
|
'col3' => %w[bar bar baz foo]
|
678
674
|
)}
|
679
675
|
end
|
676
|
+
|
677
|
+
describe '#delete_at' do
|
678
|
+
subject { index.delete_at(3)}
|
679
|
+
|
680
|
+
let(:index) do
|
681
|
+
DaruLite::MultiIndex.from_tuples([[:a, :one], [:a, :two], [:b, :one], [:b, :two], [:c, :one]])
|
682
|
+
end
|
683
|
+
let(:expected_index) do
|
684
|
+
DaruLite::MultiIndex.from_tuples([[:a, :one], [:a, :two], [:b, :one], [:c, :one]])
|
685
|
+
end
|
686
|
+
|
687
|
+
it { is_expected.to eq(expected_index) }
|
688
|
+
end
|
680
689
|
end
|
data/spec/io/io_spec.rb
CHANGED
@@ -175,22 +175,6 @@ describe DaruLite::IO do
|
|
175
175
|
context ".from_sql" do
|
176
176
|
include_context 'with accounts table in sqlite3 database'
|
177
177
|
|
178
|
-
context 'with a database handler of DBI' do
|
179
|
-
let(:db) do
|
180
|
-
DBI.connect("DBI:SQLite3:#{db_name}")
|
181
|
-
end
|
182
|
-
|
183
|
-
subject { DaruLite::DataFrame.from_sql(db, "select * from accounts") }
|
184
|
-
|
185
|
-
it "loads data from an SQL database" do
|
186
|
-
accounts = subject
|
187
|
-
expect(accounts.class).to eq DaruLite::DataFrame
|
188
|
-
expect(accounts.nrows).to eq 2
|
189
|
-
expect(accounts.row[0][:id]).to eq 1
|
190
|
-
expect(accounts.row[0][:name]).to eq "Homer"
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
178
|
context 'with a database connection of ActiveRecord' do
|
195
179
|
let(:connection) do
|
196
180
|
DaruLite::RSpec::Account.establish_connection "sqlite3:#{db_name}"
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'daru_lite/io/sql_data_source'
|
2
2
|
require 'sqlite3'
|
3
|
-
require 'dbi'
|
4
3
|
require 'active_record'
|
5
4
|
|
6
5
|
RSpec.describe DaruLite::IO::SqlDataSource do
|
@@ -18,13 +17,6 @@ RSpec.describe DaruLite::IO::SqlDataSource do
|
|
18
17
|
describe '.make_dataframe' do
|
19
18
|
subject(:df) { DaruLite::IO::SqlDataSource.make_dataframe(source, query) }
|
20
19
|
|
21
|
-
context 'with DBI::DatabaseHandle' do
|
22
|
-
let(:source) { DBI.connect("DBI:SQLite3:#{db_name}") }
|
23
|
-
it { is_expected.to be_a(DaruLite::DataFrame) }
|
24
|
-
it { expect(df.row[0]).to have_attributes(id: 1, age: 20) }
|
25
|
-
its(:nrows) { is_expected.to eq 2 }
|
26
|
-
end
|
27
|
-
|
28
20
|
context 'with ActiveRecord::Connection' do
|
29
21
|
it { is_expected.to be_a(DaruLite::DataFrame) }
|
30
22
|
it { expect(df.row[0]).to have_attributes(id: 1, age: 20) }
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: daru_lite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Naude-Filonnière
|
@@ -9,10 +9,9 @@ authors:
|
|
9
9
|
- Julie Thomas
|
10
10
|
- Amar Slaoua
|
11
11
|
- Mourtada Belhantri
|
12
|
-
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date:
|
14
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: activerecord
|
@@ -20,14 +19,14 @@ dependencies:
|
|
20
19
|
requirements:
|
21
20
|
- - "~>"
|
22
21
|
- !ruby/object:Gem::Version
|
23
|
-
version: '
|
22
|
+
version: '8.0'
|
24
23
|
type: :development
|
25
24
|
prerelease: false
|
26
25
|
version_requirements: !ruby/object:Gem::Requirement
|
27
26
|
requirements:
|
28
27
|
- - "~>"
|
29
28
|
- !ruby/object:Gem::Version
|
30
|
-
version: '
|
29
|
+
version: '8.0'
|
31
30
|
- !ruby/object:Gem::Dependency
|
32
31
|
name: awesome_print
|
33
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -48,48 +47,42 @@ dependencies:
|
|
48
47
|
requirements:
|
49
48
|
- - "~>"
|
50
49
|
- !ruby/object:Gem::Version
|
51
|
-
version: '2.
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 2.1.4
|
50
|
+
version: '2.6'
|
55
51
|
type: :development
|
56
52
|
prerelease: false
|
57
53
|
version_requirements: !ruby/object:Gem::Requirement
|
58
54
|
requirements:
|
59
55
|
- - "~>"
|
60
56
|
- !ruby/object:Gem::Version
|
61
|
-
version: '2.
|
62
|
-
- - ">="
|
63
|
-
- !ruby/object:Gem::Version
|
64
|
-
version: 2.1.4
|
57
|
+
version: '2.6'
|
65
58
|
- !ruby/object:Gem::Dependency
|
66
|
-
name:
|
59
|
+
name: csv
|
67
60
|
requirement: !ruby/object:Gem::Requirement
|
68
61
|
requirements:
|
69
62
|
- - "~>"
|
70
63
|
- !ruby/object:Gem::Version
|
71
|
-
version:
|
64
|
+
version: 3.3.4
|
72
65
|
type: :development
|
73
66
|
prerelease: false
|
74
67
|
version_requirements: !ruby/object:Gem::Requirement
|
75
68
|
requirements:
|
76
69
|
- - "~>"
|
77
70
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
71
|
+
version: 3.3.4
|
79
72
|
- !ruby/object:Gem::Dependency
|
80
|
-
name:
|
73
|
+
name: debug
|
81
74
|
requirement: !ruby/object:Gem::Requirement
|
82
75
|
requirements:
|
83
|
-
- - "
|
76
|
+
- - ">="
|
84
77
|
- !ruby/object:Gem::Version
|
85
|
-
version: 0.
|
78
|
+
version: 1.0.0
|
86
79
|
type: :development
|
87
80
|
prerelease: false
|
88
81
|
version_requirements: !ruby/object:Gem::Requirement
|
89
82
|
requirements:
|
90
|
-
- - "
|
83
|
+
- - ">="
|
91
84
|
- !ruby/object:Gem::Version
|
92
|
-
version: 0.
|
85
|
+
version: 1.0.0
|
93
86
|
- !ruby/object:Gem::Dependency
|
94
87
|
name: distribution
|
95
88
|
requirement: !ruby/object:Gem::Requirement
|
@@ -124,14 +117,14 @@ dependencies:
|
|
124
117
|
requirements:
|
125
118
|
- - "~>"
|
126
119
|
- !ruby/object:Gem::Version
|
127
|
-
version: 1.
|
120
|
+
version: 1.18.0
|
128
121
|
type: :development
|
129
122
|
prerelease: false
|
130
123
|
version_requirements: !ruby/object:Gem::Requirement
|
131
124
|
requirements:
|
132
125
|
- - "~>"
|
133
126
|
- !ruby/object:Gem::Version
|
134
|
-
version: 1.
|
127
|
+
version: 1.18.0
|
135
128
|
- !ruby/object:Gem::Dependency
|
136
129
|
name: prime
|
137
130
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,34 +139,6 @@ dependencies:
|
|
146
139
|
- - "~>"
|
147
140
|
- !ruby/object:Gem::Version
|
148
141
|
version: 0.1.2
|
149
|
-
- !ruby/object:Gem::Dependency
|
150
|
-
name: pry
|
151
|
-
requirement: !ruby/object:Gem::Requirement
|
152
|
-
requirements:
|
153
|
-
- - "~>"
|
154
|
-
- !ruby/object:Gem::Version
|
155
|
-
version: '0.14'
|
156
|
-
type: :development
|
157
|
-
prerelease: false
|
158
|
-
version_requirements: !ruby/object:Gem::Requirement
|
159
|
-
requirements:
|
160
|
-
- - "~>"
|
161
|
-
- !ruby/object:Gem::Version
|
162
|
-
version: '0.14'
|
163
|
-
- !ruby/object:Gem::Dependency
|
164
|
-
name: pry-byebug
|
165
|
-
requirement: !ruby/object:Gem::Requirement
|
166
|
-
requirements:
|
167
|
-
- - "~>"
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
version: 3.10.1
|
170
|
-
type: :development
|
171
|
-
prerelease: false
|
172
|
-
version_requirements: !ruby/object:Gem::Requirement
|
173
|
-
requirements:
|
174
|
-
- - "~>"
|
175
|
-
- !ruby/object:Gem::Version
|
176
|
-
version: 3.10.1
|
177
142
|
- !ruby/object:Gem::Dependency
|
178
143
|
name: rake
|
179
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,14 +173,14 @@ dependencies:
|
|
208
173
|
requirements:
|
209
174
|
- - "~>"
|
210
175
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
176
|
+
version: 2.0.0
|
212
177
|
type: :development
|
213
178
|
prerelease: false
|
214
179
|
version_requirements: !ruby/object:Gem::Requirement
|
215
180
|
requirements:
|
216
181
|
- - "~>"
|
217
182
|
- !ruby/object:Gem::Version
|
218
|
-
version:
|
183
|
+
version: 2.0.0
|
219
184
|
- !ruby/object:Gem::Dependency
|
220
185
|
name: rubocop
|
221
186
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,28 +201,28 @@ dependencies:
|
|
236
201
|
requirements:
|
237
202
|
- - "~>"
|
238
203
|
- !ruby/object:Gem::Version
|
239
|
-
version: 1.
|
204
|
+
version: 1.25.0
|
240
205
|
type: :development
|
241
206
|
prerelease: false
|
242
207
|
version_requirements: !ruby/object:Gem::Requirement
|
243
208
|
requirements:
|
244
209
|
- - "~>"
|
245
210
|
- !ruby/object:Gem::Version
|
246
|
-
version: 1.
|
211
|
+
version: 1.25.0
|
247
212
|
- !ruby/object:Gem::Dependency
|
248
213
|
name: rubocop-rspec
|
249
214
|
requirement: !ruby/object:Gem::Requirement
|
250
215
|
requirements:
|
251
216
|
- - "~>"
|
252
217
|
- !ruby/object:Gem::Version
|
253
|
-
version: '
|
218
|
+
version: '3.6'
|
254
219
|
type: :development
|
255
220
|
prerelease: false
|
256
221
|
version_requirements: !ruby/object:Gem::Requirement
|
257
222
|
requirements:
|
258
223
|
- - "~>"
|
259
224
|
- !ruby/object:Gem::Version
|
260
|
-
version: '
|
225
|
+
version: '3.6'
|
261
226
|
- !ruby/object:Gem::Dependency
|
262
227
|
name: ruby-prof
|
263
228
|
requirement: !ruby/object:Gem::Requirement
|
@@ -320,28 +285,28 @@ dependencies:
|
|
320
285
|
requirements:
|
321
286
|
- - "~>"
|
322
287
|
- !ruby/object:Gem::Version
|
323
|
-
version:
|
288
|
+
version: 2.6.0
|
324
289
|
type: :development
|
325
290
|
prerelease: false
|
326
291
|
version_requirements: !ruby/object:Gem::Requirement
|
327
292
|
requirements:
|
328
293
|
- - "~>"
|
329
294
|
- !ruby/object:Gem::Version
|
330
|
-
version:
|
295
|
+
version: 2.6.0
|
331
296
|
- !ruby/object:Gem::Dependency
|
332
297
|
name: webmock
|
333
298
|
requirement: !ruby/object:Gem::Requirement
|
334
299
|
requirements:
|
335
300
|
- - "~>"
|
336
301
|
- !ruby/object:Gem::Version
|
337
|
-
version: 3.
|
302
|
+
version: 3.25.0
|
338
303
|
type: :development
|
339
304
|
prerelease: false
|
340
305
|
version_requirements: !ruby/object:Gem::Requirement
|
341
306
|
requirements:
|
342
307
|
- - "~>"
|
343
308
|
- !ruby/object:Gem::Version
|
344
|
-
version: 3.
|
309
|
+
version: 3.25.0
|
345
310
|
description: |
|
346
311
|
Daru (Data Analysis in RUby) is a library for analysis, manipulation and visualization
|
347
312
|
of data. Daru works seamlessly accross interpreters and leverages interpreter-specific
|
@@ -351,13 +316,13 @@ description: |
|
|
351
316
|
and can be used with many others like mixed_models, gnuplotrb and iruby.
|
352
317
|
|
353
318
|
Daru Lite is a fork of Daru that aims to focus on data manipulation and stability.
|
354
|
-
email:
|
355
319
|
executables: []
|
356
320
|
extensions: []
|
357
321
|
extra_rdoc_files: []
|
358
322
|
files:
|
359
323
|
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
360
324
|
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
325
|
+
- ".github/dependabot.yml"
|
361
326
|
- ".github/workflows/ci.yml"
|
362
327
|
- ".gitignore"
|
363
328
|
- ".rspec"
|
@@ -386,6 +351,8 @@ files:
|
|
386
351
|
- benchmarks/where_clause.rb
|
387
352
|
- benchmarks/where_vs_filter.rb
|
388
353
|
- daru_lite.gemspec
|
354
|
+
- daru_lite_test-shm
|
355
|
+
- daru_lite_test-wal
|
389
356
|
- images/README.md
|
390
357
|
- images/con0.png
|
391
358
|
- images/con1.png
|
@@ -564,7 +531,6 @@ homepage: https://github.com/pollandroll/daru
|
|
564
531
|
licenses:
|
565
532
|
- BSD-2-Clause
|
566
533
|
metadata: {}
|
567
|
-
post_install_message:
|
568
534
|
rdoc_options: []
|
569
535
|
require_paths:
|
570
536
|
- lib
|
@@ -579,8 +545,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
579
545
|
- !ruby/object:Gem::Version
|
580
546
|
version: '0'
|
581
547
|
requirements: []
|
582
|
-
rubygems_version: 3.
|
583
|
-
signing_key:
|
548
|
+
rubygems_version: 3.6.8
|
584
549
|
specification_version: 4
|
585
550
|
summary: Data Analysis in RUby, stripped down
|
586
551
|
test_files:
|