Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-37210: [Docs][MATLAB] Update MATLAB README.md to mention support for new MATLAB APIs (e.g. RecordBatch, Field, Schema, etc.) #37215

Merged
merged 13 commits into from
Aug 17, 2023

Conversation

kevingurney
Copy link
Member

@kevingurney kevingurney commented Aug 16, 2023

Rationale for this change

Over the last few months, a number of new user-facing APIs have been added or changed in the MATLAB Interface.

Examples:

Construction Functions

  • arrow.array
  • arrow.field
  • arrow.schema
  • arrow.recordbatch
  • arrow.boolean, arrow.string, arrow.timestamp, etc. (type construction functions)

Classes

  • arrow.type.Field
  • arrow.tabular.Schema
  • arrow.tabular.RecordBatch
  • arrow.array.StringArray
  • arrow.array.TimestampArray

Indexing Methods

  • arrow.tabular.Schema.field(i)
  • arrow.tabular.RecordBatch.column(i)

Static Construction Methods

  • arrow.tabular.RecordBatch.fromArrays(a1, ..., aN)
  • arrow.array.StringArray.fromMATLAB(a)

This pull request updates the README.md for the MATLAB Interface to reflect these changes.

What changes are included in this PR?

Updated MATLAB README.md:

  1. Updated Status section to mention support for new Arrow types and functionality.
  2. Added usage examples for Type, Field, Schema, and RecordBatch`.
  3. Updated Feather v1 usage examples to illustrate support for types like String and Boolean.

Are these changes tested?

N/A.

This is purely a documentation change. I manually reviewed the visual rendering of the README.md Markdown on GitHub.

Are there any user-facing changes?

Yes.

  1. The MATLAB README.md now includes more usage examples which illustrate how to use the MATLAB interface.

Future Directions

  1. Add comprehensive documentation for all classes and methods, including supported input argument types and name-value pairs.
  2. Add more detailed information on future development plans and development status to the README.md.
  3. Add a table of contents to the MATLAB README.md.
  4. Keep the README.md up to date more proactively.

Notes

  1. Thank you @sgilmore10 for your help with this pull request!
  2. My apologies in advance if this is too much documentation content to review at once. We will focus on being more incremental about keeping the MATLAB documentation up to date in the future.
  3. GH-37209: [CI][Docs][MATLAB] Remove support for MATLAB_ARROW_INTERFACE flag from CMake build system and build new MATLAB Interface code by default #37211 also involves updating the MATLAB README.md, so there is a chance we may need to rebase before merging these changes in.

matlab/README.md Outdated Show resolved Hide resolved
Copy link
Member

@sgilmore10 sgilmore10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for updating the README.md to reflect the changes in the MATLAB Interface!

@github-actions github-actions bot added awaiting changes Awaiting changes and removed awaiting committer review Awaiting committer review labels Aug 16, 2023
Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

matlab/README.md Show resolved Hide resolved
matlab/README.md Show resolved Hide resolved
@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Aug 17, 2023
@kevingurney
Copy link
Member Author

+1

@kevingurney kevingurney merged commit 7d8e4b1 into apache:main Aug 17, 2023
@kevingurney kevingurney removed the awaiting changes Awaiting changes label Aug 17, 2023
@kevingurney kevingurney deleted the GH-37210 branch August 17, 2023 15:11
kevingurney added a commit that referenced this pull request Aug 17, 2023
…o `arrow.recordBatch` (camelCase) (#37223)

### Rationale for this change

As @ kou suggested in #37215 (comment), it makes sense to rename `arrow.recordbatch` (all lowercase) to `arrow.recordBatch` (camelCase).

`recordBatch` is the first "two-word" function in the top-level `arrow.*` package, so it makes sense to establish a clear camelCase standard for "multi-word" functions in the MATLAB interface at this point.

One part of the rationale motivating this change is that other language bindings follow a similar pattern (e.g. `pyarrow.record_batch` instead of `pyarrow.recordbatch`).

### What changes are included in this PR?

1. Renamed `arrow.recordbatch` (all lowercase) to `arrow.recordBatch` (camelCase).
2. Updated documentation and tests to reflect `arrow.recordbatch` being renamed to `arrow.recordBatch`.

### Are these changes tested?

Yes.

1. All existing MATLAB tests have been updated to use the new name `arrow.recordbatch` and are passing on my Debian 11 machine.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

The public facing API `arrow.recordbatch` has been renamed to `arrow.recordBatch`. Since the MATLAB interface is still "pre 1.0", we don't expect this change to have a significant impact.

### Notes

1. Thank you @ sgilmore10 for your help with this pull request!
* Closes: #37222

Lead-authored-by: Kevin Gurney <[email protected]>
Co-authored-by: Sarah Gilmore <[email protected]>
Signed-off-by: Kevin Gurney <[email protected]>
@conbench-apache-arrow
Copy link

After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit 7d8e4b1.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about possible false positives for unstable benchmarks that are known to sometimes produce them.

loicalleyne pushed a commit to loicalleyne/arrow that referenced this pull request Nov 13, 2023
…upport for new MATLAB APIs (e.g. `RecordBatch`, `Field`, `Schema`, etc.) (apache#37215)

### Rationale for this change

Over the last few months, a number of new user-facing APIs have been added or changed in the MATLAB Interface.

## Examples:

### Construction Functions

- `arrow.array`
- `arrow.field`
- `arrow.schema`
- `arrow.recordbatch`
- `arrow.boolean`, `arrow.string`, `arrow.timestamp`, etc. (type construction functions)

### Classes

- `arrow.type.Field`
- `arrow.tabular.Schema`
- `arrow.tabular.RecordBatch`
- `arrow.array.StringArray`
- `arrow.array.TimestampArray`

### Indexing Methods

- `arrow.tabular.Schema.field(i)`
- `arrow.tabular.RecordBatch.column(i)`

### Static Construction Methods

- `arrow.tabular.RecordBatch.fromArrays(a1, ..., aN)`
- `arrow.array.StringArray.fromMATLAB(a)`

---

This pull request updates the [`README.md` for the MATLAB Interface](https://github.com/apache/arrow/blob/main/matlab/README.md) to reflect these changes.

### What changes are included in this PR?

Updated MATLAB `README.md`:

1. Updated **Status** section to mention support for new Arrow types and functionality.
2. Added usage examples for `Type, `Field`, `Schema`, and `RecordBatch`.
3. Updated Feather v1 usage examples to illustrate support for types like `String` and `Boolean`.

### Are these changes tested?

N/A.

This is purely a documentation change. I manually reviewed the visual rendering of the `README.md` Markdown on GitHub.

### Are there any user-facing changes?

Yes.

1. The MATLAB `README.md` now includes more usage examples which illustrate how to use the MATLAB interface.

### Future Directions

1. Add comprehensive documentation for all classes and methods, including supported input argument types and name-value pairs.
2. Add more detailed information on future development plans and development status to the `README.md`.
3. Add a table of contents to the MATLAB `README.md`.
4. Keep the `README.md` up to date more proactively.

### Notes

1. Thank you @ sgilmore10 for your help with this pull request!
2. My apologies in advance if this is too much documentation content to review at once. We will focus on being more incremental about keeping the MATLAB documentation up to date in the future.
3. apache#37211 also involves updating the MATLAB `README.md`, so there is a chance we may need to rebase before merging these changes in.
* Closes: apache#37210

Lead-authored-by: Kevin Gurney <[email protected]>
Co-authored-by: Kevin Gurney <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
Co-authored-by: Sarah Gilmore <[email protected]>
Signed-off-by: Kevin Gurney <[email protected]>
loicalleyne pushed a commit to loicalleyne/arrow that referenced this pull request Nov 13, 2023
…ase) to `arrow.recordBatch` (camelCase) (apache#37223)

### Rationale for this change

As @ kou suggested in apache#37215 (comment), it makes sense to rename `arrow.recordbatch` (all lowercase) to `arrow.recordBatch` (camelCase).

`recordBatch` is the first "two-word" function in the top-level `arrow.*` package, so it makes sense to establish a clear camelCase standard for "multi-word" functions in the MATLAB interface at this point.

One part of the rationale motivating this change is that other language bindings follow a similar pattern (e.g. `pyarrow.record_batch` instead of `pyarrow.recordbatch`).

### What changes are included in this PR?

1. Renamed `arrow.recordbatch` (all lowercase) to `arrow.recordBatch` (camelCase).
2. Updated documentation and tests to reflect `arrow.recordbatch` being renamed to `arrow.recordBatch`.

### Are these changes tested?

Yes.

1. All existing MATLAB tests have been updated to use the new name `arrow.recordbatch` and are passing on my Debian 11 machine.

### Are there any user-facing changes?

Yes.

**This PR includes breaking changes to public APIs.**

The public facing API `arrow.recordbatch` has been renamed to `arrow.recordBatch`. Since the MATLAB interface is still "pre 1.0", we don't expect this change to have a significant impact.

### Notes

1. Thank you @ sgilmore10 for your help with this pull request!
* Closes: apache#37222

Lead-authored-by: Kevin Gurney <[email protected]>
Co-authored-by: Sarah Gilmore <[email protected]>
Signed-off-by: Kevin Gurney <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants