home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

6 rows where author_association = "MEMBER" and issue = 672912921 sorted by updated_at descending

✎ View and edit SQL

This data as json, CSV (advanced)

Suggested facets: reactions, created_at (date), updated_at (date)

user 2

  • alexamici 5
  • max-sixty 1

issue 1

  • Flexible Backend - AbstractDataStore definition · 6 ✖

author_association 1

  • MEMBER · 6 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
747055666 https://github.com/pydata/xarray/issues/4309#issuecomment-747055666 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDc0NzA1NTY2Ng== alexamici 226037 2020-12-16T21:35:57Z 2020-12-16T21:35:57Z MEMBER

I'm looking at other bits of knowledge of how backends work that are still present in the generic parts of open_dataset.

We see _autodetect_engine and _normalize_path.

We aim at removing _autodetect_engine in favour of adding a new can_open(filename_or_obj, ...) backend function declared via the plugin interface.

On the other hand _normalize_path can be removed entirely once ZarrStore.open_group will accept os.PathLike objects.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921
697952300 https://github.com/pydata/xarray/issues/4309#issuecomment-697952300 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDY5Nzk1MjMwMA== alexamici 226037 2020-09-23T20:23:17Z 2020-09-24T15:12:18Z MEMBER

@shoyer & @jhamman just to give you an idea, I aim to see open_dataset reduced to the following:

```python def open_dataset(filename_or_obj, , engine=None, chunks=None, cache=None, backend_kwargs=None, *kwargs): filename_or_obj = nomalize_filename_or_obj(filename_or_obj) if engine is None: engine = autodetect_engine(filename_or_obj) open_backend_dataset = get_opener(engine)

backend_ds = open_backend_dataset(filename_or_obj, **backend_kwargs, **kwargs)
ds = dataset_from_backend_dataset(
    backend_ds, chunks, cache, filename_or_obj=filename_or_obj, **kwargs
)
return ds

```

Where the key observation is that backend_ds variable must be either np.ndarray or subclasses of BackendArray. That is backend should not be concerned with the in-memory representation of the variables, so they know nothign about dask, cache behaviour, etc. (@shoyer this was addressed briefly today)

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921
685928460 https://github.com/pydata/xarray/issues/4309#issuecomment-685928460 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDY4NTkyODQ2MA== alexamici 226037 2020-09-02T18:46:58Z 2020-09-02T18:55:52Z MEMBER

@shoyer and @jhamman, I'm looking into the write support and if we let a backend return a xr.Dataset, as agreed, we lose the ability to support in-place change of a file, no update of attributes or mode='a', unless the backend has a unambiguous way to identify persistent xr.Dataset.

I'm not sure what options for in-place change are supported, but I see at least mode='a' for zarr. Let's discuss this tomorrow.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921
679950009 https://github.com/pydata/xarray/issues/4309#issuecomment-679950009 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDY3OTk1MDAwOQ== alexamici 226037 2020-08-25T10:46:48Z 2020-08-25T10:46:48Z MEMBER

We agreed with @shoyer to go with proposal 3 for reading: the backends will return a fully build xr.Dataset

Among other advantages this reduces the amount of backend-specific documentation as the documentation of xr.Dataset and xr.Variable already contains almost all that is needed by backend developers.

The one bit of documentation that needs addressing is the use of BackendArray as the data argument for xr.Variable.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921
669255679 https://github.com/pydata/xarray/issues/4309#issuecomment-669255679 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDY2OTI1NTY3OQ== max-sixty 5635139 2020-08-05T15:19:56Z 2020-08-05T15:54:29Z MEMBER

Thanks @alexamici

I'm a bit behind here: what's an example of a filter? A selection of the data?

Edit: as discussed filter == encoding

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921
669247250 https://github.com/pydata/xarray/issues/4309#issuecomment-669247250 https://api.github.com/repos/pydata/xarray/issues/4309 MDEyOklzc3VlQ29tbWVudDY2OTI0NzI1MA== alexamici 226037 2020-08-05T15:05:08Z 2020-08-05T15:05:08Z MEMBER

Note that the above proposals only address the store / encoding part the backend API. We will address the BackendArray part later and I expect it to be trickier.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Flexible Backend - AbstractDataStore definition  672912921

Advanced export

JSON shape: default, array, newline-delimited, object

CSV options:

CREATE TABLE [issue_comments] (
   [html_url] TEXT,
   [issue_url] TEXT,
   [id] INTEGER PRIMARY KEY,
   [node_id] TEXT,
   [user] INTEGER REFERENCES [users]([id]),
   [created_at] TEXT,
   [updated_at] TEXT,
   [author_association] TEXT,
   [body] TEXT,
   [reactions] TEXT,
   [performed_via_github_app] TEXT,
   [issue] INTEGER REFERENCES [issues]([id])
);
CREATE INDEX [idx_issue_comments_issue]
    ON [issue_comments] ([issue]);
CREATE INDEX [idx_issue_comments_user]
    ON [issue_comments] ([user]);
Powered by Datasette · Queries took 13.752ms · About: xarray-datasette