home / github

Menu
  • Search all tables
  • GraphQL API

issue_comments

Table actions
  • GraphQL API for issue_comments

8 rows where author_association = "CONTRIBUTOR" and issue = 552500673 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

  • jbednar 7
  • StanczakDominik 1

issue 1

  • Feature Proposal: `xarray.interactive` module · 8 ✖

author_association 1

  • CONTRIBUTOR · 8 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
962150839 https://github.com/pydata/xarray/issues/3709#issuecomment-962150839 https://api.github.com/repos/pydata/xarray/issues/3709 IC_kwDOAMm_X845WUG3 jbednar 1695496 2021-11-05T19:14:45Z 2021-11-05T19:14:45Z CONTRIBUTOR

I'm not sure if this link will expire, but until it's on youtube, you can watch the talk at https://zoom.us/rec/play/DzaWjz_hMBP23Vqv7T5jPcY1zU4fps2ZL-yAi8MyM5-lbYq-ZQS4ejWMzwxRW53vGu2F1DybYiKSb8M.mYwmkdDSK6ECc8Ux?startTime=1635508803000&_x_zm_rtaid=hMxhM6kwS-ae1hLStT7UXA.1635955310424.1ade0b45b8e3297ff743d3acc0aa08e1&_x_zm_rhtaid=397

{
    "total_count": 3,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 2,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
888642498 https://github.com/pydata/xarray/issues/3709#issuecomment-888642498 https://api.github.com/repos/pydata/xarray/issues/3709 IC_kwDOAMm_X84095vC jbednar 1695496 2021-07-28T21:45:51Z 2021-07-28T21:45:51Z CONTRIBUTOR

Update: hvPlot's .interactive support has been greatly improved and expanded in the new hvPlot 0.7.3 release. It is now showcased at holoviz.org, which introduces how to use hvPlot to build plots, then how to use xarray .interactive and pandas .interactive to add widgets (whether to hvPlot plots or to anything else, including .plot output or tables or xarray reprs). There are still plenty of improvements to make, but apart from documenting .interactive in xarray's docs, I would think this issue can now be closed.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
747097516 https://github.com/pydata/xarray/issues/3709#issuecomment-747097516 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDc0NzA5NzUxNg== jbednar 1695496 2020-12-16T23:14:48Z 2020-12-16T23:14:48Z CONTRIBUTOR

hvPlot's .interactive() support for xarray and pandas was released in in hvPlot 0.7.0 (installable with conda install hvplot=0.7) and is now documented on the website.

There are a few things I think we can still improve (listed at https://github.com/holoviz/panel/issues/1824, https://github.com/holoviz/panel/issues/1826, https://github.com/holoviz/hvplot/issues/531, https://github.com/holoviz/hvplot/issues/533), but it's already really fun to use -- just take your xarray or pandas pipeline da.method1(val1=arg1).method2(val2=arg2,val3=arg3).plot(), add .interactive, and then substitute a Panel widget or ipywidget for any of the arguments: da.interactive.method1(val1=widget1).method2(val2=arg2,val3=widget2).plot()

You can use this with the native .plot() plotting, interactive .hvplot() plots, or pretty much anything you can get out of such a pipeline (table, text, etc.). Try it out and let us know how it goes (here, on one of the issues linked above, or in a new issue at https://github.com/holoviz/hvplot/issues)! Thanks for all the suggestions and ideas here...

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
619763437 https://github.com/pydata/xarray/issues/3709#issuecomment-619763437 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDYxOTc2MzQzNw== StanczakDominik 11289391 2020-04-27T06:42:12Z 2020-04-27T06:42:12Z CONTRIBUTOR

That's amazing. This would single-handedly turn xarray from "nice to have, pretty useful" to "I recommend it to all my friends". I would absolutely love to be able to use it.

{
    "total_count": 2,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 2,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
619479882 https://github.com/pydata/xarray/issues/3709#issuecomment-619479882 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDYxOTQ3OTg4Mg== jbednar 1695496 2020-04-26T04:27:54Z 2020-04-26T04:27:54Z CONTRIBUTOR

That is so cool! I think the syntax is already as good as I can imagine.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
610588306 https://github.com/pydata/xarray/issues/3709#issuecomment-610588306 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDYxMDU4ODMwNg== jbednar 1695496 2020-04-07T19:53:59Z 2020-04-07T19:53:59Z CONTRIBUTOR

Thanks, @philippjfr!

What Philipp outlines above addresses the key limitation that I pointed out previously:

The operations available in HoloViews are only a small subset of what can be done with the native Xarray or Pandas APIs, and adding new capability like that to HoloViews is difficult

As of HoloViews release 1.13.2 that limitation is now completely gone, because a HoloViews interactive operation pipeline can now invoke arbitrary Xarray or Pandas API calls. So you're no longer limited to what has been encapsulated in HoloViews, and you can use the native Xarray method syntax that you're used to. Thus it's now possible to achieve most (all?) of the functionality discussed above, i.e. easily constructing arbitrarily deep Xarray-method pipelines with interactive widgets controlling any step along the way, replaying only that portion of the pipeline when that widget is changed.

So, what's left? As Philipp suggests, we can make the syntax for working with this functionality simpler in hvPlot. At that point we should probably show the syntax required for each of the interactive pipelines demonstrated or suggested in this issue, and see if there's any change to Xarray that would help make the syntax easier or more natural for Xarray users. Either way, the power is now there already!

{
    "total_count": 3,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 3,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
577772787 https://github.com/pydata/xarray/issues/3709#issuecomment-577772787 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDU3Nzc3Mjc4Nw== jbednar 1695496 2020-01-23T16:58:45Z 2020-01-23T20:09:35Z CONTRIBUTOR

I didn't appreciate exactly how much of this panel/holoviews can already do

On the one hand, yes, HoloViews + Panel is quite powerful and clean for what it can already do. But just so everyone is on the same page, the workflow @philippjfr shows above is only possible for the operations that HoloViews has implemented internally. The operations available in HoloViews are only a small subset of what can be done with the native Xarray or Pandas APIs, and adding new capability like that to HoloViews is difficult because HoloViews supports many different underlying data formats (lists, dictionaries, NumPy, Pandas, Xarray, etc.). So while there are advantages to what's already available in HoloViews:

  • Same syntax for working with a wide variety of data libraries or native Python types
  • Easy interactive, reactive pipelines (lazy operations that replay on demand)
  • Native support for multiple plotting libraries

there are also major disadvantages:

  • You have to learn HoloViews syntax for operations you quite likely already know how to do in your data library of choice (Xarray, Pandas, etc.)
  • The supported operations aren't ever going to be as rich as what's available from individual specific libraries

Note that hvPlot injects the plotting capability from HoloViews into Xarray and Pandas, letting you use the native data APIs for plotting, but it doesn't give you the control over lazy/interactive/reactive pipelines that HoloViews' native API offers. So to me what this issue's proposal would entail is taking the idea of hvPlot further, making Xarray (and Pandas) natively act like HoloViews already does -- with lazy operations where interactive controls can be inserted at every stage, letting people stay in their preferred rich, native data API while having the power to easily make anything interactive and to easily make anything visualizable.

{
    "total_count": 4,
    "+1": 4,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673
577420673 https://github.com/pydata/xarray/issues/3709#issuecomment-577420673 https://api.github.com/repos/pydata/xarray/issues/3709 MDEyOklzc3VlQ29tbWVudDU3NzQyMDY3Mw== jbednar 1695496 2020-01-22T22:42:20Z 2020-01-22T22:42:20Z CONTRIBUTOR

I think the difference between what I'm proposing here and what already exists (e.g. in holoviews, xrviz, etc.) is considering interactivity as something that is useful independent of plotting.

The interactive widgets in holoviews and xrviz are obtained from Panel, which is a separate library that is already explicitly designed for specifying and constructing interactivity independent of plotting. E.g. we often use Panel widgets with no plotting to set up simulations or analyses interactively, then run whatever we specified. The interactive function in Panel already works much like what you laid out above, unless I'm missing something.

It sounds like you're hoping for something that is independent of plotting (like Panel) and provides interactive widgets (like Panel) but also has specific support for multidimensional arrays (like HoloViews)? I don't think that's much code, but it could be useful to provide for Xarray in a convenient API.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Feature Proposal: `xarray.interactive` module 552500673

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 16.04ms · About: xarray-datasette