issue_comments
18 rows where author_association = "MEMBER", issue = 299668148 and user = 1217238 sorted by updated_at descending
This data as json, CSV (advanced)
Suggested facets: updated_at (date)
issue 1
- Hooks for XArray operations · 18 ✖
id | html_url | issue_url | node_id | user | created_at | updated_at ▲ | author_association | body | reactions | performed_via_github_app | issue |
---|---|---|---|---|---|---|---|---|---|---|---|
510953379 | https://github.com/pydata/xarray/issues/1938#issuecomment-510953379 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDUxMDk1MzM3OQ== | shoyer 1217238 | 2019-07-12T16:40:53Z | 2019-07-12T16:40:53Z | MEMBER | We're at the point where this could be hacked together pretty quickly:
1. We need to remove the explicit casting to NumPy arrays (ala https://github.com/pydata/xarray/pull/2956). Checking for an |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
382918970 | https://github.com/pydata/xarray/issues/1938#issuecomment-382918970 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM4MjkxODk3MA== | shoyer 1217238 | 2018-04-20T00:04:43Z | 2018-04-20T01:43:28Z | MEMBER | I like Should we go ahead and start |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
382868997 | https://github.com/pydata/xarray/issues/1938#issuecomment-382868997 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM4Mjg2ODk5Nw== | shoyer 1217238 | 2018-04-19T20:23:39Z | 2018-04-19T20:23:39Z | MEMBER | This library would have hard dependencies only on numpy and multipledispatch, and would expose a multipledispatch namespace so extending it doesn't have to happen in the library itself. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
382867200 | https://github.com/pydata/xarray/issues/1938#issuecomment-382867200 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM4Mjg2NzIwMA== | shoyer 1217238 | 2018-04-19T20:17:19Z | 2018-04-19T20:17:19Z | MEMBER | By "muktipledy" I mean "multipledispatch"(on my phone) |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
382867083 | https://github.com/pydata/xarray/issues/1938#issuecomment-382867083 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM4Mjg2NzA4Mw== | shoyer 1217238 | 2018-04-19T20:16:49Z | 2018-04-19T20:16:49Z | MEMBER | Basically, the library would define functions like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
382859987 | https://github.com/pydata/xarray/issues/1938#issuecomment-382859987 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM4Mjg1OTk4Nw== | shoyer 1217238 | 2018-04-19T19:51:56Z | 2018-04-19T19:51:56Z | MEMBER | I'm thinking it could make sense to build this minimal library for "duck typed arrays" with multipledispatch outside of xarray. That would make it easier for library builders to use and extend it. Anyone interested in getting started o nthat? |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368605364 | https://github.com/pydata/xarray/issues/1938#issuecomment-368605364 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODYwNTM2NA== | shoyer 1217238 | 2018-02-26T18:45:13Z | 2018-02-26T18:45:13Z | MEMBER | { "total_count": 1, "+1": 0, "-1": 0, "laugh": 1, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | ||
368598394 | https://github.com/pydata/xarray/issues/1938#issuecomment-368598394 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODU5ODM5NA== | shoyer 1217238 | 2018-02-26T18:22:33Z | 2018-02-26T18:22:33Z | MEMBER | I made a tweaked version of dispatching to list subtypes, which probably suitable for use in xarray: https://drive.google.com/file/d/18zdyUpWLNFzFaz08GUOC5vs1GxE_jHg-/view?usp=sharing Example behavior: ```python @dispatch(List[int]) def f(args): print('integers:', args) @dispatch(List[str]) def f(args): print('strings:', args) @dispatch(List[str, int]) def f(args): print('mixed str-int:', args) f([1, 2]) # integers: [1, 2] f([1, 2, 'foo']) # mixed str-int: [1, 2, 'foo'] f(['foo', 'bar']) # strings: ['foo', 'bar'] f([[1, 2]]) # NotImplementedError: Could not find signature for f: <List[list]> ``` Differences from @llllllllll's It would be straightforward to adapt this to use |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368281147 | https://github.com/pydata/xarray/issues/1938#issuecomment-368281147 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODI4MTE0Nw== | shoyer 1217238 | 2018-02-25T03:56:38Z | 2018-02-25T03:56:38Z | MEMBER | Indeed, typing support for multipledispatch looks it's a ways off. To be honest, the VarArgs solution looks a little ugly to me, so I'm not sure it's with enshrining in multipledispatch either. I guess that leaves putting our own ad-hoc solution on top of multipledispatch in xarray for now. Which really is totally fine -- this is all a stop gap measure until NumPy itself supports this sort of duck typing. On Sat, Feb 24, 2018 at 7:46 PM Joe Jevnik notifications@github.com wrote:
|
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368279019 | https://github.com/pydata/xarray/issues/1938#issuecomment-368279019 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODI3OTAxOQ== | shoyer 1217238 | 2018-02-25T03:02:59Z | 2018-02-25T03:02:59Z | MEMBER | I spent some time thinking about this today. The cleanest answer is probably support for standard typing annotations in multipledispatch, at least for |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368268549 | https://github.com/pydata/xarray/issues/1938#issuecomment-368268549 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODI2ODU0OQ== | shoyer 1217238 | 2018-02-24T23:25:49Z | 2018-02-24T23:25:49Z | MEMBER |
Yes, |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368190478 | https://github.com/pydata/xarray/issues/1938#issuecomment-368190478 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODE5MDQ3OA== | shoyer 1217238 | 2018-02-24T02:25:25Z | 2018-02-24T02:25:25Z | MEMBER | @mrocklin this is roughy what we would want in multipledispatch: https://github.com/blaze/blaze/blob/master/blaze/compute/varargs.py#L20-L90 This involves metaclasses, which frankly do blow my mind a little bit. Probably the magic could be tuned down a little bit, but metaclasses are necessary at least for implementing |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368110090 | https://github.com/pydata/xarray/issues/1938#issuecomment-368110090 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODExMDA5MA== | shoyer 1217238 | 2018-02-23T19:13:14Z | 2018-02-23T19:13:14Z | MEMBER |
Usually, this is not a good idea. The problem is that it's impossible to know a global priority order across unrelated packages. It's usually better to declare valid type matches explicitly. NumPy tried this with |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368108543 | https://github.com/pydata/xarray/issues/1938#issuecomment-368108543 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODEwODU0Mw== | shoyer 1217238 | 2018-02-23T19:07:46Z | 2018-02-23T19:07:46Z | MEMBER | As for my last concern, "Dispatch for the first argument(s) only" it looks like the simple answer is that multipledispatch already only dispatches based on positional arguments. So as long as we're strict about using keyword arguments for extra parameters like It looks like this resolves almost all of my concerns about using multiple dispatch. One thing that would be nice is it |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368107036 | https://github.com/pydata/xarray/issues/1938#issuecomment-368107036 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODEwNzAzNg== | shoyer 1217238 | 2018-02-23T19:02:34Z | 2018-02-23T19:02:34Z | MEMBER | Yes, I just tested out the wrapping dispatch. It works and is quite clean. |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368097912 | https://github.com/pydata/xarray/issues/1938#issuecomment-368097912 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODA5NzkxMg== | shoyer 1217238 | 2018-02-23T18:32:04Z | 2018-02-23T18:32:04Z | MEMBER | @llllllllll very cool! Is there a special trick I need to use this? I tried: ```python first: pip install https://github.com/blaze/blaze/archive/master.tar.gzimport blaze.compute from blaze.compute.varargs import VarArgs from multipledispatch import dispatch @dispatch(VarArgs[float]) def f(args): print('floats') @dispatch(VarArgs[str]) def f(args): print('strings') @dispatch(VarArgs[str, float])
def f(args):
print('mixed')
KeyError Traceback (most recent call last) /usr/local/lib/python3.6/dist-packages/multipledispatch/dispatcher.py in call(self, args, *kwargs) 154 try: --> 155 func = self._cache[types] 156 except KeyError: KeyError: (<class 'list'>,) During handling of the above exception, another exception occurred: NotImplementedError Traceback (most recent call last) <ipython-input-5-19f52a9a1dd6> in <module>() ----> 1 f(['foo']) /usr/local/lib/python3.6/dist-packages/multipledispatch/dispatcher.py in call(self, args, *kwargs) 159 raise NotImplementedError( 160 'Could not find signature for %s: <%s>' % --> 161 (self.name, str_signature(types))) 162 self._cache[types] = func 163 try: NotImplementedError: Could not find signature for f: <list> ``` |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368084600 | https://github.com/pydata/xarray/issues/1938#issuecomment-368084600 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODA4NDYwMA== | shoyer 1217238 | 2018-02-23T17:44:27Z | 2018-02-23T18:17:28Z | MEMBER | Dispatch for stack/concatenate is definitely on the radar for NumPy development, but I don't know when it's actually going to happen. The likely interface is something like We only need this for a couple of operations, so in any case we can probably implement our own ad-hoc dispatch system for On further contemplation, overloading based on union types with a system like multipledispatch does seem tricky. It's not clear to me that there's even a well defined type for inputs to concatenate that should be dispatched to dask vs. numpy, for example. We want to let that dask handle any cases where at least one input is a dask array, but a type like |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 | |
368066239 | https://github.com/pydata/xarray/issues/1938#issuecomment-368066239 | https://api.github.com/repos/pydata/xarray/issues/1938 | MDEyOklzc3VlQ29tbWVudDM2ODA2NjIzOQ== | shoyer 1217238 | 2018-02-23T16:47:53Z | 2018-02-23T16:47:53Z | MEMBER |
For two array backends, it didn't make sense to write an abstraction layer for this, in part because it wasn't clear what we needed. But for three examples, it probably does -- that's the point where shared use cases become clear. Undoubtedly, there will be other cases in the future where users will want to extend xarray to handle new array types (arrays with units come to mind). For implementing these overloads/functions, there are various possible solutions. Our current ad-hoc system is similar to what @hameerabbasi suggests -- we check the type of the first argument and use that to dispatch to an appropriate function. This has the advantage of being easy to implement for a known set of types, but a single dispatch order is not very extensible -- it's impossible to anticipate every third-party class. Recently, NumPy has moved away from this (e.g., with One appealing option is to make use of @mrocklin's multipledispatch library, which was originally developed for Blaze and is still in active use. Possible concerns:
1. Performance. Import times need to be fast, and I know this is something that |
{ "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
Hooks for XArray operations 299668148 |
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 1