charty 0.2.12 → 0.2.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/ci.yml +10 -6
- data/.github/workflows/nmatrix.yml +5 -4
- data/.github/workflows/pycall.yml +11 -11
- data/Gemfile +7 -0
- data/charty.gemspec +0 -2
- data/lib/charty/plotters/histogram_plotter.rb +5 -2
- data/lib/charty/table_adapters/pandas_adapter.rb +15 -3
- data/lib/charty/version.rb +1 -1
- metadata +7 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '06027692f65a7836ddd08d860a3801a0ec9f48d3b57d87ed6b0ed13df1921236'
|
4
|
+
data.tar.gz: 5d8bf785d75f7e7ce8f3c3f5139ee1da836132c0a044af1f80fa0ad63d144514
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75ec27779ae41243a4fd31905cb0e5ad240dcccfff11be14ef30b32b2cd67147e3244f2ae1ee44035babbb13320d378eb2ce7f5260fb401c9d389198cb3f1228
|
7
|
+
data.tar.gz: 0b2dc4eb561c51f5fe3f300c0a051a7b7d31793fc7eb302bf5894c1522547fe28fd8faf570df2be9713189fe6ad3ea30c889be0e2b51a2731fb29c88a6016f8f
|
data/.github/workflows/ci.yml
CHANGED
@@ -18,31 +18,34 @@ jobs:
|
|
18
18
|
fail-fast: false
|
19
19
|
matrix:
|
20
20
|
os:
|
21
|
+
- ubuntu-latest
|
21
22
|
- ubuntu-20.04
|
22
|
-
- ubuntu-18.04
|
23
23
|
ruby:
|
24
|
+
- 3.3
|
25
|
+
- 3.2
|
26
|
+
- 3.1
|
24
27
|
- "3.0"
|
25
28
|
- 2.7
|
26
29
|
- 2.6
|
27
30
|
include:
|
28
|
-
- { os: ubuntu-
|
31
|
+
- { os: ubuntu-latest , ruby: debug }
|
29
32
|
|
30
33
|
steps:
|
31
|
-
- uses: actions/checkout@
|
34
|
+
- uses: actions/checkout@v4
|
32
35
|
|
33
36
|
- name: Set up Ruby
|
34
37
|
uses: ruby/setup-ruby@v1
|
35
38
|
with:
|
36
39
|
ruby-version: ${{ matrix.ruby }}
|
37
40
|
|
38
|
-
- uses: actions/cache@
|
41
|
+
- uses: actions/cache@v4
|
39
42
|
if: runner.os == 'Linux'
|
40
43
|
with:
|
41
44
|
path: ~/.cache/red-datasets
|
42
45
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
43
46
|
restore-keys: ${{ runner.os }}-
|
44
47
|
|
45
|
-
- uses: actions/cache@
|
48
|
+
- uses: actions/cache@v4
|
46
49
|
if: |
|
47
50
|
runner.os == 'macOS'
|
48
51
|
with:
|
@@ -51,7 +54,7 @@ jobs:
|
|
51
54
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
52
55
|
restore-keys: ${{ runner.os }}-
|
53
56
|
|
54
|
-
- uses: actions/cache@
|
57
|
+
- uses: actions/cache@v4
|
55
58
|
if: |
|
56
59
|
runner.os == 'Windows'
|
57
60
|
with:
|
@@ -63,6 +66,7 @@ jobs:
|
|
63
66
|
- run: sudo apt install build-essential libsqlite3-dev
|
64
67
|
|
65
68
|
- run: npm install playwright@latest
|
69
|
+
- run: ./node_modules/.bin/playwright install
|
66
70
|
|
67
71
|
- run: bundle install --jobs 4 --retry 3 --without "nmatrix python"
|
68
72
|
|
@@ -24,21 +24,21 @@ jobs:
|
|
24
24
|
- 2.6
|
25
25
|
|
26
26
|
steps:
|
27
|
-
- uses: actions/checkout@
|
27
|
+
- uses: actions/checkout@v4
|
28
28
|
|
29
29
|
- name: Set up Ruby
|
30
30
|
uses: ruby/setup-ruby@v1
|
31
31
|
with:
|
32
32
|
ruby-version: ${{ matrix.ruby }}
|
33
33
|
|
34
|
-
- uses: actions/cache@
|
34
|
+
- uses: actions/cache@v4
|
35
35
|
if: runner.os == 'Linux'
|
36
36
|
with:
|
37
37
|
path: ~/.cache/red-datasets
|
38
38
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
39
39
|
restore-keys: ${{ runner.os }}-
|
40
40
|
|
41
|
-
- uses: actions/cache@
|
41
|
+
- uses: actions/cache@v4
|
42
42
|
if: |
|
43
43
|
runner.os == 'macOS'
|
44
44
|
with:
|
@@ -47,7 +47,7 @@ jobs:
|
|
47
47
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
48
48
|
restore-keys: ${{ runner.os }}-
|
49
49
|
|
50
|
-
- uses: actions/cache@
|
50
|
+
- uses: actions/cache@v4
|
51
51
|
if: |
|
52
52
|
runner.os == 'Windows'
|
53
53
|
with:
|
@@ -59,6 +59,7 @@ jobs:
|
|
59
59
|
- run: sudo apt install build-essential libsqlite3-dev
|
60
60
|
|
61
61
|
- run: npm install playwright@latest
|
62
|
+
- run: ./node_modules/.bin/playwright install
|
62
63
|
|
63
64
|
- run: bundle install --jobs 4 --retry 3 --without "numo python"
|
64
65
|
|
@@ -19,22 +19,21 @@ jobs:
|
|
19
19
|
fail-fast: false
|
20
20
|
matrix:
|
21
21
|
os:
|
22
|
+
- ubuntu-latest
|
22
23
|
- ubuntu-20.04
|
23
|
-
- ubuntu-18.04
|
24
24
|
ruby:
|
25
|
-
-
|
26
|
-
- 2
|
27
|
-
-
|
25
|
+
- 3.3
|
26
|
+
- 3.2
|
27
|
+
- 3.1
|
28
28
|
python:
|
29
29
|
- 3.x
|
30
|
-
- 2.x
|
31
30
|
python_architecture:
|
32
31
|
- x64
|
33
32
|
include:
|
34
|
-
- { os: ubuntu-
|
33
|
+
- { os: ubuntu-latest , ruby: debug , python: 3.x , python_architecture: x64 }
|
35
34
|
|
36
35
|
steps:
|
37
|
-
- uses: actions/checkout@
|
36
|
+
- uses: actions/checkout@v4
|
38
37
|
|
39
38
|
- name: Setup Ruby
|
40
39
|
uses: ruby/setup-ruby@v1
|
@@ -42,19 +41,19 @@ jobs:
|
|
42
41
|
ruby-version: ${{ matrix.ruby }}
|
43
42
|
|
44
43
|
- name: Setup Python
|
45
|
-
uses: actions/setup-python@
|
44
|
+
uses: actions/setup-python@v5
|
46
45
|
with:
|
47
46
|
python-version: ${{ matrix.python }}
|
48
47
|
architecture: ${{ matrix.python_architecture }}
|
49
48
|
|
50
|
-
- uses: actions/cache@
|
49
|
+
- uses: actions/cache@v4
|
51
50
|
if: runner.os == 'Linux'
|
52
51
|
with:
|
53
52
|
path: ~/.cache/red-datasets
|
54
53
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
55
54
|
restore-keys: ${{ runner.os }}-
|
56
55
|
|
57
|
-
- uses: actions/cache@
|
56
|
+
- uses: actions/cache@v4
|
58
57
|
if: |
|
59
58
|
runner.os == 'macOS'
|
60
59
|
with:
|
@@ -63,7 +62,7 @@ jobs:
|
|
63
62
|
key: ${{ runner.os }}-${{ hashFiles('lib/**') }}
|
64
63
|
restore-keys: ${{ runner.os }}-
|
65
64
|
|
66
|
-
- uses: actions/cache@
|
65
|
+
- uses: actions/cache@v4
|
67
66
|
if: |
|
68
67
|
runner.os == 'Windows'
|
69
68
|
with:
|
@@ -75,6 +74,7 @@ jobs:
|
|
75
74
|
- run: sudo apt install build-essential libsqlite3-dev
|
76
75
|
|
77
76
|
- run: npm install playwright@latest
|
77
|
+
- run: ./node_modules/.bin/playwright install
|
78
78
|
|
79
79
|
- run: pip install --user matplotlib pandas
|
80
80
|
|
data/Gemfile
CHANGED
@@ -5,6 +5,13 @@ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
|
5
5
|
# Specify your gem's dependencies in charty.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
+
group :activerecord do
|
9
|
+
gem "activerecord"
|
10
|
+
# This must be synchronized with `gem "sqlite", "..."` in
|
11
|
+
# lib/active_record/connection_adapters/sqlite3_adapter.rb.
|
12
|
+
gem "sqlite3", "~> 1.4"
|
13
|
+
end
|
14
|
+
|
8
15
|
group :cruby do
|
9
16
|
gem "enumerable-statistics"
|
10
17
|
end
|
data/charty.gemspec
CHANGED
@@ -39,8 +39,6 @@ Gem::Specification.new do |spec|
|
|
39
39
|
spec.add_development_dependency "test-unit"
|
40
40
|
spec.add_development_dependency "daru"
|
41
41
|
spec.add_development_dependency "matrix" # need for daru on Ruby > 3.0
|
42
|
-
spec.add_development_dependency "activerecord"
|
43
|
-
spec.add_development_dependency "sqlite3"
|
44
42
|
spec.add_development_dependency "iruby", ">= 0.7.0"
|
45
43
|
spec.add_development_dependency "csv"
|
46
44
|
end
|
@@ -209,8 +209,11 @@ module Charty
|
|
209
209
|
observations = sub_data[data_variable].drop_na.to_a
|
210
210
|
params = {}
|
211
211
|
params[:weights] = sub_data[:weights].to_a if sub_data.column?(:weights)
|
212
|
-
|
213
|
-
|
212
|
+
hist = if common_bin_edges
|
213
|
+
Statistics.histogram(observations, edges: common_bin_edges, **params)
|
214
|
+
else
|
215
|
+
Statistics.histogram(observations, bins, **params)
|
216
|
+
end
|
214
217
|
|
215
218
|
name = sub_vars[:color]
|
216
219
|
backend.univariate_histogram(hist, name, data_variable, stat,
|
@@ -90,13 +90,14 @@ module Charty
|
|
90
90
|
end
|
91
91
|
|
92
92
|
def []=(key, values)
|
93
|
+
all_slice = PyCall::Slice.new(nil)
|
93
94
|
case values
|
94
95
|
when Charty::Vector
|
95
96
|
case values.adapter
|
96
97
|
when Charty::VectorAdapters::PandasSeriesAdapter
|
97
|
-
@data[key] = values.adapter.data
|
98
|
+
@data.loc[all_slice, key] = values.adapter.data
|
98
99
|
else
|
99
|
-
@data[key] = values.to_a
|
100
|
+
@data.loc[all_slice, key] = values.to_a
|
100
101
|
end
|
101
102
|
else
|
102
103
|
orig_values = values
|
@@ -104,7 +105,7 @@ module Charty
|
|
104
105
|
if values.nil?
|
105
106
|
raise ArgumentError, "`values` must be convertible to Array"
|
106
107
|
end
|
107
|
-
@data[key] = values
|
108
|
+
@data.loc[all_slice, key] = values
|
108
109
|
end
|
109
110
|
return values
|
110
111
|
end
|
@@ -203,6 +204,17 @@ module Charty
|
|
203
204
|
end
|
204
205
|
|
205
206
|
def [](key)
|
207
|
+
key = case key
|
208
|
+
when PyCall::Tuple
|
209
|
+
key
|
210
|
+
else
|
211
|
+
key = Array(key)
|
212
|
+
if key.length == 1 && key[0].is_a?(Integer)
|
213
|
+
key[0]
|
214
|
+
else
|
215
|
+
PyCall::Tuple.new(*key)
|
216
|
+
end
|
217
|
+
end
|
206
218
|
Charty::Table.new(@groupby.get_group(key))
|
207
219
|
end
|
208
220
|
end
|
data/lib/charty/version.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: charty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- youchan
|
8
8
|
- mrkn
|
9
9
|
- 284km
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2024-05-23 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: red-colors
|
@@ -166,34 +166,6 @@ dependencies:
|
|
166
166
|
- - ">="
|
167
167
|
- !ruby/object:Gem::Version
|
168
168
|
version: '0'
|
169
|
-
- !ruby/object:Gem::Dependency
|
170
|
-
name: activerecord
|
171
|
-
requirement: !ruby/object:Gem::Requirement
|
172
|
-
requirements:
|
173
|
-
- - ">="
|
174
|
-
- !ruby/object:Gem::Version
|
175
|
-
version: '0'
|
176
|
-
type: :development
|
177
|
-
prerelease: false
|
178
|
-
version_requirements: !ruby/object:Gem::Requirement
|
179
|
-
requirements:
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: '0'
|
183
|
-
- !ruby/object:Gem::Dependency
|
184
|
-
name: sqlite3
|
185
|
-
requirement: !ruby/object:Gem::Requirement
|
186
|
-
requirements:
|
187
|
-
- - ">="
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: '0'
|
190
|
-
type: :development
|
191
|
-
prerelease: false
|
192
|
-
version_requirements: !ruby/object:Gem::Requirement
|
193
|
-
requirements:
|
194
|
-
- - ">="
|
195
|
-
- !ruby/object:Gem::Version
|
196
|
-
version: '0'
|
197
169
|
- !ruby/object:Gem::Dependency
|
198
170
|
name: iruby
|
199
171
|
requirement: !ruby/object:Gem::Requirement
|
@@ -231,6 +203,7 @@ executables: []
|
|
231
203
|
extensions: []
|
232
204
|
extra_rdoc_files: []
|
233
205
|
files:
|
206
|
+
- ".github/dependabot.yml"
|
234
207
|
- ".github/workflows/ci.yml"
|
235
208
|
- ".github/workflows/nmatrix.yml"
|
236
209
|
- ".github/workflows/pycall.yml"
|
@@ -360,7 +333,7 @@ homepage: https://github.com/red-data-tools/charty
|
|
360
333
|
licenses:
|
361
334
|
- MIT
|
362
335
|
metadata: {}
|
363
|
-
post_install_message:
|
336
|
+
post_install_message:
|
364
337
|
rdoc_options: []
|
365
338
|
require_paths:
|
366
339
|
- lib
|
@@ -375,8 +348,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
375
348
|
- !ruby/object:Gem::Version
|
376
349
|
version: '0'
|
377
350
|
requirements: []
|
378
|
-
rubygems_version: 3.
|
379
|
-
signing_key:
|
351
|
+
rubygems_version: 3.5.10
|
352
|
+
signing_key:
|
380
353
|
specification_version: 4
|
381
354
|
summary: Visualizing your data in a simple way.
|
382
355
|
test_files: []
|