Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into fix_facecolor_plot
Browse files Browse the repository at this point in the history
* upstream/master: (21 commits)
  fix typo in error message in plot.py (pydata#4188)
  Support multiple dimensions in DataArray.argmin() and DataArray.argmax() methods (pydata#3936)
  Show data by default in HTML repr for DataArray (pydata#4182)
  Blackdoc (pydata#4177)
  Add CONTRIBUTING.md for the benefit of GitHub
  Correct dask handling for 1D idxmax/min on ND data (pydata#4135)
  use assert_allclose in the aggregation-with-units tests (pydata#4174)
  Remove old auto combine (pydata#3926)
  Fix 4009 (pydata#4173)
  Limit length of dataarray reprs (pydata#3905)
  Remove <pre> from nested HTML repr (pydata#4171)
  Proposal for better error message about in-place operation (pydata#3976)
  use builtin python types instead of the numpy alias (pydata#4170)
  Revise pull request template (pydata#4039)
  pint support for Dataset (pydata#3975)
  drop eccodes in docs (pydata#4162)
  Update issue templates inspired/based on dask (pydata#4154)
  Fix failing upstream-dev build & remove docs build (pydata#4160)
  Improve typehints of xr.Dataset.__getitem__ (pydata#4144)
  provide a error summary for assert_allclose (pydata#3847)
  ...
  • Loading branch information
dcherian committed Jul 1, 2020
2 parents d65416a + 54b9450 commit b1c15ad
Show file tree
Hide file tree
Showing 62 changed files with 2,939 additions and 1,620 deletions.
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
xarray@googlegroups.com. For major/feature releases, I will email a broader
list (no more than once every 3-6 months):
- pydata@googlegroups.com
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
5 changes: 4 additions & 1 deletion ci/azure/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ 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 \
Expand All @@ -23,7 +25,8 @@ steps:
cftime \
rasterio \
pint \
bottleneck
bottleneck \
sparse
python -m pip install \
-i https://pypi.anaconda.org/scipy-wheels-nightly/simple \
--no-deps \
Expand Down
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
2 changes: 1 addition & 1 deletion ci/requirements/py36.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ dependencies:
- numba
- numpy
- pandas
- pint
- pip
- pseudonetcdf
- pydap
Expand All @@ -45,3 +44,4 @@ dependencies:
- zarr
- pip:
- numbagg
- pint
2 changes: 1 addition & 1 deletion ci/requirements/py37-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ dependencies:
- numba
- numpy
- pandas
- pint
- pip
- pseudonetcdf
- pydap
Expand All @@ -45,3 +44,4 @@ dependencies:
- zarr
- pip:
- numbagg
- pint
2 changes: 1 addition & 1 deletion ci/requirements/py37.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ dependencies:
- numba
- numpy
- pandas
- pint
- pip
- pseudonetcdf
- pydap
Expand All @@ -45,3 +44,4 @@ dependencies:
- zarr
- pip:
- numbagg
- pint
2 changes: 1 addition & 1 deletion ci/requirements/py38-all-but-dask.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ dependencies:
- numba
- numpy
- pandas
- pint
- pip
- pseudonetcdf
- pydap
Expand All @@ -42,3 +41,4 @@ dependencies:
- zarr
- pip:
- numbagg
- pint
Loading

0 comments on commit b1c15ad

Please sign in to comment.