home / github / issue_comments

Menu
  • GraphQL API
  • Search all tables

issue_comments: 559860016

This data as json

html_url issue_url id node_id user created_at updated_at author_association body reactions performed_via_github_app issue
https://github.com/pydata/xarray/issues/3582#issuecomment-559860016 https://api.github.com/repos/pydata/xarray/issues/3582 559860016 MDEyOklzc3VlQ29tbWVudDU1OTg2MDAxNg== 17710617 2019-11-29T18:24:49Z 2019-11-29T18:24:49Z CONTRIBUTOR

Ok thanks for the recommandations.

I'm thinking of using this kind of class to handle object creation:

```python import xarray as xr import motion

class Analogs: def new(cls, ...): array = xr.DataArray(...) cls.verify(array) return array

@staticmethod
def verify(array):
    print("verification...")

@classmethod
def from_csv(cls, filename:str, ...):
    array = xr.DataArray(filename, ...)
    cls.verify(array)
    return array

```

Let's say I define another Markers class for another type of data. Is it possible that my accessor exposes different functions according to class e, g:

```python @xr.register_dataarray_accessor("foo") class DataArrayAccessor(object): def init(self, xarray_obj: xr.DataArray): self._obj = xarray_obj

def to_csv(self):
    """
    This function is exposed to all objects
    but behave differently if it is a Markers or an Analogs
    """

def marker_only_function(self):
    """
    This function is only exposed to 
    array created with the Marker class
    """

def analog_only_function(self):
    """
    This function is only exposed to
    array created with the Analog class
    """

```

My ultimate goal is to have this kind of API:

python analogs = ( Analogs.from_csv("filename.csv") .foo.center() # foo accessor generic method .foo.rectify() # foo accessor specific method for Analogs object .mean() # xarray method )

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  530062582
Powered by Datasette · Queries took 0.824ms · About: xarray-datasette