Description of the desired feature
Apache Arrow is an in-memory format that is starting to become a common exchange format between different libraries in Python and other programming languages. For example:
This issue is to track compatibility and support of different PyArrow data types in PyGMT:
Simplest way of integrating would be to just handle PyArrow-backed pandas.Dataframe objects as above.
Alternatively, we can also discuss about using PyArrow as the internal array representation (which would make pyarrow a hard dependency) since it may allow better interoperability across other Python libraries using Arrow, and this might be relevant for #1318 and #2731. My thought is to do this through the __dataframe__ protocol, see https://arrow.apache.org/docs/python/interchange_protocol.html
Further reading:
Are you willing to help implement and maintain this feature?
Yes, but help is welcome too!
Description of the desired feature
Apache Arrow is an in-memory format that is starting to become a common exchange format between different libraries in Python and other programming languages. For example:
pyarrow.stringinstead ofobjectdtype for strings, see PDEP10, so we will eventually need to support PyArrow (at least for string dtypes)__dataframe__protocol, see https://arrow.apache.org/docs/python/interchange_protocol.htmlThis issue is to track compatibility and support of different PyArrow data types in PyGMT:
put_stringsmethod that currently usesnp.char.encodearray_to_datetimethat expects Python datetime or numpy-backed arrays, xref #242 and #3507geopandas.GeoDataFramewith PyArrow dtype columnsSimplest way of integrating would be to just handle PyArrow-backed
pandas.Dataframeobjects as above.Alternatively, we can also discuss about using PyArrow as the internal array representation (which would make
pyarrowa hard dependency) since it may allow better interoperability across other Python libraries using Arrow, and this might be relevant for #1318 and #2731. My thought is to do this through the__dataframe__protocol, see https://arrow.apache.org/docs/python/interchange_protocol.htmlFurther reading:
Are you willing to help implement and maintain this feature?
Yes, but help is welcome too!