home / github

Menu
  • GraphQL API
  • Search all tables

issue_comments

Table actions
  • GraphQL API for issue_comments

25 rows where issue = 694448177 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 6

  • keewis 11
  • kmuehlbauer 4
  • shoyer 3
  • dcherian 3
  • max-sixty 2
  • klindsay28 2

author_association 2

  • MEMBER 23
  • NONE 2

issue 1

  • Keep the original ordering of the coordinates · 25 ✖
id html_url issue_url node_id user created_at updated_at ▲ author_association body reactions performed_via_github_app issue
695039954 https://github.com/pydata/xarray/pull/4409#issuecomment-695039954 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5NTAzOTk1NA== dcherian 2448579 2020-09-18T19:12:34Z 2020-09-18T19:12:34Z MEMBER

LGTM :+1:

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
695036123 https://github.com/pydata/xarray/pull/4409#issuecomment-695036123 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5NTAzNjEyMw== keewis 14808389 2020-09-18T19:03:33Z 2020-09-18T19:03:49Z MEMBER

should we merge this before releasing 0.16.1?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691455578 https://github.com/pydata/xarray/pull/4409#issuecomment-691455578 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTQ1NTU3OA== keewis 14808389 2020-09-12T09:32:48Z 2020-09-14T11:47:03Z MEMBER

@kmuehlbauer, I modified concat so #4072 and #2811 might already be fixed. Can you confirm?

Edit: at least #4072 does not seem to be fixed yet. ~Good news is that this doesn't seem to depend on a set (i.e. the result does not change with different interpreter sessions)~

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691862878 https://github.com/pydata/xarray/pull/4409#issuecomment-691862878 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTg2Mjg3OA== kmuehlbauer 5821660 2020-09-14T07:07:17Z 2020-09-14T07:21:52Z MEMBER

@keewis Unfortunately your changes did not help solving #2811. I'll have a pull request ready today with a proposal how to fix both issues.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691869821 https://github.com/pydata/xarray/pull/4409#issuecomment-691869821 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTg2OTgyMQ== kmuehlbauer 5821660 2020-09-14T07:20:26Z 2020-09-14T07:20:26Z MEMBER

@keewis See #4419

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691864317 https://github.com/pydata/xarray/pull/4409#issuecomment-691864317 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTg2NDMxNw== keewis 14808389 2020-09-14T07:10:08Z 2020-09-14T07:10:08Z MEMBER

thanks for checking!

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691456131 https://github.com/pydata/xarray/pull/4409#issuecomment-691456131 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTQ1NjEzMQ== kmuehlbauer 5821660 2020-09-12T09:36:01Z 2020-09-12T09:36:01Z MEMBER

@keewis I'm traveling currently, will check on Monday and come back to you.

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691419694 https://github.com/pydata/xarray/pull/4409#issuecomment-691419694 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTQxOTY5NA== kmuehlbauer 5821660 2020-09-12T05:56:35Z 2020-09-12T05:56:35Z MEMBER

@keewis @dcherian FYI: Regarding #4072 and #2811 with concat I successfully tested a fix locally yesterday. I'll ping you when I have the PR out.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691298627 https://github.com/pydata/xarray/pull/4409#issuecomment-691298627 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTI5ODYyNw== keewis 14808389 2020-09-11T20:31:31Z 2020-09-11T20:31:31Z MEMBER

the tests pass so this should be ready for review

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691245402 https://github.com/pydata/xarray/pull/4409#issuecomment-691245402 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTI0NTQwMg== keewis 14808389 2020-09-11T18:23:09Z 2020-09-11T18:23:09Z MEMBER

"mix up" in this case means that the order is random (i.e. a set was involved). Sorry if that was unclear.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691243864 https://github.com/pydata/xarray/pull/4409#issuecomment-691243864 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTI0Mzg2NA== dcherian 2448579 2020-09-11T18:19:44Z 2020-09-11T18:19:44Z MEMBER

What do you mean by "mix up"? Also see #2811

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691242257 https://github.com/pydata/xarray/pull/4409#issuecomment-691242257 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTI0MjI1Nw== keewis 14808389 2020-09-11T18:16:05Z 2020-09-11T18:16:05Z MEMBER

thanks, that almost fixed the doctests. However, concat seems to somehow also mix up the coordinates / dimensions. I tried to fix that by not iterating over a set, but I'm totally not sure if there's a better fix.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691217305 https://github.com/pydata/xarray/pull/4409#issuecomment-691217305 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTIxNzMwNQ== shoyer 1217238 2020-09-11T17:20:06Z 2020-09-11T17:20:06Z MEMBER

One way to fix this is to iterate over variables instead of _coord_names, e.g., instead of: python for k in self._coord_names: ... use: python for k in self._variables: if k in self._coord_names: ...

I believe we already use this trick in a few places for exactly this reason.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691208282 https://github.com/pydata/xarray/pull/4409#issuecomment-691208282 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTIwODI4Mg== keewis 14808389 2020-09-11T17:00:07Z 2020-09-11T17:00:07Z MEMBER

unfortunately, that's pretty difficult: the set in question is Dataset._coord_names, and there would be a lot to rewrite if we tried to change that to a list. Just for reference, the method where the reordering happens is Dataset._copy_listed.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691181491 https://github.com/pydata/xarray/pull/4409#issuecomment-691181491 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTE4MTQ5MQ== shoyer 1217238 2020-09-11T16:03:59Z 2020-09-11T16:03:59Z MEMBER

OK, my guess is that this is happening because there is someplace where we iterate over a Python set (which has a non-deterministic order based on hashing) rather than a Python dict. If we can nail down where that is happening we should remove it!

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691170222 https://github.com/pydata/xarray/pull/4409#issuecomment-691170222 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTE3MDIyMg== dcherian 2448579 2020-09-11T15:42:08Z 2020-09-11T15:42:08Z MEMBER

The plotting thing could be fixed relatively easily here: https://github.com/pydata/xarray/blob/23dc2fc9f2785c348ff821bf2da61dfa2206d283/xarray/core/dataarray.py#L2805-L2832 and the cor5responding function in Dataset.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691157835 https://github.com/pydata/xarray/pull/4409#issuecomment-691157835 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTE1NzgzNQ== keewis 14808389 2020-09-11T15:19:40Z 2020-09-11T15:21:56Z MEMBER

yes, sorry, you're right, that is indeed non-deterministic, and exactly the problem I'm having with the doctests.

Interestingly, this seems to be deterministic per python session: running ```python import xarray as xr

ds = xr.Dataset( {"a": (("x", "y"), [[0, 1], [2, 3]])}, coords={"x": ["a", "b"], "y": [0, 1]} ) print(ds) print(ds + 1) print(ds) print(ds + 1) `` will print the same result fordsandds + 1`, but when rerunning in a new session, the coordinate order may be changed (more coordinates increase the probability for the change).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691146816 https://github.com/pydata/xarray/pull/4409#issuecomment-691146816 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTE0NjgxNg== klindsay28 15570875 2020-09-11T15:00:01Z 2020-09-11T15:00:01Z NONE

I disagree that this is deterministic. If I run the script multiple times, the plot title varies, and I consider the plot title part of the output.

I have jupyter notebooks that create figures and use this code idiom. If I refactor code of mine that is used by these notebooks, I would like to rerun the notebooks to confirm that the notebook results don't change. Having the plot titles change at random complicates this comparison.

I think sorting the coordinates would avoid this difficulty that I encounter.

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691136159 https://github.com/pydata/xarray/pull/4409#issuecomment-691136159 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTEzNjE1OQ== keewis 14808389 2020-09-11T14:41:39Z 2020-09-11T14:44:03Z MEMBER

I think that's still deterministic (although I agree that the change in the title is annoying): if you run your script multiple times, it will always return the same output. The issue I'm trying to fix here is much worse: the output of the same code will return different results with each run.

Edit: but maybe I just have a messed up environment

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691037092 https://github.com/pydata/xarray/pull/4409#issuecomment-691037092 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTAzNzA5Mg== keewis 14808389 2020-09-11T11:23:26Z 2020-09-11T14:28:41Z MEMBER

Can you give an example of a non-deterministic coordinate order

sure, just try running python -m pytest --doctest-modules xarray --ignore xarray/tests. For me at least (with the environment created by py38.yml), xarray.core.common.DataWithCoords.pipe, xarray.core.groupby.GroupBy.quantile and xarray.core.dataset.Dataset.filter_by_attrs pass or fail at random: in one run they pass, in the next they fail because a different ordering was used for the coordinates (see also #4408).

I think users find it a little more intuitive to preserve the order of dict keys.

Not sure if that's evidence against this (maybe we need to rearrange the repr to really fix it), but in #4072 someone confused the order of the printed coordinates with the order of the dimensions. I'd think it's much easier to tell people that these are alphabetically sorted, no matter what they do, so they shouldn't try to read the dimension order from the coordinates (same with the dimension summary).

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
691120654 https://github.com/pydata/xarray/pull/4409#issuecomment-691120654 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MTEyMDY1NA== klindsay28 15570875 2020-09-11T14:15:42Z 2020-09-11T14:15:42Z NONE

Here's another example that yields non-deterministic coordinate order, which propagates into a plot title when selection is done on the coordinates. When I run the code below, the title is sometimes x = 0.0, y = 0.0 and sometimes y = 0.0, x = 0.0.

This is in a new conda environment that I created using the command conda create -n title_order python=3.7 matplotlib xarray. Output from xr.show_versions() is below.

I think the non-determinism is coming from the command ds_subset = ds[['var']].

``` import numpy as np import xarray as xr

xlen = 3 ylen = 4 zlen = 5

x = xr.DataArray(np.linspace(0.0, 1.0, xlen), dims=('x')) y = xr.DataArray(np.linspace(0.0, 1.0, ylen), dims=('y')) z = xr.DataArray(np.linspace(0.0, 1.0, zlen), dims=('z'))

vals = np.arange(xlenylenzlen, dtype='float64').reshape((xlen, ylen, zlen)) da = xr.DataArray(vals, dims=('x', 'y', 'z'), coords={'x': x, 'y': y, 'z': z})

ds = xr.Dataset({'var': da}) print('coords for var in original Dataset') print(ds['var'].coords)

print('****')

ds_subset = ds[['var']] print('coords for var after subsetting') print(ds_subset['var'].coords)

print('****')

p = ds_subset['var'].isel(x=0,y=0).plot() print('title for plot() with dim selection') print(p[0].axes.get_title()) ```

Output of <tt>xr.show_versions()</tt> INSTALLED VERSIONS ------------------ commit: None python: 3.7.8 | packaged by conda-forge | (default, Jul 31 2020, 02:25:08) [GCC 7.5.0] python-bits: 64 OS: Linux OS-release: 3.10.0-1127.13.1.el7.x86_64 machine: x86_64 processor: x86_64 byteorder: little LC_ALL: en_US.UTF-8 LANG: en_US.UTF-8 LOCALE: en_US.UTF-8 libhdf5: None libnetcdf: None xarray: 0.16.0 pandas: 1.1.2 numpy: 1.19.1 scipy: None netCDF4: None pydap: None h5netcdf: None h5py: None Nio: None zarr: None cftime: None nc_time_axis: None PseudoNetCDF: None rasterio: None cfgrib: None iris: None bottleneck: None dask: None distributed: None matplotlib: 3.3.1 cartopy: None seaborn: None numbagg: None pint: None setuptools: 49.6.0.post20200814 pip: 20.2.3 conda: None pytest: None IPython: None sphinx: None
{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
690879736 https://github.com/pydata/xarray/pull/4409#issuecomment-690879736 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY5MDg3OTczNg== shoyer 1217238 2020-09-11T05:18:02Z 2020-09-11T05:18:02Z MEMBER

Can you give an example of a non-deterministic coordinate order? That sounds surprising to me, given that on Python 3.6+ dictionaries preserve insertion order.

My preference would be not to sort mappings automatically, either in __init__ or when formatting. I think users find it a little more intuitive to preserve the order of dict keys.

It's true that this is only a guarantee on Python 3.7+, but both CPython 3.6 and all versions of pypy 3 preserve dict insertion order, so in practice we can pretty much always guarantee this. (And soon, Python 3.7 will be required for xarray.)

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
687934050 https://github.com/pydata/xarray/pull/4409#issuecomment-687934050 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY4NzkzNDA1MA== max-sixty 5635139 2020-09-06T23:34:51Z 2020-09-06T23:34:51Z MEMBER

sorting in __init__ should be possible and might even be easier than sorting when formatting.

Though I was thinking we wouldn't sort it; we'd take the order as given

Do we have to bump the supported python version for that, or is it fine to keep the current behavior for a non-CPython python<3.7 (if we ever supported a language other than CPython)?

I reckon it's fine, it's such a corner case, and it'll only affect these doctests

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
687919197 https://github.com/pydata/xarray/pull/4409#issuecomment-687919197 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY4NzkxOTE5Nw== keewis 14808389 2020-09-06T22:27:50Z 2020-09-06T23:02:50Z MEMBER

thanks for the hint, sorting in __init__ should be possible and might even be easier than sorting when formatting. However, 3.7 is the first version of python (the language) which includes the insertion-order preservation introduced in CPython 3.6. Do we have to bump the supported python version for that, or is it fine to keep the current behavior for a non-CPython python<3.7 (if we ever supported a language other than CPython)?

Edit: that breaks two of the iris tests, which seem to depend on the order of the coords. Maybe we should change that?

{
    "total_count": 1,
    "+1": 1,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177
687909934 https://github.com/pydata/xarray/pull/4409#issuecomment-687909934 https://api.github.com/repos/pydata/xarray/issues/4409 MDEyOklzc3VlQ29tbWVudDY4NzkwOTkzNA== max-sixty 5635139 2020-09-06T21:45:02Z 2020-09-06T21:45:02Z MEMBER

Could we keep them in sorted order like a normal dict (at least as-of recent python versions)?

{
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
}
  Keep the original ordering of the coordinates 694448177

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