Skip to content

Commit 06ee891

Browse files
committed
Improve docstring of data_kind() to include io.StringIO stream buffer
1 parent 2909662 commit 06ee891

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

pygmt/base_plotting.py

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
from .clib import Session
1010
from .exceptions import GMTError, GMTInvalidInput
1111
from .helpers import (
12-
GMTTempFile,
1312
build_arg_string,
1413
data_kind,
1514
dummy_context,

pygmt/helpers/utils.py

+9-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def data_kind(data, x=None, y=None, z=None):
2121
Possible types:
2222
2323
* a file name provided as 'data'
24+
* an io.StringIO in-memory stream provided as 'data'
2425
* an xarray.DataArray provided as 'data'
2526
* a matrix provided as 'data'
2627
* 1D arrays x and y (and z, optionally)
@@ -30,8 +31,8 @@ def data_kind(data, x=None, y=None, z=None):
3031
3132
Parameters
3233
----------
33-
data : str, xarray.DataArray, 2d array, or None
34-
Data file name, xarray.DataArray or numpy array.
34+
data : str, io.StringIO, xarray.DataArray, 2d array, or None
35+
Data file name, io.StringIO, xarray.DataArray or numpy array.
3536
x/y : 1d arrays or None
3637
x and y columns as numpy arrays.
3738
z : 1d array or None
@@ -41,11 +42,13 @@ def data_kind(data, x=None, y=None, z=None):
4142
Returns
4243
-------
4344
kind : str
44-
One of: ``'file'``, ``'grid'``, ``'matrix'``, ``'vectors'``.
45+
One of: ``'file'``, ``'buffer'``, ``'grid'``, ``'matrix'``,
46+
``'vectors'``.
4547
4648
Examples
4749
--------
4850
51+
>>> import io
4952
>>> import numpy as np
5053
>>> import xarray as xr
5154
>>> data_kind(data=None, x=np.array([1, 2, 3]), y=np.array([4, 5, 6]))
@@ -54,6 +57,8 @@ def data_kind(data, x=None, y=None, z=None):
5457
'matrix'
5558
>>> data_kind(data='my-data-file.txt', x=None, y=None)
5659
'file'
60+
>>> data_kind(data=io.StringIO("sometext"), x=None, y=None)
61+
'buffer'
5762
>>> data_kind(data=xr.DataArray(np.random.rand(4, 3)))
5863
'grid'
5964
@@ -63,7 +68,7 @@ def data_kind(data, x=None, y=None, z=None):
6368
if data is not None and (x is not None or y is not None or z is not None):
6469
raise GMTInvalidInput("Too much data. Use either data or x and y.")
6570
if data is None and (x is None or y is None):
66-
raise GMTInvalidInput("Must provided both x and y.")
71+
raise GMTInvalidInput("Must provide both x and y.")
6772

6873
if isinstance(data, str):
6974
kind = "file"

0 commit comments

Comments
 (0)