red_amber 0.5.0 → 0.5.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8fc1df498792b2b30d63a47a783cda67ccb8cea09e933aa8cba5d317277f500
4
- data.tar.gz: 83e54f0fb6070a6b3c4301d0cd3e5356f1ca4e09bdae200f4fc7694a2e3e7daa
3
+ metadata.gz: 7adbafa00c63857e5010442d39564d631ff4d7cac88bcc5dfdb520213f9c1606
4
+ data.tar.gz: 1dad23038eb977b2db44b2a09f648863646cdcb34d21d53e5ac5b582f9a00648
5
5
  SHA512:
6
- metadata.gz: 440dd984e88afd4bee7860a0f5b03c54094b8536de6acf70b770d3f473c1ee93608a5565d62b5bd60d5e8e3ba8c09675e136373a15daef77bfc455c7c5a4a7cc
7
- data.tar.gz: '09f27ff2a0c3804b345c4b5c581013135544fed098265e9bca274e34de52791b9a36525df22b17fe80093f14249c195496366e16079c25e70cf660070dc66858'
6
+ metadata.gz: 59a7154c1c18f9020628524bd66fc4c82913fadea2b413d47231c39980a62f1883397215a494cfedbb8b2e258cea4a7310ffda72d8c2030859c0bc2e132d8d92
7
+ data.tar.gz: 41b4ac8629511e16269d7642d4d129a1260b2de22b00335bbe2c2867a3d65c3ce7d9d4940cb474efa33d1839436e7a941f4c0c5e429f8f74eb1a309c68533a91
@@ -0,0 +1,75 @@
1
+ # [Choice] debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
2
+ ARG VARIANT=ubuntu-22.04
3
+
4
+ FROM mcr.microsoft.com/devcontainers/base:${VARIANT}
5
+
6
+ # Set env for tracking that we're running in a devcontainer
7
+ ENV DEVCONTAINER=true
8
+
9
+ RUN set -e; \
10
+ apt-get update; \
11
+ apt-get install -y \
12
+ # To build Ruby
13
+ autoconf \
14
+ bison \
15
+ rustc \
16
+ libssl-dev \
17
+ libyaml-dev \
18
+ libreadline6-dev \
19
+ zlib1g-dev \
20
+ libgmp-dev \
21
+ libncurses5-dev \
22
+ libffi-dev \
23
+ libgdbm6 \
24
+ libgdbm-dev \
25
+ libdb-dev \
26
+ uuid-dev \
27
+ # To install IRuby
28
+ libczmq-dev \
29
+ libzmq3-dev
30
+
31
+ # Install Apache Arrow
32
+ ARG APACHE_ARROW_VERSION=13.0.0-1
33
+ ARG arrow_deb_tmp=/tmp/apache-arrow-apt-source-latest.deb
34
+ ARG arrow_apt_source=https://apache.jfrog.io/artifactory/arrow/ubuntu/pool/jammy/main/a/apache-arrow-apt-source/apache-arrow-apt-source_${APACHE_ARROW_VERSION}_all.deb
35
+ RUN set -e; \
36
+ apt-get update; \
37
+ curl -sfSL -o ${arrow_deb_tmp} ${arrow_apt_source}; \
38
+ apt-get install -y --no-install-recommends ${arrow_deb_tmp}; \
39
+ rm -f ${arrow_deb_tmp}; \
40
+ apt-get update; \
41
+ apt-get install -y \
42
+ libarrow-dev \
43
+ libarrow-glib-dev \
44
+ libarrow-dataset-dev \
45
+ libarrow-flight-dev \
46
+ libparquet-dev \
47
+ libparquet-glib-dev \
48
+ libgandiva-dev \
49
+ libgandiva-glib-dev
50
+
51
+ # This Dockerfile adds a non-root user with sudo access. Use the "remoteUser"
52
+ ARG USERNAME=vscode
53
+ ARG USER_UID=1000
54
+ ARG USER_GID=$USER_UID
55
+
56
+ USER $USERNAME
57
+
58
+ # Install rbenv
59
+ ARG RBENV_RUBY=3.2.2
60
+ RUN set -e; \
61
+ git clone https://github.com/rbenv/rbenv.git $HOME/.rbenv; \
62
+ echo 'eval "$($HOME/.rbenv/bin/rbenv init -)"' >> $HOME/.profile; \
63
+ echo 'eval "$($HOME/.rbenv/bin/rbenv init -)"' >> $HOME/.bashrc; \
64
+ git clone https://github.com/rbenv/ruby-build.git $HOME/.rbenv/plugins/ruby-build
65
+
66
+ # Install Ruby
67
+ # Append `RUBY_CONFIGURE_OPTS=--disable-install-doc ` before rbenv to disable documents
68
+ RUN set -e; \
69
+ $HOME/.rbenv/bin/rbenv install --verbose $RBENV_RUBY; \
70
+ $HOME/.rbenv/bin/rbenv global $RBENV_RUBY
71
+
72
+ # Install IRuby
73
+ RUN set -e; \
74
+ $HOME/.rbenv/bin/rbenv exec gem install iruby; \
75
+ $HOME/.rbenv/bin/rbenv exec iruby register --force
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "RedAmber",
3
+ "build": {
4
+ "dockerfile": "Dockerfile",
5
+ "cacheFrom": "ghcr.io/red-data-tools/red-amber"
6
+ },
7
+ "features": {
8
+ "ghcr.io/devcontainers/features/python:1": {
9
+ "installTools": true,
10
+ "installJupyterlab": true,
11
+ "version": "3.11"
12
+ },
13
+ // We don't use Ruby feature here
14
+ // "ghcr.io/devcontainers/features/ruby:1": {},
15
+ "ghcr.io/rocker-org/devcontainer-features/quarto-cli:1": {
16
+ "installTinyTex": true,
17
+ "version": "latest"
18
+ },
19
+ "ghcr.io/devcontainers/features/github-cli:1": {}
20
+ },
21
+ // VS Code extentions for Ruby
22
+ "customizations": {
23
+ "vscode": {
24
+ "extensions": [
25
+ "rebornix.Ruby",
26
+ "shopify.ruby-lsp"
27
+ ]
28
+ }
29
+ },
30
+ // Use init process to deal with zombie process
31
+ "init": true,
32
+ // set TZ from local machine's environment defaulting to 'UTC' if not supplied.
33
+ "containerEnv": {
34
+ "RUBYLIB": "/workspaces/red_amber/lib",
35
+ "TZ": "${localEnv:TZ:UTC}"
36
+ },
37
+ "onCreateCommand": ".devcontainer/onCreateCommand.sh"
38
+ }
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env bash
2
+ set -e
3
+
4
+ # Explicitly set ownership of /workspaces to vscode:vscode
5
+ # Because recent runner has uid=1001(runner), gid=999(docker)
6
+ sudo chown -R $(id -un):$(id -un) /workspaces
7
+
8
+ # Install language and set timezone
9
+ # You should change here if you use another
10
+ sudo apt-get update
11
+ sudo apt-get install -y language-pack-ja
12
+
13
+ echo 'export LANG=ja_JP.UTF-8' >> $HOME/.bashrc
14
+ echo 'export LANG=ja_JP.UTF-8' >> $HOME/.profile
15
+ echo 'export TZ=Asia/Tokyo' >> $HOME/.bashrc
16
+ echo 'export TZ=Asia/Tokyo' >> $HOME/.profile
17
+
18
+ # Install HaranoAjiFonts
19
+ mkdir -p $HOME/.fonts
20
+ git clone https://github.com/trueroad/HaranoAjiFonts.git $HOME/.fonts/HaranoAjiFonts
21
+
22
+ # Install gems
23
+ bundle install
24
+
25
+ # Create Jupyter Notebooks
26
+ rake quarto:convert
data/.rubocop.yml CHANGED
@@ -52,7 +52,7 @@ Lint/BinaryOperatorWithIdenticalOperands:
52
52
 
53
53
  Lint/Debugger:
54
54
  Exclude:
55
- - 'docker/example'
55
+ - 'bin/example'
56
56
 
57
57
  # Need for test with empty block
58
58
  # Offense count: 1
@@ -225,7 +225,7 @@ Naming/PredicateName:
225
225
  Rubycw/Rubycw:
226
226
  Exclude:
227
227
  - 'test/**/*'
228
- - 'docker/example'
228
+ - 'bin/example'
229
229
 
230
230
  # Offense count: 16
231
231
  # This cop supports safe autocorrection (--autocorrect).
@@ -242,7 +242,7 @@ Style/SlicingWithRange:
242
242
 
243
243
  Style/MixinUsage:
244
244
  Exclude:
245
- - 'docker/example'
245
+ - 'bin/example'
246
246
 
247
247
  # Necessary to Vector < 0 element-wise comparison
248
248
  # Offense count: 5
data/CHANGELOG.md CHANGED
@@ -1,4 +1,88 @@
1
- ## [0.5.0] - 2023/05-24
1
+ ## [0.5.2] - 2023-09-01
2
+
3
+ Support Apache Arrow 13.0.0 .
4
+ This version is compatible with Arrow 12.0.0 .
5
+
6
+ - Breaking change
7
+
8
+ - Bug fixes
9
+ - Fix bundle install issue by install libyaml-devel (#280)
10
+ - Fix ownership in devcontainer ci (#280)
11
+
12
+ - New features and improvements
13
+ - Support Arrow 13.0.0 (#280)
14
+
15
+ - Documentation and Example
16
+ - Add dataframe_comparison_ja (#281)
17
+
18
+ ## [0.5.1] - 2023-08-18
19
+
20
+ Docker environment is replaced by Dev Container,
21
+ and Jupyter Notebooks will be created from qmd files.
22
+
23
+ - Breaking change
24
+
25
+ - Bug fixes
26
+ - Fix timestamp test to set TZ locally (#249)
27
+ - Fix regexp for beginning of String (#251)
28
+ - Fix loading bin/Gemfile locally in bin/jupyter script (#261)
29
+
30
+ - New features and improvements
31
+ - Support sort and null_placement options in Vector#rank (#265)
32
+ - Add Vector#find_substring method (#270)
33
+ - Add Group#one method (#274)
34
+ - Add Group#all and #any method (#274)
35
+ - Add Group#median method (#274)
36
+ - Add Group#count_uniq method (#274)
37
+ - Introduce Dev Container environment
38
+ - Introduce Devcontainer environment (#253)
39
+ - Change lifecycle script from postCreate to onCreate (#253)
40
+ - Move example to bin (#253)
41
+ - Fix Python and Ruby versions in Dev Container (#254)
42
+ - Add locale and timezone settings (#256)
43
+ - Add quarto from devcontainer feature (#259)
44
+ - Install HaranoAjiFonts as default Tex font (#259)
45
+
46
+ - Refactoring
47
+ - Rename boolean methods in VectorStringFunction (#263)
48
+ - Refine Vector#inspect to show wheather chunked or not (#267)
49
+ - Add an alias Group#count_all for #group_count (#274)
50
+
51
+ - Improve in tests/CI
52
+ - Create rake commands for Notebook convert/test (#269)
53
+ - Fix rubocop warning of forwarding arguments in assign_update (#269)
54
+ - Use rake to start example script (#269)
55
+ - Add test in Vector#rank to cover illegal rank option error (#271)
56
+ - Add bundle install to Rakefile (#276)
57
+ - Use Dockerfile to create dev container (#276)
58
+ - Save image to ghcr in ci (#276)
59
+
60
+ - Documentation and Example
61
+ - YARD
62
+ - Update Docker Environment (#245)
63
+ - Refine jupyter notebook environment (#253)
64
+ - Refine yard in Group aggregations (#274)
65
+ - Fix yard of Vector#rank (#269)
66
+ - Fix yard of Group (#269)
67
+ - Notebook
68
+ - Start source management for jupyter notebook by qmd (#259)
69
+ - Don't create ipynb if it exists (#261)
70
+ - Add Group methods (125 in total) (#269)
71
+ - Add ArrowFunction (126 in total) (#269)
72
+ - Add DataFrame#auto_cast (127 in total) (#269)
73
+ - Update required version in examples notebook (#269)
74
+ - Update examples_of_red_amber (#269)
75
+ - Update red-amber.qmd (#269)
76
+
77
+ - GitHub site
78
+ - Fix broken link in README/README.ja by Viktorius Suwandi (#262)
79
+ - Change description in gemspec (#254)
80
+ - Add documents for Dev Container (#254)
81
+
82
+ - Thanks
83
+ - Viktorius Suwandi
84
+
85
+ ## [0.5.0] - 2023-05-24
2
86
 
3
87
  - Breaking change
4
88
  - Use non keyword argument in #sub_by_value (#219)
@@ -61,7 +145,7 @@
61
145
 
62
146
  - Bug fixes
63
147
  - Fix Vector#modulo, #fdiv, #remainder (#203)
64
-
148
+
65
149
  - New features and improvements
66
150
  - Update SubFrames#take to return SubFrames (#212)
67
151
 
@@ -106,7 +190,7 @@
106
190
  - Fix Vector#rank when data is ChunkedArray (#198)
107
191
  - Fix Vector element-wise functions with nil as scalar (#198)
108
192
  - Support :force_order for all methods of join family (#199)
109
- - Supports :force_order option to force sorting after join for all #join familiy.
193
+ - Supports :force_order option to force sorting after join for all #join familiy.
110
194
  - This will valuable in some cases such as large dataframes.
111
195
  - Ensure baseframe's schema for SubFrames (#200)
112
196
 
@@ -508,11 +592,11 @@
508
592
  - Move binder support to heronshoes/docker-stacks repository.
509
593
  - Update README notebook on binder.
510
594
  - Add examples_of_RedAmber notebook on binder.
511
-
595
+
512
596
  - Start to use discussions.
513
597
 
514
598
  - Thanks
515
-
599
+
516
600
  - Kenta Murata
517
601
 
518
602
  ## [0.2.1] - 2022-09-07
@@ -561,7 +645,7 @@
561
645
  - Update Jupyter Notebook `71 examples of RedAmber`
562
646
 
563
647
  - Thanks
564
-
648
+
565
649
  - Kenta Murata
566
650
 
567
651
  ## [0.2.0] - 2022-08-15
@@ -576,7 +660,7 @@
576
660
  - Remove optional `require` for rover (#55)
577
661
  Fix DataFrame.new for argument with Rover::DataFrame.
578
662
  - Fix occasional failure in CI (#59)
579
- Sometimes the CI test fails. I added -dev dependency
663
+ Sometimes the CI test fails. I added -dev dependency
580
664
  in Arrow install by apt, not doing in bundler.
581
665
 
582
666
  - Fix calling :take in V#[] (#56)
@@ -594,7 +678,7 @@
594
678
  - Upgrade to Arrow 9.0.0 (#59)
595
679
  - Add Vector#quantile method (#59)
596
680
  Arrow::QuantileOptions has supported in Arrow GLib 9.0.0 (ARROW-16623, Thanks!)
597
-
681
+
598
682
  - Add Vector#quantiles (#62)
599
683
 
600
684
  - Add DataFrame#each_row (#56)
@@ -605,7 +689,7 @@
605
689
  - Refine DataFrame.new to use pattern match
606
690
  - Use pattern match in DataFrame#assign
607
691
  - Use pattern match in DataFrame#rename
608
-
692
+
609
693
  - Accept Array for renamer/assigner in #rename/#assign (#61)
610
694
  - Accept assigner by Arrays in DataFrame#assign
611
695
  - Accept renamer pairs by Arrays in DataFrame#rename
@@ -620,15 +704,15 @@
620
704
  - Intorduce DataFrame#to_wide method
621
705
 
622
706
  - Others
623
-
707
+
624
708
  - Add alias sort_index for array_sort_indices (#59)
625
709
  - Enable :width option in DataFrame#to_s (#62)
626
710
  - Add options to DataFrame#format_table (#62)
627
711
 
628
712
  - Update Documents
629
-
713
+
630
714
  - Add Yard doc for some methods
631
-
715
+
632
716
  - Update Jupyter notebook '61 Examples of Red Amber' (#65)
633
717
 
634
718
  ## [0.1.8] - 2022-08-04 (experimental)
@@ -691,7 +775,7 @@
691
775
  - Show nils.
692
776
  - Show data types.
693
777
  - Refine documents to use new formatter output
694
-
778
+
695
779
  - Simplify options of Vector functions (#46)
696
780
  Vector functions with options use optional argument opt in previous code.
697
781
 
@@ -703,7 +787,7 @@
703
787
  - Add methods to Group
704
788
 
705
789
  - Move parquet and rover to development dependency (#49)
706
-
790
+
707
791
  - Refine text in `DataFrame#to_iruby` (#40)
708
792
 
709
793
  - Add badges in Github site
@@ -800,7 +884,7 @@
800
884
  - Add gem and status badges in README. (#42) [Patch by kojix2]
801
885
 
802
886
  - Thanks
803
-
887
+
804
888
  - kojix2
805
889
 
806
890
  ## [0.1.5] - 2022-06-12 (experimental)
@@ -841,7 +925,7 @@
841
925
  - Change to use DataFrame#map_indices in #[]
842
926
 
843
927
  - Add rounding functions with opts (#21)
844
- - With options :mode and :n_digits
928
+ - With options :mode and :n_digits
845
929
  - :n_digits also can be specified with :multiple option in `Vector#round_to_multiple`
846
930
  - `Vector#round`
847
931
  - `Vector#ceil`
@@ -909,7 +993,7 @@
909
993
  - Add example about TDR (#4)
910
994
  - Separate README to create DataFrame and Vector documents (#12)
911
995
  - Add DataFrame model concept image to README (#12)
912
-
996
+
913
997
  - GitHub site
914
998
  - Switched to use merge on GitHub (not to push merged master) (#1)
915
999
  - Create lifetime issue #3 to show the goal of this project (#3)
@@ -934,7 +1018,7 @@
934
1018
 
935
1019
  - `Vector`
936
1020
  - Add categorization functions
937
-
1021
+
938
1022
  This is an important step to support `slice` method and NA treatment features.
939
1023
  - `is_finite`
940
1024
  - `is_inf`
data/Gemfile CHANGED
@@ -7,7 +7,7 @@ gemspec
7
7
  group :test do
8
8
  gem 'rake'
9
9
 
10
- gem 'red-parquet', '~> 12.0.0'
10
+ gem 'red-parquet', '>= 12.0.0'
11
11
  gem 'rover-df', '~> 0.3.0'
12
12
 
13
13
  gem 'rubocop'
data/README.ja.md CHANGED
@@ -4,7 +4,7 @@
4
4
  [![CI](https://github.com/heronshoes/red_amber/actions/workflows/ci.yml/badge.svg)](https://github.com/red-data-tools/red_amber/actions/workflows/ci.yml)
5
5
  [![Maintainability](https://api.codeclimate.com/v1/badges/b8a745047045d2f49daa/maintainability)](https://codeclimate.com/github/heronshoes/red_amber/maintainability)
6
6
  [![Test coverage](https://api.codeclimate.com/v1/badges/b8a745047045d2f49daa/test_coverage)](https://codeclimate.com/github/heronshoes/red_amber/test_coverage)
7
- [![Doc](https://img.shields.io/badge/docs-latest-blue)](https://heronshoes.github.io/red_amber/)
7
+ [![Doc](https://img.shields.io/badge/docs-latest-blue)](https://red-data-tools.github.io/red_amber/)
8
8
  [![Discussions](https://img.shields.io/github/discussions/heronshoes/red_amber)](https://github.com/red-data-tools/red_amber/discussions)
9
9
 
10
10
  Rubyistのためのデータフレームライブラリ.
@@ -17,29 +17,37 @@ Rubyistのためのデータフレームライブラリ.
17
17
 
18
18
  ![screenshot from jupyterlab](https://raw.githubusercontent.com/red-data-tools/red_amber/main/doc/image/screenshot.png)
19
19
 
20
+ ## 概要
21
+ * RedAmberはRubyで書かれたデータフレームライブラリです。[Apache Arrow](https://arrow.apache.org/)の列指向データフォーマットを扱うことができます。
22
+ * Rubyらしいブロックやコレクションを使って、Rubyらしい書き方でデータフレームの操作ができることを目指しています。
23
+ * このリポジトリは[開発コンテナ(Dev Container)](https://containers.dev/)をサポートしているので、RedAmberの操作が容易に[試せます](doc/Dev_Containers.ja.md)。
24
+ * [使用例が豊富なドキュメント](https://red-data-tools.github.io/red_amber/)と、127項目の主な操作例を記載したJupyter Notebookドキュメントがあります。
25
+
20
26
  ## 必要な環境
21
27
  ### Ruby
22
28
  - Ruby 3.0 以上.
23
29
 
24
30
  ### ライブラリ
25
31
  ```ruby
26
- gem 'red-arrow', '~> 12.0.0' # お使いの環境に合わせた Apache Arrow が必要です(下記のインストールを参照してください)
27
- gem 'red-parquet', '~> 12.0.0' # 必要に応じて。Parquetの入出力が必要な場合。
28
- gem 'red-datasets-arrow' # 必要に応じて。Red Datasets またはランダムサンプリングが必要な場合。
32
+ gem 'red-arrow', '>= 12.0.0' # お使いの環境に合わせた Apache Arrow が必要です
33
+ # 下記のインストールを参照してください
34
+ gem 'red-arrow-numo-narray' # 必要に応じて。Numo::NArray との連携またはランダムサンプリングが必要な場合。
35
+ gem 'red-parquet', '>= 12.0.0' # 必要に応じて。Parquet の入出力が必要な場合。
36
+ gem 'red-datasets-arrow' # 必要に応じて。Red Datasets を利用する場合。
29
37
  gem 'red-arrow-activerecord' # 必要に応じて。Active Record とのデータ交換が必要な場合。
30
- gem 'rover-df', '~> 0.3.0' # 必要に応じて。Rover::DataFrameに対する入出力が必要な場合。
38
+ gem 'rover-df', # 必要に応じて。Rover::DataFrame に対する入出力が必要な場合。
31
39
  ```
32
40
 
33
41
  ## インストール
34
42
 
35
43
  RedAmberをインストールする前に、下記のライブラリのインストールが必要です。
36
44
 
37
- - Apache Arrow (~> 12.0.0)
38
- - Apache Arrow GLib (~> 12.0.0)
39
- - Apache Parquet GLib (~> 12.0.0) # Parquetの入出力が必要な場合。
45
+ - Apache Arrow (>= 12.0.0)
46
+ - Apache Arrow GLib (>= 12.0.0)
47
+ - Apache Parquet GLib (>= 12.0.0) # Parquetの入出力が必要な場合。
40
48
 
41
49
  環境ごとの詳しいインストール方法は、 [Apache Arrow install document](https://arrow.apache.org/install/) を参照してください。
42
-
50
+
43
51
  - Ubuntuの場合の最低限必要なインストール例:
44
52
 
45
53
  ```
@@ -48,53 +56,61 @@ RedAmberをインストールする前に、下記のライブラリのインス
48
56
  wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
49
57
  sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
50
58
  sudo apt update
51
- sudo apt install -y -V libarrow-dev
52
- sudo apt install -y -V libarrow-glib-dev
59
+ sudo apt install -y -V libarrow-dev libarrow-glib-dev
53
60
  ```
54
61
 
55
62
  - Fedora 39 (Rawhide)の場合:
56
63
 
57
64
  ```
58
65
  sudo dnf update
59
- sudo dnf -y install gcc-c++ libarrow-devel libarrow-glib-devel ruby-devel
66
+ sudo dnf -y install gcc-c++ libarrow-devel libarrow-glib-devel ruby-devel libyaml-devel
60
67
  ```
61
68
 
62
69
  - macOS の場合は、Homebrewを使用する:
63
70
 
64
71
  ```
65
- brew install apache-arrow
66
- brew install apache-arrow-glib
72
+ brew install apache-arrow apache-arrow-glib
67
73
  ```
68
74
 
69
75
  Apache Arrowがインストールできたら、下記の行をGemfileに追加してください:
70
76
 
71
77
  ```ruby
72
- gem 'red-arrow', '~> 12.0.0' # お使いの環境に合わせた Apache Arrow が必要です(下記のインストールを参照してください)
78
+ gem 'red-arrow', '>= 12.0.0'
73
79
  gem 'red_amber'
74
- gem 'red-parquet', '~> 12.0.0' # 必要に応じて。Parquetの入出力が必要な場合。
75
- gem 'red-datasets-arrow' # 必要に応じて。Red Datasets またはランダムサンプリングが必要な場合。
76
- gem 'red-arrow-numo-narray' # 必要に応じて。Numo::NArrayとの連携が必要な場合
80
+ gem 'red-arrow-numo-narray' # 必要に応じて。Numo::NArray との連携またはランダムサンプリングが必要な場合。
81
+ gem 'red-parquet', '>= 12.0.0' # 必要に応じて。Parquetの入出力が必要な場合。
82
+ gem 'red-datasets-arrow' # 必要に応じて。Red Datasets を利用する場合。
77
83
  gem 'red-arrow-activerecord' # 必要に応じて。Active Record とのデータ交換が必要な場合。
78
- gem 'rover-df', '~> 0.3.0' # 必要に応じて。Rover::DataFrameに対する入出力が必要な場合。
84
+ gem 'rover-df', # 必要に応じて。Rover::DataFrameに対する入出力が必要な場合。
79
85
  ```
80
86
 
81
87
  `bundle install`とするか、または `gem install red_amber`としてインストールしてください。
82
88
 
89
+ ## Development Containersによる開発環境
90
+
91
+ このリポジトリは [開発コンテナ(Dev Container)](https://containers.dev/)をサポートしています。
92
+ これを使うと、ローカルの環境を変更することなく、RedAmberに必要なツール一式を含んだ環境を準備することができます。この環境には、Ruby、Apache Arrow、RedAmberのソースツリー、GitHub CI、サンプルデータセット、IRubyカーネルを含んだJupyter Labなどが含まれています。
93
+
94
+ RedAmber用のDev Containerは、`.devcontainer` ディレクトリに必要な設定が書かれています。
95
+ 使用例は、[開発コンテナ(Development Containers)の利用](doc/Dev_Containers.ja.md)をご参照ください。
96
+
83
97
  ## Docker イメージと Jupyter Notebook
84
98
 
99
+ (注:将来削除される可能性があります。上記のDev Containerをご活用ください。)
100
+
85
101
  このリポジトリの`docker` フォルダーから Docker コンテナ環境を生成できます。リポジトリをクローンしてから、dockerフォルダーにある [readme](docker/readme.md) を参照してください。その環境では `docker/notebook` フォルダーにある Jupyter Notebookイメージを試用できます。
86
102
 
87
- このREADMEの内容をネットワーク上のJupyter Notebookでインタラクティブに試用することも出来ます。 [Binder](https://mybinder.org/v2/gh/heronshoes/docker-stacks/RedAmber-binder?filepath=red-amber.ipynb).
103
+ このREADMEの内容をネットワーク上のJupyter Notebookでインタラクティブに試用することも出来ます。 [Binder](https://mybinder.org/v2/gh/heronshoes/docker-stacks/RedAmber-binder?filepath=red-amber.ipynb).
88
104
  [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/heronshoes/docker-stacks/RedAmber-binder?filepath=red-amber.ipynb)
89
105
 
90
106
  Jupyter Notebookの環境を含めた他の多くのデータ処理用のライブラリーとともにRedAmberもパッケージングされたDocker Imageとして、[RubyData Docker Stacks](https://github.com/RubyData/docker-stacks) が利用できます(Thanks to Kenta Murata).
91
107
 
92
108
  ## 他のデータフレームライブラリとの比較表
93
109
 
94
- RedAmberの基本的な機能をPython
110
+ RedAmberの基本的な機能をPython
95
111
  [pandas](https://pandas.pydata.org/) や
96
112
  R [Tidyverse](https://www.tidyverse.org/) や
97
- Julia [Dataframes](https://dataframes.juliadata.org/stable/) と比較した表は [DataFrame_Comparison.md](doc/DataFrame_Comparison.md) にあります(Thanks to Benson Muite).
113
+ Julia [DataFrames](https://dataframes.juliadata.org/stable/) と比較した表は [DataFrame_Comparison_ja.md](doc/DataFrame_Comparison_ja.md) にあります(Thanks to Benson Muite).
98
114
 
99
115
  ## `RedAmber`のデータフレーム
100
116
 
@@ -211,21 +227,23 @@ starwars
211
227
  より詳しいデータフレームの使用例については、[DataFrame.md](doc/DataFrame.md) をご参照ください。
212
228
 
213
229
 
214
- ### 1次元のデータを保持する `Vector`
230
+ ### 1次元のデータを保持する `Vector`
215
231
 
216
232
  クラス`RedAmber::Vector` はデータフレームの中の列方向に格納された1次元のデータ列を保持します.
217
233
 
218
234
  より詳しい使用例については [Vector.md](doc/Vector.md) をご参照ください。
219
235
 
220
- ## Jupyter notebook
221
236
 
222
- Jupyter Notebook形式の使用例として、[Examples of Red Amber](https://github.com/heronshoes/docker-stacks/blob/RedAmber-binder/binder/examples_of_red_amber.ipynb)
223
- ([raw file](https://raw.githubusercontent.com/heronshoes/docker-stacks/RedAmber-binder/binder/examples_of_red_amber.ipynb)) があります。データのロードから各種のデータ処理まで100以上の使用例を集めています。[Binder](https://mybinder.org/v2/gh/heronshoes/docker-stacks/RedAmber-binder?filepath=examples_of_red_amber.ipynb).
224
- [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/heronshoes/docker-stacks/RedAmber-binder?filepath=examples_of_red_amber.ipynb)で試すこともできます。
237
+ ## Jupyter Notebook
225
238
 
239
+ このリポジトリでは [Quarto](https://quarto.org/) を使って、操作例を載せたJupyter Notebookのソースはqmd形式で保存し、gitの管理下に置いています。Notebookの生成は開発コンテナを使うと便利です。詳しくは[開発コンテナ(Development Containers)の利用](doc/Dev_Containers.ja.md)を利用して下さい。
226
240
 
227
241
  ## 開発
228
242
 
243
+ Dev Containersを利用してコンテナ上に開発環境を作成する方法がお勧めです。[開発コンテナ(Development Containers)の利用例](doc/Dev_Containers.ja.md)を参考にしてください。
244
+
245
+ または、ローカル環境に必要なライブラリをインストールした上で、下記を実行するとテストが走ります。
246
+
229
247
  ```shell
230
248
  git clone https://github.com/red-data-tools/red_amber.git
231
249
  cd red_amber
@@ -233,19 +251,20 @@ bundle install
233
251
  bundle exec rake test
234
252
  ```
235
253
 
236
- rake testは必須ですが、rake rubocopをパスすることはコントリビュートの際に必須ではありません。このプロジェクトではコードの書き方の好みを尊重します。ただしマージの際に書き方を統一することがあります。
254
+ RedAmberの開発では、`rake test` は必須ですが、`rake rubocop` をパスすることはコントリビュートの際に必須ではありません。このプロジェクトではコードの書き方の好みを尊重します。ただしマージの際に書き方を統一させていただくことがあります。
237
255
 
238
256
  ## コミュニティ
239
257
 
240
258
  このプロジェクトを支援して頂けると嬉しいです。支援の方法はいくつかあります。
241
259
 
242
- - [discussions](https://github.com/heronshoes/red_amber/discussions)で話をする [![Discussions](https://img.shields.io/github/discussions/heronshoes/red_amber)](https://github.com/red-data-tools/red_amber/discussions)
243
- - Q and Aや使用方法、豆知識などを見る。
244
- - 疑問に思っていることを質問する。
260
+ - [discussions](https://github.com/heronshoes/red_amber/discussions)でお話ししましょう! [![Discussions](https://img.shields.io/github/discussions/heronshoes/red_amber)](https://github.com/red-data-tools/red_amber/discussions)
261
+ - Q and Aや使用方法、豆知識などを見流ことができます。
262
+ - 疑問に思っていることを質問できます。
245
263
  - 新しいアイデアを共有する。アイデアはdiscussionからissueに昇格させて育てていくこともあります。漠然としたアイデアでもdiscussionから始めて大きくしていきましょう。
246
264
  - [バグ報告や新しい機能の提案](https://github.com/red-data-tools/red_amber/issues)
247
265
  - バグの修正や[プルリクエスト](https://github.com/red-data-tools/red_amber/pulls)
248
- - ドキュメントを修正したり、不明確なところを直したり、新しく追加する
266
+ - ドキュメントを修正したり、不明確なところを直したり、新しく追加しましょう。
267
+ 皆さんのご参加をお待ちしています。
249
268
 
250
269
  ## License
251
270