Skip to content

Propagate attrs with unary, binary functions #4195

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
Oct 14, 2020

Conversation

dcherian
Copy link
Contributor

@dcherian dcherian commented Jul 2, 2020

Closes #3490
Closes #4065
Closes #3433
Closes #3595

  • Tests added
  • Passes isort -rc . && black . && mypy . && flake8
  • User visible changes (including notable bug fixes) are documented in whats-new.rst

Still needs work but I thought I'd get opinions on defaults and the approach.

@mathause
Copy link
Collaborator

mathause commented Jul 3, 2020

Thanks! You should then be able to un-xfail this test.

@pytest.mark.xfail(reason="xr.Dataset.map does not copy attrs of DataArrays GH: 3595")

dcherian added 6 commits July 25, 2020 17:01
* upstream/master: (34 commits)
  Fix bug in computing means of cftime.datetime arrays (pydata#4344)
  fix some str accessor inconsistencies (pydata#4339)
  pin matplotlib in ci/requirements/doc.yml (pydata#4340)
  Clarify drop_vars return value. (pydata#4244)
  Support explicitly setting a dimension order with to_dataframe() (pydata#4333)
  Increase support window of all dependencies (pydata#4296)
  Implement interp for interpolating between chunks of data (dask) (pydata#4155)
  Add @mathause to current core developers. (pydata#4335)
  install sphinx-autosummary-accessors from conda-forge (pydata#4332)
  Use sphinx-accessors-autosummary (pydata#4323)
  ndrolling fixes (pydata#4329)
  DOC: fix typo argmin -> argmax in DataArray.argmax docstring (pydata#4327)
  pin sphinx to 3.1(pydata#4326)
  nd-rolling (pydata#4219)
  Implicit dask import 4164 (pydata#4318)
  allow customizing the inline repr of a duck array (pydata#4248)
  silence the known docs CI issues (pydata#4316)
  enh: fixed pydata#4302 (pydata#4315)
  Remove all unused and warn-raising methods from AbstractDataStore (pydata#4310)
  Fix map_blocks example (pydata#4305)
  ...
@dcherian dcherian added the topic-metadata Relating to the handling of metadata (i.e. attrs and encoding) label Aug 15, 2020
@dcherian dcherian changed the title [WIP] Propagate attrs with unary, binary functions Propagate attrs with unary, binary functions Aug 15, 2020
@dcherian
Copy link
Contributor Author

Phew, this is ready for review.

Copy link
Collaborator

@max-sixty max-sixty left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Harder than it initially seemed! 👏

@mathause
Copy link
Collaborator

I am not too familiar with all the code paths here but LGTM.

@dcherian dcherian marked this pull request as draft September 18, 2020 19:32
@dcherian dcherian marked this pull request as ready for review September 18, 2020 19:53
@dcherian
Copy link
Contributor Author

dcherian commented Oct 4, 2020

I'll merge in a couple of days if there are no comments.

Probably best to review the tests to see what the effects (and changed defaults) are.

@max-sixty
Copy link
Collaborator

Looks great! I left one comment re the tests (as ever, possible I'm missing something)

…pagate-attrs

* 'propagate-attrs' of github.com:dcherian/xarray: (22 commits)
  silence sphinx warnings about broken rst (pydata#4448)
  Xarray open_mfdataset with engine Zarr (pydata#4187)
  Fix release notes formatting (pydata#4443)
  fix typo in io.rst (pydata#4250)
  Fix typo (pydata#4181)
  Fix release notes typo
  New whatsnew section
  Add notes re doctests (pydata#4440)
  Fixed dask.optimize on datasets (pydata#4438)
  Release notes for 0.16.1 (pydata#4435)
  Small updates to How-to-release + lint (pydata#4436)
  Fix doctests (pydata#4439)
  add a ci for doctests (pydata#4437)
  preserve original dimension, coordinate and variable order in ``concat`` (pydata#4419)
  Fix for h5py deepcopy issues (pydata#4426)
  Keep the original ordering of the coordinates (pydata#4409)
  Clearer Vectorized Indexing example (pydata#4433)
  Revert "Fix optimize for chunked DataArray (pydata#4432)" (pydata#4434)
  Fix optimize for chunked DataArray (pydata#4432)
  fix doc dataarray to netcdf (pydata#4424)
  ...
Copy link
Collaborator

@keewis keewis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good to me

@dcherian
Copy link
Contributor Author

Thanks for the reviews!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-metadata Relating to the handling of metadata (i.e. attrs and encoding)
Projects
None yet
4 participants