Skip to content

Commit 072e87c

Browse files
committed
Merge remote-tracking branch 'upstream/main' into feature/rolling-pad
* upstream/main: (765 commits) increase typing annotations coverage in `xarray/core/indexing.py` (pydata#8857) pandas 3 MultiIndex fixes (pydata#8847) FIX: adapt handling of copy keyword argument in scipy backend for numpy >= 2.0dev (pydata#8851) FIX: do not cast _FillValue/missing_value in CFMaskCoder if _Unsigned is provided (pydata#8852) Implement setitem syntax for `.oindex` and `.vindex` properties (pydata#8845) Support pandas copy-on-write behaviour (pydata#8846) correctly encode/decode _FillValues/missing_values/dtypes for packed data (pydata#8713) Expand use of `.oindex` and `.vindex` (pydata#8790) Return a dataclass from Grouper.factorize (pydata#8777) [skip-ci] Fix upstream-dev env (pydata#8839) Add dask-expr for windows envs (pydata#8837) [skip-ci] Add dask-expr dependency to doc.yml (pydata#8835) Add `dask-expr` to environment-3.12.yml (pydata#8827) Make list_chunkmanagers more resilient to broken entrypoints (pydata#8736) Do not attempt to broadcast when global option ``arithmetic_broadcast=False`` (pydata#8784) try to get the `upstream-dev` CI to complete again (pydata#8823) Bump the actions group with 1 update (pydata#8818) Update documentation for clarity (pydata#8817) DOC: link to zarr.convenience.consolidate_metadata (pydata#8816) Refactor Grouper objects (pydata#8776) ...
2 parents d02d2fd + 84dc961 commit 072e87c

File tree

303 files changed

+41685
-14040
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+41685
-14040
lines changed

.binder/environment.yml

+3-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@ name: xarray-examples
22
channels:
33
- conda-forge
44
dependencies:
5-
- python=3.9
5+
- python=3.10
66
- boto3
77
- bottleneck
88
- cartopy
9-
- cdms2
109
- cfgrib
1110
- cftime
1211
- coveralls
@@ -25,7 +24,7 @@ dependencies:
2524
- numpy
2625
- packaging
2726
- pandas
28-
- pint
27+
- pint>=0.22
2928
- pip
3029
- pooch
3130
- pydap
@@ -38,5 +37,4 @@ dependencies:
3837
- toolz
3938
- xarray
4039
- zarr
41-
- pip:
42-
- numbagg
40+
- numbagg

.codecov.yml

+28-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,38 @@
11
codecov:
2-
ci:
3-
# by default, codecov doesn't recognize azure as a CI provider
4-
- dev.azure.com
5-
require_ci_to_pass: yes
2+
require_ci_to_pass: true
63

74
coverage:
85
status:
96
project:
107
default:
118
# Require 1% coverage, i.e., always succeed
12-
target: 1
9+
target: 1%
10+
flags:
11+
- unittests
12+
paths:
13+
- "!xarray/tests/"
14+
unittests:
15+
target: 90%
16+
flags:
17+
- unittests
18+
paths:
19+
- "!xarray/tests/"
20+
mypy:
21+
target: 20%
22+
flags:
23+
- mypy
1324
patch: false
1425
changes: false
1526

16-
comment: off
27+
comment: false
28+
29+
flags:
30+
unittests:
31+
paths:
32+
- "xarray"
33+
- "!xarray/tests"
34+
carryforward: false
35+
mypy:
36+
paths:
37+
- "xarray"
38+
carryforward: false

.github/ISSUE_TEMPLATE/bugreport.yml

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ body:
4444
- label: Complete example — the example is self-contained, including all data and the text of any traceback.
4545
- label: Verifiable example — the example copy & pastes into an IPython prompt or [Binder notebook](https://mybinder.org/v2/gh/pydata/xarray/main?urlpath=lab/tree/doc/examples/blank_template.ipynb), returning the result.
4646
- label: New issue — a search of GitHub Issues suggests this is not a duplicate.
47+
- label: Recent environment — the issue occurs with the latest version of xarray and its dependencies.
4748

4849
- type: textarea
4950
id: log-output

.github/config.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Comment to be posted to on first time issues
2+
newIssueWelcomeComment: >
3+
Thanks for opening your first issue here at xarray! Be sure to follow the issue template!
4+
5+
If you have an idea for a solution, we would really welcome a Pull Request with proposed changes.
6+
7+
See the [Contributing Guide](https://docs.xarray.dev/en/latest/contributing.html) for more.
8+
9+
It may take us a while to respond here, but we really value your contribution. Contributors like you help make xarray better.
10+
11+
Thank you!
12+
13+
# Comment to be posted to on PRs from first time contributors in your repository
14+
newPRWelcomeComment: >
15+
Thank you for opening this pull request! It may take us a few days to respond here, so thank you for being patient.
16+
17+
If you have questions, some answers may be found in our [contributing guidelines](http://docs.xarray.dev/en/stable/contributing.html).
18+
19+
# Comment to be posted to on pull requests merged by a first time user
20+
firstPRMergeComment: >
21+
Congratulations on completing your first pull request! Welcome to Xarray!
22+
We are proud of you, and hope to see you again!
23+
![celebration gif](https://media.giphy.com/media/umYMU8G2ixG5mJBDo5/giphy.gif)

.github/dependabot.yml

+4
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ updates:
55
schedule:
66
# Check for updates once a week
77
interval: 'weekly'
8+
groups:
9+
actions:
10+
patterns:
11+
- "*"

.github/labeler.yml

-82
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
name: Benchmark compare last release
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
workflow_dispatch:
8+
9+
jobs:
10+
benchmark:
11+
name: Linux
12+
runs-on: ubuntu-20.04
13+
env:
14+
ASV_DIR: "./asv_bench"
15+
CONDA_ENV_FILE: ci/requirements/environment.yml
16+
17+
steps:
18+
# We need the full repo to avoid this issue
19+
# https://github.com/actions/checkout/issues/23
20+
- uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Set up conda environment
25+
uses: mamba-org/setup-micromamba@v1
26+
with:
27+
environment-file: ${{env.CONDA_ENV_FILE}}
28+
environment-name: xarray-tests
29+
cache-environment: true
30+
cache-environment-key: "${{runner.os}}-${{runner.arch}}-py${{env.PYTHON_VERSION}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}-benchmark"
31+
create-args: >-
32+
asv
33+
34+
- name: 'Get Previous tag'
35+
id: previoustag
36+
uses: "WyriHaximus/github-action-get-previous-tag@v1"
37+
# with:
38+
# fallback: 1.0.0 # Optional fallback tag to use when no tag can be found
39+
40+
- name: Run benchmarks
41+
shell: bash -l {0}
42+
id: benchmark
43+
env:
44+
OPENBLAS_NUM_THREADS: 1
45+
MKL_NUM_THREADS: 1
46+
OMP_NUM_THREADS: 1
47+
ASV_FACTOR: 1.5
48+
ASV_SKIP_SLOW: 1
49+
run: |
50+
set -x
51+
# ID this runner
52+
asv machine --yes
53+
echo "Baseline: ${{ steps.previoustag.outputs.tag }} "
54+
echo "Contender: ${{ github.sha }}"
55+
# Use mamba for env creation
56+
# export CONDA_EXE=$(which mamba)
57+
export CONDA_EXE=$(which conda)
58+
# Run benchmarks for current commit against base
59+
ASV_OPTIONS="--split --show-stderr --factor $ASV_FACTOR"
60+
asv continuous $ASV_OPTIONS ${{ steps.previoustag.outputs.tag }} ${{ github.sha }} \
61+
| sed "/Traceback \|failed$\|PERFORMANCE DECREASED/ s/^/::error::/" \
62+
| tee benchmarks.log
63+
# Report and export results for subsequent steps
64+
if grep "Traceback \|failed\|PERFORMANCE DECREASED" benchmarks.log > /dev/null ; then
65+
exit 1
66+
fi
67+
working-directory: ${{ env.ASV_DIR }}
68+
69+
- name: Add instructions to artifact
70+
if: always()
71+
run: |
72+
cp benchmarks/README_CI.md benchmarks.log .asv/results/
73+
working-directory: ${{ env.ASV_DIR }}
74+
75+
- uses: actions/upload-artifact@v4
76+
if: always()
77+
with:
78+
name: asv-benchmark-results-${{ runner.os }}
79+
path: ${{ env.ASV_DIR }}/.asv/results

.github/workflows/benchmarks.yml

+7-7
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77

88
jobs:
99
benchmark:
10-
if: ${{ contains( github.event.pull_request.labels.*.name, 'run-benchmark') && github.event_name == 'pull_request' || contains( github.event.pull_request.labels.*.name, 'topic-performance') && github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
10+
if: ${{ contains( github.event.pull_request.labels.*.name, 'run-benchmark') && github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' }}
1111
name: Linux
1212
runs-on: ubuntu-20.04
1313
env:
@@ -17,18 +17,18 @@ jobs:
1717
steps:
1818
# We need the full repo to avoid this issue
1919
# https://github.com/actions/checkout/issues/23
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@v4
2121
with:
2222
fetch-depth: 0
2323

2424
- name: Set up conda environment
25-
uses: mamba-org/provision-with-micromamba@v15
25+
uses: mamba-org/setup-micromamba@v1
2626
with:
2727
environment-file: ${{env.CONDA_ENV_FILE}}
2828
environment-name: xarray-tests
29-
cache-env: true
30-
cache-env-key: "${{runner.os}}-${{runner.arch}}-py${{env.PYTHON_VERSION}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}-benchmark"
31-
extra-specs: |
29+
cache-environment: true
30+
cache-environment-key: "${{runner.os}}-${{runner.arch}}-py${{env.PYTHON_VERSION}}-${{env.TODAY}}-${{hashFiles(env.CONDA_ENV_FILE)}}-benchmark"
31+
create-args: >-
3232
asv
3333
3434
@@ -67,7 +67,7 @@ jobs:
6767
cp benchmarks/README_CI.md benchmarks.log .asv/results/
6868
working-directory: ${{ env.ASV_DIR }}
6969

70-
- uses: actions/upload-artifact@v3
70+
- uses: actions/upload-artifact@v4
7171
if: always()
7272
with:
7373
name: asv-benchmark-results-${{ runner.os }}

0 commit comments

Comments
 (0)