Xarray: v0.10 Release

Created on 28 Aug 2017  路  18Comments  路  Source: pydata/xarray

I'd like to issue the v0.10 release in within the next few weeks, after merging the following PRs:

Features

  • [x] #1272 Groupby-like API for resampling (@darothen)
  • [x] #1473 Indexing with broadcasting (@fujiisoup, @shoyer)
  • [x] #1489 to_dask_dataframe() (@jmunroe)
  • [x] #1508 Support using opened netCDF4.Dataset (@dopplershift)
  • [x] #1514 Add pathlib.Path support to open_(mf)dataset (@willirath)
  • [x] #1543 pass dask compute/persist args through from load/compute/perist (@jhamman)

Bug Fixes

  • [x] #1532 Avoid computing dask variables on __repr__ and __getattr__ (@crusaderky)
  • [x] #1542 Pandas dev test failures (@shoyer)
  • [x] #1538 Disallow improper DataArray construction (@jhamman)

Misc

  • [x] #1485 xr.show_versions() (@jhamman)
  • [x] #1530 Deprecate old pandas support (@fujiisoup)
  • [x] #1539 Remove support for dataset construction w/o dims. (@jhamman)

TODO

  • [x] #1333 Deprecate indexing with non-aligned DataArray objects

Let me know if there's anything else critical to get in.

CC @pydata/xarray

Most helpful comment

@fujiisoup is finishing up #1473 (vectorized indexing) but we still have one unresolved concern: existing uses of xarray objects to index other xarray objects will break in some cases, because the behavior of vectorized indexing will depend on dimension names and coordinates on indexer objects. In particular: behavior will change if the indexer object goes along a different dimension than the corresponding dimension of the indexed object (e.g., for array.sel(x=ind) if ind.dims != ('x',)).

Unfortunately, there isn't a good way to deprecate the existing behavior while introducing the new behavior, since the meaning of this type of indexing will change. We could do a deprecation cycle (https://github.com/pydata/xarray/issues/1333), but that will mean delaying this highly useful form of indexing.

For what it's worth, I think this the last major breaking change of this type that we will need for xarray. (Though we might choose to do some other clean-ups before the v1.0 release)

Are we OK with this breaking change for the 0.10 release? It would be accompanied by a large note under "Breaking changes" in the release notes.

(Free to express your opinion with 馃憤 or 馃憥 on this comment.)

All 18 comments

Great; there's only a single action item left on #1272, so I'll try to get to that later this week.

Can we add:

  • [x] ENH: Support using opened netCDF4.Dataset (Fixes #1459) #1508

to that list?

I'm hoping to find the time to do #1521 and #1523 too

@fujiisoup is finishing up #1473 (vectorized indexing) but we still have one unresolved concern: existing uses of xarray objects to index other xarray objects will break in some cases, because the behavior of vectorized indexing will depend on dimension names and coordinates on indexer objects. In particular: behavior will change if the indexer object goes along a different dimension than the corresponding dimension of the indexed object (e.g., for array.sel(x=ind) if ind.dims != ('x',)).

Unfortunately, there isn't a good way to deprecate the existing behavior while introducing the new behavior, since the meaning of this type of indexing will change. We could do a deprecation cycle (https://github.com/pydata/xarray/issues/1333), but that will mean delaying this highly useful form of indexing.

For what it's worth, I think this the last major breaking change of this type that we will need for xarray. (Though we might choose to do some other clean-ups before the v1.0 release)

Are we OK with this breaking change for the 0.10 release? It would be accompanied by a large note under "Breaking changes" in the release notes.

(Free to express your opinion with 馃憤 or 馃憥 on this comment.)

@shoyer and @fujiisoup - are we going to take care of #1333 as part of #1473?

Yes.

OK, I really want to get the release candidate (and the release) out promptly. https://github.com/pydata/xarray/issues/1663 in particular is going to be annoying for users with pandas 0.21 out.

I think https://github.com/pydata/xarray/pull/1615 (unicode string in netCDF3) and https://github.com/pydata/xarray/pull/1648 (vectorize=True in apply_ufunc) are ready to merge, and https://github.com/pydata/xarray/pull/1657 (warnings in test suite) is nearly so. Is there anything else we want to get in for 0.10?

The last outstanding PR from the top is #1489 (to_dask_dataframe()). I have a couple small tweaks to the design that I think we still need, but I think I'll merge it in the current state and add those tweaks in a follow-on PR.

This all sounds good to me. There is also #1485 that can go in now. We were just waiting since it has some changes to the issue template on github.

I think we're down to the last few PRs, all of which are nearly ready to go in:

  • [x] #1657: fix warnings in the test suite
  • [x] #1667: tweaks to to_dask_dataframe
  • [x] #1669: fix errors that appear after updating to pandas 0.21
  • [x] #1670: reorganize/fix-up what's new (feedback would be appreciated!)

I plan to issue the RC as soon as all of these are merged.

@shoyer - I just merged the last two PRs. We're feature complete for v0.10!

OK, I'm going to issue the release candidate!

The release candidate has been tagged and is on pypi. Docs are also up:
http://xarray.pydata.org/en/v0.10.0rc1/whats-new.html

We have a few more cleanup/bugfix PRs in progress that I think are almost ready to go in: https://github.com/pydata/xarray/pull/1710, https://github.com/pydata/xarray/pull/1707, https://github.com/pydata/xarray/pull/1705

I would like to merge these and then issue another release candidate.

The second release candidate seems to have been received well. @benbovy and @fujiisoup fixed two issues (#1723 and #1724), but neither of them were actually introduced by rc2. So I think it's time to issue the final release. I'll do so tomorrow unless there are any objections.

The release is tagged and on pypi: https://pypi.python.org/pypi/xarray

I'm waiting for read the docs to finish its rebuild before sending out an announcement to the mailing list.

Great. Thanks @shoyer!

Awesome!
Can we expect a conda build soon?

I just merged the update on conda-forge: https://github.com/conda-forge/xarray-feedstock/pull/26

Was this page helpful?
0 / 5 - 0 ratings