I did my best to remove the class from the GLib bindings -- there are probably some conventions around API versions that I did not respect, so I will need some help from others on GLib and Ruby.
MATLAB and R are also affected, but should be relatively simple to change. I'll wait to hear more feedback from others before investing more of my time in the project - Wes On Tue, Jul 9, 2019 at 8:18 PM Wes McKinney <wesmck...@gmail.com> wrote: > > Thanks for the feedback. > > I just posted a PR that removes the class in the C++ and Python > libraries, hopefully this will help with the discussion. That I was > able to do it in less than a day should be good evidence that the > abstraction may be superfluous > > https://github.com/apache/arrow/pull/4841 > > On Tue, Jul 9, 2019 at 4:26 PM Tim Swast <sw...@google.com.invalid> wrote: > > > > FWIW, I found the Column class to be confusing in Python. It felt redundant > > / unneeded to actually create Tables. > > > > On Tue, Jul 9, 2019 at 11:19 AM Wes McKinney <wesmck...@gmail.com> wrote: > > > > > On Tue, Jul 9, 2019 at 1:14 PM Antoine Pitrou <anto...@python.org> wrote: > > > > > > > > > > > > Le 08/07/2019 à 23:17, Wes McKinney a écrit : > > > > > > > > > > I'm concerned about continuing to maintain the Column class as it's > > > > > spilling complexity into computational libraries and bindings alike. > > > > > > > > > > The Python Column class for example mostly forwards method calls to > > > > > the underlying ChunkedArray > > > > > > > > > > > > > https://github.com/apache/arrow/blob/master/python/pyarrow/table.pxi#L355 > > > > > > > > > > If the developer wants to construct a Table or insert a new "column", > > > > > Column objects must generally be constructed, leading to boilerplate > > > > > without clear benefit. > > > > > > > > We could simply add the desired ChunkedArray-based convenience methods > > > > without removing the Column-based APIs. > > > > > > > > I don't know if it's really cumbersome to maintain the Column class. > > > > It's generally a very stable part of the API, and the Column class is > > > > just a thin wrapper over a ChunkedArray + a field. > > > > > > > > > > The indirection that it produces in public APIs I have found to be a > > > nuisance, though (for example, doing things with the result of > > > table[i] in Python). > > > > > > I'm about halfway through a patch to remove it, I'll let people review > > > the work to assess the before-and-after. > > > > > > > Regards > > > > > > > > Antoine. > > >