add a drop_conflicts strategy for merging attrs#4827
add a drop_conflicts strategy for merging attrs#4827dcherian merged 25 commits intopydata:masterfrom
Conversation
changed functions: concat, merge, combine_by_coords, combine_nested, merge_core
|
this seems a bit tricky to get right: Line 597 in fb67358 and similar for concat (and probably combine_*). For now, I'll mark the tests as "skipped".
|
|
I only modified As mentioned above, |
|
Unless I'm missing something this should be ready for review |
max-sixty
left a comment
There was a problem hiding this comment.
While I don't have that much context — the code looks excellent, and the tests very complete!
| ), | ||
| ], | ||
| ) | ||
| def test_concat_combine_attrs_kwarg_variables( |
There was a problem hiding this comment.
| def test_concat_combine_attrs_kwarg_variables( | |
| def test_concat_combine_attrs_kwarg_dataarrays( |
or data_vars (took me a while to figure out what was different from above)
There was a problem hiding this comment.
thanks, I forgot to check the coords. The purpose of these tests is to check whether combine_attrs is applied to the variables (coords and data variables) in addition to the top-level Dataset / DataArray. Would it help to have a comment explaining the difference?
| ), | ||
| ], | ||
| ) | ||
| def test_merge_arrays_attrs_variables( |
|
Thanks @keewis |
…_and_bounds_as_coords * upstream/master: (51 commits) Ensure maximum accuracy when encoding and decoding cftime.datetime values (pydata#4758) Fix `bounds_error=True` ignored with 1D interpolation (pydata#4855) add a drop_conflicts strategy for merging attrs (pydata#4827) update pre-commit hooks (mypy) (pydata#4883) ensure warnings cannot become errors in assert_ (pydata#4864) update pre-commit hooks (pydata#4874) small fixes for the docstrings of swap_dims and integrate (pydata#4867) Modify _encode_datetime_with_cftime for compatibility with cftime > 1.4.0 (pydata#4871) vélin (pydata#4872) don't skip the doctests CI (pydata#4869) fix da.pad example for numpy 1.20 (pydata#4865) temporarily pin dask (pydata#4873) Add units if "unit" is in the attrs. (pydata#4850) speed up the repr for big MultiIndex objects (pydata#4846) dim -> coord in DataArray.integrate (pydata#3993) WIP: backend interface, now it uses subclassing (pydata#4836) weighted: small improvements (pydata#4818) Update related-projects.rst (pydata#4844) iris update doc url (pydata#4845) Faster unstacking (pydata#4746) ...
* upstream/master: (24 commits) Compatibility with dask 2021.02.0 (pydata#4884) Ensure maximum accuracy when encoding and decoding cftime.datetime values (pydata#4758) Fix `bounds_error=True` ignored with 1D interpolation (pydata#4855) add a drop_conflicts strategy for merging attrs (pydata#4827) update pre-commit hooks (mypy) (pydata#4883) ensure warnings cannot become errors in assert_ (pydata#4864) update pre-commit hooks (pydata#4874) small fixes for the docstrings of swap_dims and integrate (pydata#4867) Modify _encode_datetime_with_cftime for compatibility with cftime > 1.4.0 (pydata#4871) vélin (pydata#4872) don't skip the doctests CI (pydata#4869) fix da.pad example for numpy 1.20 (pydata#4865) temporarily pin dask (pydata#4873) Add units if "unit" is in the attrs. (pydata#4850) speed up the repr for big MultiIndex objects (pydata#4846) dim -> coord in DataArray.integrate (pydata#3993) WIP: backend interface, now it uses subclassing (pydata#4836) weighted: small improvements (pydata#4818) Update related-projects.rst (pydata#4844) iris update doc url (pydata#4845) ...
As described in #4749, this adds a
"drop_conflicts"strategy for merging attrs. For now, onlymergeworks,combine_by_attrs,combine_nested, andconcatstill fail because they rely onvariable.concatto always use"override".pre-commit run --all-fileswhats-new.rstapi.rstOverriding CI behaviors
By default, the upstream dev CI is disabled on pull request and push events. You can override this behavior per commit by adding a [test-upstream] tag to the first line of the commit message. For documentation-only commits, you can skip the CI per commit by adding a [skip-ci] tag to the first line of the commit message