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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ab62fdc14b2c1b6410bea925353cdb6fbd7b25d4bf81e007dad99aa5f0dd1976
4
- data.tar.gz: d61cced997d48a2b5c26e2867a96dfc53be97e5c6c0eb85f323a11d1257a2ef6
3
+ metadata.gz: '06027692f65a7836ddd08d860a3801a0ec9f48d3b57d87ed6b0ed13df1921236'
4
+ data.tar.gz: 5d8bf785d75f7e7ce8f3c3f5139ee1da836132c0a044af1f80fa0ad63d144514
5
5
  SHA512:
6
- metadata.gz: 198e8dc2bf17033af0b124a1fbca82d2c29efde9bdaf55fb9bc57bc1184e66e0f7bd8268edfb4c13d90b46f20d955f65760db168010c5ec886c30f53f59db45d
7
- data.tar.gz: 605dea2aab3c7633a1a3ef3351cc48f0e1f507da4993f529286c0ef0cf2b69cae7b666d22b4e4a7a993f69a9177ed441766983e6e4e9cd2e909f17f1ebbeff49
6
+ metadata.gz: 75ec27779ae41243a4fd31905cb0e5ad240dcccfff11be14ef30b32b2cd67147e3244f2ae1ee44035babbb13320d378eb2ce7f5260fb401c9d389198cb3f1228
7
+ data.tar.gz: 0b2dc4eb561c51f5fe3f300c0a051a7b7d31793fc7eb302bf5894c1522547fe28fd8faf570df2be9713189fe6ad3ea30c889be0e2b51a2731fb29c88a6016f8f
@@ -0,0 +1,6 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "github-actions"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "daily"
@@ -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-20.04 , ruby: head }
31
+ - { os: ubuntu-latest , ruby: debug }
29
32
 
30
33
  steps:
31
- - uses: actions/checkout@v2
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@v2
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@v2
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@v2
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@v2
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@v2
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@v2
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@v2
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
- - "3.0"
26
- - 2.7
27
- - 2.6
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-20.04 , ruby: head , python: 3.x , python_architecture: x64 }
33
+ - { os: ubuntu-latest , ruby: debug , python: 3.x , python_architecture: x64 }
35
34
 
36
35
  steps:
37
- - uses: actions/checkout@v2
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@v2
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@v2
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@v2
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@v2
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
- params[:edges] = common_bin_edges if common_bin_edges
213
- hist = Statistics.histogram(observations, bins, **params)
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
@@ -1,5 +1,5 @@
1
1
  module Charty
2
- VERSION = "0.2.12"
2
+ VERSION = "0.2.13"
3
3
 
4
4
  module Version
5
5
  numbers, TAG = VERSION.split("-")
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.12
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: 2022-10-02 00:00:00.000000000 Z
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.3.13
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: []