issue_comments
5 rows where author_association = "MEMBER" and issue = 597475005 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: created_at (date), updated_at (date)
issue 1
- Extending Xarray for domain-specific toolkits · 5 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
612598462 | https://github.com/pydata/xarray/issues/3959#issuecomment-612598462 | https://api.github.com/repos/pydata/xarray/issues/3959 | MDEyOklzc3VlQ29tbWVudDYxMjU5ODQ2Mg== | keewis 14808389 | 2020-04-12T11:11:26Z | 2020-04-12T22:18:31Z | MEMBER |
Not really, I just thought the variables in the dataset were a way to uniquely identify its variant (i.e. do the validation of the dataset's structure). If you have different means to do so, of course you can use that instead. Re Edit: we'd still need to convince
I don't think so? There were a few discussions about subclassing, but I couldn't find anything about static type analysis. It's definitely worth having this discussion, either here (repurposing this issue) or in a new issue. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Extending Xarray for domain-specific toolkits 597475005 | |
612076605 | https://github.com/pydata/xarray/issues/3959#issuecomment-612076605 | https://api.github.com/repos/pydata/xarray/issues/3959 | MDEyOklzc3VlQ29tbWVudDYxMjA3NjYwNQ== | keewis 14808389 | 2020-04-10T15:23:08Z | 2020-04-10T15:56:08Z | MEMBER | you could emulate the availability of the accessors by checking your variables in the constructor of the accessor using ```python dataset_types = { frozenset("variable1", "variable2"): "type1", frozenset("variable2", "variable3"): "type2", frozenset("variable1", "variable3"): "type3", } def _dataset_type(ds): data_vars = frozenset(ds.data_vars.keys()) return dataset_types[data_vars] @xr.register_dataset_accessor("type1")
class Type1Accessor:
def init(self, ds):
if _dataset_type(ds) != "type1":
raise AttributeError("not a type1 dataset")
self.dataset = ds
``` If you just wanted to use static code analysis using e.g. class Dataset1(DatasetType): longitude : Coordinate[ArrayType[Float64Type]] latitude : Coordinate[ArrayType[Float64Type]]
def function(ds : Dataset1): # ... return ds ``` and have the type checker validate the structure of the dataset. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Extending Xarray for domain-specific toolkits 597475005 | |
611997039 | https://github.com/pydata/xarray/issues/3959#issuecomment-611997039 | https://api.github.com/repos/pydata/xarray/issues/3959 | MDEyOklzc3VlQ29tbWVudDYxMTk5NzAzOQ== | keewis 14808389 | 2020-04-10T11:49:32Z | 2020-04-10T11:49:32Z | MEMBER | do you have any control on how the datasets are created? If so, you could provide a factory function (maybe pass in arrays via required kwargs?) that does the checks and describes the required dataset structure in its docstring.
This probably won't happen in the near future, though, since the custom dtypes for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Extending Xarray for domain-specific toolkits 597475005 | |
611967822 | https://github.com/pydata/xarray/issues/3959#issuecomment-611967822 | https://api.github.com/repos/pydata/xarray/issues/3959 | MDEyOklzc3VlQ29tbWVudDYxMTk2NzgyMg== | TomNicholas 35968931 | 2020-04-10T10:02:39Z | 2020-04-10T10:02:39Z | MEMBER |
There surely must be some way to do that, but I'm afraid I'm not a docs wizard. However the accessor is still just a class, whose methods you want to document - would it be too unclear for them to hang off each
There is some caching, but you shouldn't rely on it. In #3268 @crusaderky said "The more high level discussion is that the statefulness of the accessor is something that is OK to use for caching and performance improvements, and not OK for storing functional information like yours."
Checking dtype and dimensions shouldn't be expensive though, or is it more than that?
If you have other questions about dtypes in xarray then please feel free to raise another issue about that. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Extending Xarray for domain-specific toolkits 597475005 | |
611719548 | https://github.com/pydata/xarray/issues/3959#issuecomment-611719548 | https://api.github.com/repos/pydata/xarray/issues/3959 | MDEyOklzc3VlQ29tbWVudDYxMTcxOTU0OA== | TomNicholas 35968931 | 2020-04-09T19:46:50Z | 2020-04-09T19:47:45Z | MEMBER |
One of the more immediate problems you'll find if you subclass is that xarray internally uses methods like You could make custom accessors which perform checks on the input arrays when they get used? ```python @xr.register_dataset_accessor('haplo') def HaploDatasetAccessor: def init(self, ds) check_conforms_to_haplo_requirements(ds) self.data = ds
ds.haplo.analyse() ``` I'm also wondering whether given that the only real difference (not just by convention) of your desired data structures from xarray's is the dtype, then (if xarray actually offered it) would something akin to pandas' |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Extending Xarray for domain-specific toolkits 597475005 |
Advanced export
JSON shape: default, array, newline-delimited, object
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]);
user 2