Skip to content
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

Xarray open_mfdataset with engine Zarr #2

Closed
wants to merge 72 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
c788ee4
DOC: add pandas.DataFrame.to_xarray (#3994)
raybellwaves Apr 23, 2020
37551da
Fix some code quality and bug-risk issues (#3999)
pnijhara Apr 24, 2020
6ca3bd7
full_like: error on non-scalar fill_value (#3979)
Huite Apr 24, 2020
33a66d6
Fix handling of abbreviated units like msec (#3998)
dopplershift Apr 24, 2020
4e196f7
ensure Variable._repr_html_ works (#3973)
arabidopsis Apr 29, 2020
8834afa
Apply blackdoc to the documentation (#4012)
keewis Apr 29, 2020
3820fb7
Pint support for DataArray (#3643)
keewis Apr 29, 2020
6ce0724
fix to_netcdf docstring typo (#4021)
letmaik May 3, 2020
1b3c768
chore: Remove unnecessary comprehension (#4026)
pnijhara May 5, 2020
1c5adc9
Support overriding existing variables in to_zarr() without appending …
shoyer May 5, 2020
59b470f
Allow warning with cartopy in docs plotting build (#4032)
shoyer May 5, 2020
9ec3f7b
Remove broken test for Panel with to_pandas() (#4028)
shoyer May 6, 2020
fe7962a
Transpose coords by default (#3824)
max-sixty May 6, 2020
0b6e22f
Add template xarray object kwarg to map_blocks (#3816)
dcherian May 6, 2020
0e43ba9
Use literal syntax instead of function calls to create the data struc…
pnijhara May 6, 2020
69548df
support darkmode (#4036)
fujiisoup May 7, 2020
3e5dd6e
Add xarray-leaflet to the visualization projects (#4051)
davidbrochart May 11, 2020
bd84186
Fix contour when levels is scalar and norm is provided. (#3914)
dcherian May 12, 2020
c73e958
FIX: correct dask array handling in _calc_idxminmax (#3922)
kmuehlbauer May 13, 2020
8051c47
fix the failing flake8 CI (#4057)
keewis May 13, 2020
2542a63
Fixed typo in rasterio docs (#4063)
clausmichele May 14, 2020
742d000
#1621 optional decode timedelta (#4071)
aurghs May 19, 2020
f38b0c1
remove the backslash escapes and typehint fragments in the API docs (…
keewis May 19, 2020
261df2e
Document Xarray zarr encoding conventions (#4047)
rabernat May 20, 2020
cb90d55
Fix html repr in untrusted notebooks (plain text fallback) (#4053)
benbovy May 20, 2020
5c04ebf
Add NetCDF3 dtype coercion for unsigned integer types (#4018)
blsqr May 20, 2020
484d1ce
improve to_zarr doc about chunking (#4048)
apatlpo May 20, 2020
19b0886
fix dangerous default arguments (#4006)
pnijhara May 23, 2020
f3ffab7
Fix bool weights (#4075)
mathause May 23, 2020
bdb1d33
allow multiindex levels in plots (#3938)
mathause May 25, 2020
3194b3e
xr.cov() and xr.corr() (#4089)
AndrewILWilliams May 25, 2020
1de38bc
Auto chunk (#4064)
AndrewILWilliams May 25, 2020
d1f7cb8
Improve interp performance (#4069)
fujiisoup May 25, 2020
864877c
Corrcov typo fix (#4096)
AndrewILWilliams May 26, 2020
e5cc19c
Fix conversion of multiindexed pandas objects to sparse xarray object…
dcherian May 26, 2020
a2e9804
Add xarray-custom to related projects (#4109)
astropenguin May 29, 2020
73b013f
Assign default group name in groupby if name=None (#158) (#4098)
pjbutcher May 30, 2020
fd9e620
xr.infer_freq (#4033)
aulemahal May 30, 2020
93b2d04
update numpy's intersphinx url (#4117)
keewis Jun 1, 2020
09df5ca
Allow non-unique and non-monotonic coordinates in get_clean_interp_in…
aulemahal Jun 5, 2020
274bd4b
Fix open_rasterio() for WarpedVRT with specified src_crs (#4104)
dtpc Jun 5, 2020
c07160d
keep attrs in reset_index (#4103)
OriolAbril Jun 5, 2020
2a288f6
map_blocks: Allow passing dask-backed objects in args (#3818)
dcherian Jun 7, 2020
4071125
Fix the upstream-dev pandas build failure (#4138)
keewis Jun 11, 2020
8f688ea
Remove outdated note from datetime accessor docstring (#4148)
spencerkclark Jun 11, 2020
59a2397
speed up map_blocks (#4149)
keewis Jun 12, 2020
48fbee0
parameter documentation for DataArray.sel (#4150)
keewis Jun 12, 2020
e8bd866
Recommend installing cftime when time decoding fails. (#4134)
dcherian Jun 12, 2020
e26b80f
built-in accessor documentation (#3988)
keewis Jun 13, 2020
2ba5300
provide a error summary for assert_allclose (#3847)
keewis Jun 13, 2020
bc5c79e
Improve typehints of xr.Dataset.__getitem__ (#4144)
nbren12 Jun 15, 2020
6f272b5
Fix failing upstream-dev build & remove docs build (#4160)
shoyer Jun 16, 2020
52bb0a2
Update issue templates inspired/based on dask (#4154)
shoyer Jun 17, 2020
ad0a76b
drop eccodes in docs (#4162)
raybellwaves Jun 17, 2020
66e7730
pint support for Dataset (#3975)
keewis Jun 17, 2020
b9e6a36
Revise pull request template (#4039)
shoyer Jun 18, 2020
2a8cd3b
use builtin python types instead of the numpy alias (#4170)
keewis Jun 22, 2020
fb5fe79
Proposal for better error message about in-place operation (#3976)
mancellin Jun 24, 2020
a2dac23
Remove <pre> from nested HTML repr (#4171)
shoyer Jun 24, 2020
f281b3b
Limit length of dataarray reprs (#3905)
max-sixty Jun 24, 2020
24d755d
Fix 4009 (#4173)
johnomotani Jun 24, 2020
3088de2
Remove old auto combine (#3926)
TomNicholas Jun 24, 2020
5121d86
use assert_allclose in the aggregation-with-units tests (#4174)
keewis Jun 24, 2020
f4638af
Correct dask handling for 1D idxmax/min on ND data (#4135)
aulemahal Jun 25, 2020
65ca92a
Add CONTRIBUTING.md for the benefit of GitHub
shoyer Jun 25, 2020
732750a
Blackdoc (#4177)
keewis Jun 27, 2020
a64cf2d
Show data by default in HTML repr for DataArray (#4182)
shoyer Jun 28, 2020
bdcfab5
Support multiple dimensions in DataArray.argmin() and DataArray.argma…
johnomotani Jun 29, 2020
13be3e0
Ensure class functions have necessary variables
weiji14 Jun 29, 2020
1977ba1
Merge remote-tracking branch 'origin/master' into open_mfzarr
weiji14 Jun 29, 2020
afbcf78
Combine MutableMapping and Zarr engine condition
weiji14 Jun 29, 2020
cba93c3
Pop out overwrite_encoded_chunks after shallow copy backend_kwargs dict
weiji14 Jun 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .deepsource.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
version = 1

test_patterns = [
"*/tests/**",
"*/test_*.py"
]

exclude_patterns = [
"doc/**",
"ci/**"
]

[[analyzers]]
name = "python"
enabled = true

[analyzers.meta]
runtime_version = "3.x.x"
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

<!-- Please include a self-contained copy-pastable example that generates the issue if possible.

Please be concise with code posted. See guidelines below on how to provide a good bug report:

- Craft Minimal Bug Reports: http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports
- Minimal Complete Verifiable Examples: https://stackoverflow.com/help/mcve

Bug reports that follow these guidelines are easier to diagnose, and so are often handled much more quickly.
-->

**What happened**:

**What you expected to happen**:

**Minimal Complete Verifiable Example**:

```python
# Put your MCVE code here
```

**Anything else we need to know?**:

**Environment**:

<details><summary>Output of <tt>xr.show_versions()</tt></summary>

<!-- Paste the output here xr.show_versions() here -->


</details>
35 changes: 0 additions & 35 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: General Question
url: https://stackoverflow.com/questions/tagged/python-xarray
about: "If you have a question like *How do I append to an xarray.Dataset?* then please ask on Stack Overflow using the #python-xarray tag."
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

<!-- Please do a quick search of existing issues to make sure that this has not been asked before. -->

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context about the feature request here.
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@
- [ ] Closes #xxxx
- [ ] Tests added
- [ ] Passes `isort -rc . && black . && mypy . && flake8`
- [ ] Fully documented, including `whats-new.rst` for all changes and `api.rst` for new API
- [ ] User visible changes (including notable bug fixes) are documented in `whats-new.rst`
- [ ] New functions/methods are listed in `api.rst`
6 changes: 5 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,16 @@ repos:
rev: stable
hooks:
- id: black
- repo: https://github.com/keewis/blackdoc
rev: stable
hooks:
- id: blackdoc
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
hooks:
- id: flake8
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.761 # Must match ci/requirements/*.yml
rev: v0.780 # Must match ci/requirements/*.yml
hooks:
- id: mypy
# run this occasionally, ref discussion https://github.com/pydata/xarray/pull/3194
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Xarray's contributor guidelines [can be found in our online documentation](http://xarray.pydata.org/en/stable/contributing.html)
53 changes: 26 additions & 27 deletions HOW_TO_RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,21 @@
How to issue an xarray release in 16 easy steps
# How to issue an xarray release in 17 easy steps

Time required: about an hour.

1. Ensure your master branch is synced to upstream:
```
git pull upstream master
```
2. Look over whats-new.rst and the docs. Make sure "What's New" is complete
2. Get a list of contributors with:
```
git log "$(git tag --sort="v:refname" | sed -n 'x;$p').." --format=%aN | sort -u | perl -pe 's/\n/$1, /'
```
or by substituting the _previous_ release in:
```
git log v0.X.Y-1.. --format=%aN | sort -u | perl -pe 's/\n/$1, /'
```
Add these into `whats-new.rst` somewhere :)
3. Look over whats-new.rst and the docs. Make sure "What's New" is complete
(check the date!) and consider adding a brief summary note describing the
release at the top.
Things to watch out for:
Expand All @@ -16,41 +25,41 @@ Time required: about an hour.
due to a bad merge. Check for these before a release by using git diff,
e.g., `git diff v0.X.Y whats-new.rst` where 0.X.Y is the previous
release.
3. If you have any doubts, run the full test suite one final time!
4. If you have any doubts, run the full test suite one final time!
```
pytest
```
4. Check that the ReadTheDocs build is passing.
5. On the master branch, commit the release in git:
5. Check that the ReadTheDocs build is passing.
6. On the master branch, commit the release in git:
```
git commit -am 'Release v0.X.Y'
```
6. Tag the release:
7. Tag the release:
```
git tag -a v0.X.Y -m 'v0.X.Y'
```
7. Build source and binary wheels for pypi:
8. Build source and binary wheels for pypi:
```
git clean -xdf # this deletes all uncommited changes!
python setup.py bdist_wheel sdist
```
8. Use twine to check the package build:
9. Use twine to check the package build:
```
twine check dist/xarray-0.X.Y*
```
9. Use twine to register and upload the release on pypi. Be careful, you can't
10. Use twine to register and upload the release on pypi. Be careful, you can't
take this back!
```
twine upload dist/xarray-0.X.Y*
```
You will need to be listed as a package owner at
https://pypi.python.org/pypi/xarray for this to work.
10. Push your changes to master:
11. Push your changes to master:
```
git push upstream master
git push upstream --tags
```
11. Update the stable branch (used by ReadTheDocs) and switch back to master:
12. Update the stable branch (used by ReadTheDocs) and switch back to master:
```
git checkout stable
git rebase master
Expand All @@ -60,7 +69,7 @@ Time required: about an hour.
It's OK to force push to 'stable' if necessary. (We also update the stable
branch with `git cherrypick` for documentation only fixes that apply the
current released version.)
12. Add a section for the next release (v.X.Y+1) to doc/whats-new.rst:
13. Add a section for the next release (v.X.Y+1) to doc/whats-new.rst:
```
.. _whats-new.0.X.Y+1:

Expand All @@ -86,19 +95,19 @@ Time required: about an hour.
Internal Changes
~~~~~~~~~~~~~~~~
```
13. Commit your changes and push to master again:
14. Commit your changes and push to master again:
```
git commit -am 'New whatsnew section'
git push upstream master
```
You're done pushing to master!
14. Issue the release on GitHub. Click on "Draft a new release" at
15. Issue the release on GitHub. Click on "Draft a new release" at
https://github.com/pydata/xarray/releases. Type in the version number, but
don't bother to describe it -- we maintain that on the docs instead.
15. Update the docs. Login to https://readthedocs.org/projects/xray/versions/
16. Update the docs. Login to https://readthedocs.org/projects/xray/versions/
and switch your new release tag (at the bottom) from "Inactive" to "Active".
It should now build automatically.
16. Issue the release announcement! For bug fix releases, I usually only email
17. Issue the release announcement! For bug fix releases, I usually only email
[email protected]. For major/feature releases, I will email a broader
list (no more than once every 3-6 months):
- [email protected]
Expand All @@ -109,18 +118,8 @@ Time required: about an hour.

Google search will turn up examples of prior release announcements (look for
"ANN xarray").
You can get a list of contributors with:
```
git log "$(git tag --sort="v:refname" | sed -n 'x;$p').." --format="%aN" | sort -u
```
or by substituting the _previous_ release in:
```
git log v0.X.Y-1.. --format="%aN" | sort -u
```
NB: copying this output into a Google Groups form can cause
[issues](https://groups.google.com/forum/#!topic/xarray/hK158wAviPs) with line breaks, so take care

Note on version numbering:
## Note on version numbering

We follow a rough approximation of semantic version. Only major releases (0.X.0)
should include breaking changes. Minor releases (0.X.Y) are for bug fixes and
Expand Down
18 changes: 0 additions & 18 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,21 +108,3 @@ jobs:
python ci/min_deps_check.py ci/requirements/py36-bare-minimum.yml
python ci/min_deps_check.py ci/requirements/py36-min-all-deps.yml
displayName: minimum versions policy

- job: Docs
pool:
vmImage: 'ubuntu-16.04'
steps:
- template: ci/azure/install.yml
parameters:
env_file: ci/requirements/doc.yml
- bash: |
source activate xarray-tests
# Replicate the exact environment created by the readthedocs CI
conda install --yes --quiet -c pkgs/main mock pillow sphinx sphinx_rtd_theme
displayName: Replicate readthedocs CI environment
- bash: |
source activate xarray-tests
cd doc
sphinx-build -W --keep-going -j auto -b html -d _build/doctrees . _build/html
displayName: Build HTML docs
30 changes: 25 additions & 5 deletions ci/azure/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,37 @@ steps:
conda env create -n xarray-tests --file ${{ parameters.env_file }}
displayName: Install conda dependencies

# TODO: add sparse back in, once Numba works with the development version of
# NumPy again: https://github.com/pydata/xarray/issues/4146
- bash: |
source activate xarray-tests
conda uninstall -y --force \
numpy \
scipy \
pandas \
matplotlib \
dask \
distributed \
zarr \
cftime \
rasterio \
pint \
bottleneck \
sparse
python -m pip install \
-f https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com \
-i https://pypi.anaconda.org/scipy-wheels-nightly/simple \
--no-deps \
--pre \
--upgrade \
matplotlib \
numpy \
scipy
scipy \
pandas
python -m pip install \
-f https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com \
--no-deps \
--pre \
--upgrade \
matplotlib
python -m pip install \
--no-deps \
--upgrade \
Expand All @@ -29,8 +50,7 @@ steps:
git+https://github.com/Unidata/cftime \
git+https://github.com/mapbox/rasterio \
git+https://github.com/hgrecco/pint \
git+https://github.com/pydata/bottleneck \
git+https://github.com/pandas-dev/pandas
git+https://github.com/pydata/bottleneck
condition: eq(variables['UPSTREAM_DEV'], 'true')
displayName: Install upstream dev dependencies

Expand Down
3 changes: 1 addition & 2 deletions ci/requirements/doc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,10 @@ dependencies:
- netcdf4>=1.5
- numba
- numpy>=1.17
- numpydoc
- pandas>=1.0
- rasterio>=1.1
- seaborn
- setuptools
- sphinx>=2.3
- sphinx_rtd_theme>=0.4
- zarr>=2.4
- zarr>=2.4
4 changes: 2 additions & 2 deletions ci/requirements/py36-min-all-deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ dependencies:
- cfgrib=0.9
- cftime=1.0
- coveralls
- dask=2.2
- distributed=2.2
- dask=2.5
- distributed=2.5
- flake8
- h5netcdf=0.7
- h5py=2.9 # Policy allows for 2.10, but it's a conflict-fest
Expand Down
7 changes: 4 additions & 3 deletions ci/requirements/py36-min-nep18.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,17 @@ dependencies:
# require drastically newer packages than everything else
- python=3.6
- coveralls
- dask=2.4
- distributed=2.4
- dask=2.5
- distributed=2.5
- msgpack-python=0.6 # remove once distributed is bumped. distributed GH3491
- numpy=1.17
- pandas=0.25
- pint=0.11
- pip
- pytest
- pytest-cov
- pytest-env
- scipy=1.2
- setuptools=41.2
- sparse=0.8
- pip:
- pint==0.13
Loading