ianmcook commented on a change in pull request #10014: URL: https://github.com/apache/arrow/pull/10014#discussion_r612611031
########## File path: r/README.md ########## @@ -22,232 +22,225 @@ access to Arrow memory and messages. Install the latest release of `arrow` from CRAN with -```r +``` r install.packages("arrow") ``` Conda users can install `arrow` from conda-forge with -``` -conda install -c conda-forge --strict-channel-priority r-arrow -``` + conda install -c conda-forge --strict-channel-priority r-arrow Installing a released version of the `arrow` package requires no additional system dependencies. For macOS and Windows, CRAN hosts binary packages that contain the Arrow C++ library. On Linux, source package installation will also build necessary C++ dependencies. For a faster, -more complete installation, set the environment variable `NOT_CRAN=true`. -See `vignette("install", package = "arrow")` for details. +more complete installation, set the environment variable +`NOT_CRAN=true`. See `vignette("install", package = "arrow")` for +details. ## Installing a development version -Development versions of the package (binary and source) are built daily and hosted at -<https://arrow-r-nightly.s3.amazonaws.com>. To install from there: +Development versions of the package (binary and source) are built +nightly and hosted at <https://arrow-r-nightly.s3.amazonaws.com>. To +install from there: ``` r install.packages("arrow", repos = "https://arrow-r-nightly.s3.amazonaws.com") ``` -Or +Or to switch to the latest nightly development version: -```r +``` r arrow::install_arrow(nightly = TRUE) ``` -Conda users can install `arrow` nightlies from our nightlies channel using: +Conda users can install `arrow` nightly builds with -``` -conda install -c arrow-nightlies -c conda-forge --strict-channel-priority r-arrow -``` + conda install -c arrow-nightlies -c conda-forge --strict-channel-priority r-arrow -These daily package builds are not official Apache releases and are not -recommended for production use. They may be useful for testing bug fixes -and new features under active development. +These nightly package builds are not official Apache releases and are +not recommended for production use. They may be useful for testing bug +fixes and new features under active development. -## Developing +## Apache Arrow metadata and data objects -Windows and macOS users who wish to contribute to the R package and -don’t need to alter the Arrow C++ library may be able to obtain a -recent version of the library without building from source. On macOS, -you may install the C++ library using [Homebrew](https://brew.sh/): +Arrow defines the following classes for representing metadata: -``` shell -# For the released version: -brew install apache-arrow -# Or for a development version, you can try: -brew install apache-arrow --HEAD -``` +| Class | Description | How to create an instance | +|------------|--------------------------------------------------|----------------------------------| +| `DataType` | attribute controlling how values are represented | functions in `help("data-type")` | +| `Field` | string name and a `DataType` | `field(name, type)` | +| `Schema` | list of `Field`s | `schema(...)` | -On Windows, you can download a .zip file with the arrow dependencies from the -[nightly repository](https://arrow-r-nightly.s3.amazonaws.com/libarrow/bin/windows/), -and then set the `RWINLIB_LOCAL` environment variable to point to that -zip file before installing the `arrow` R package. Version numbers in that -repository correspond to dates, and you will likely want the most recent. +Arrow defines the following classes for representing 0-dimensional +(scalar), 1-dimensional (vector), and 2-dimensional (tabular/data +frame-like) data: Review comment: Ok, gotcha. Based on this and your other comment above, I think it makes sense to add a "Why use this package?" section before the "Installation" section that will establish the framing to put the details here in more of a clearer context. I could also modify the content here to focus chiefly on the `Table` class and move these tables into a separate vignette, perhaps titled "Apache Arrow object hierarchy" (because it's valuable to have this content presented _somewhere_ in a documentation style as opposed to a narrative style, even if it's not here in the readme). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org