This release brings compatibility with numpy 2 and various performance optimizations.
Thanks to the 22 contributors to this release:
Alfonso Ladino, David Hoese, Deepak Cherian, Eni Awowale, Ilan Gold, Jessica Scheick, Joe Hamman, Justus Magin, Kai Mühlbauer, Mark Harfouche, Mathias Hauser, Matt Savoie, Maximilian Roos, Mike Thramann, Nicolas Karasiak, Owen Littlejohns, Paul Ockenfuß, Philippe THOMY, Scott Henderson, Spencer Clark, Stephan Hoyer and Tom Nicholas
Allow users to pass of list of values to filter a key by.
See [#384](https://github.com/ecmwf/cfgrib/issues/384) <https://github.com/ecmwf/cfgrib/pull/384>_.
Functionality to ignore keys when reading a grib file
See [#382](https://github.com/ecmwf/cfgrib/issues/382) <https://github.com/ecmwf/cfgrib/pull/382>_.
Preserve coordinate encoding in cfgrib.open_datasets
See [#381](https://github.com/ecmwf/cfgrib/issues/381) <https://github.com/ecmwf/cfgrib/pull/381>_.
0.9.12.0 (2024-05-26)
fixed issue where GRIB messages with non-hourly steps could not be read
See [#370](https://github.com/ecmwf/cfgrib/issues/370) <https://github.com/ecmwf/cfgrib/pull/370>_.
Commits
c6cff34 Merge pull request #387 from ecmwf/feature/release-0.9.13.0
NumPy 2.0.0 is the first major release since 2006. It is the result of
11 months of development since the last feature release and is the work
of 212 contributors spread over 1078 pull requests. It contains a large
number of exciting new features as well as changes to both the Python
and C APIs.
This major release includes breaking changes that could not happen in a
regular minor (feature) release - including an ABI break, changes to
type promotion rules, and API changes which may not have been emitting
deprecation warnings in 1.26.x. Key documents related to how to adapt to
changes in NumPy 2.0, in addition to these release notes, include:
A new variable-length string dtype, numpy.dtypes.StringDType and a new
numpy.strings namespace with performant ufuncs for string operations,
Support for float32 and longdouble in all
numpy.fft functions,
Support for the array API standard in the main numpy
namespace.
Performance improvements:
Sorting functions sort, argsort,
partition, argpartition have been
accelerated through the use of the Intel x86-simd-sort and
Google Highway libraries, and may see large (hardware-specific)
speedups,
macOS Accelerate support and binary wheels for macOS >=14, with
significant performance improvements for linear algebra
operations on macOS, and wheels that are about 3 times smaller,
numpy.char fixed-length string operations have
been accelerated by implementing ufuncs that also support
numpy.dtypes.StringDType in addition to the
fixed-length string dtypes,
A new tracing and introspection API,
numpy.lib.introspect.opt_func_info, to determine
which hardware-specific kernels are available and will be
dispatched to.
numpy.save now uses pickle protocol version 4 for saving
arrays with object dtype, which allows for pickle objects larger
than 4GB and improves saving speed by about 5% for large arrays.
Python API improvements:
... (truncated)
Commits
1d49c7f Merge pull request #26698 from charris/prepare-2.0.0
#12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
#12367: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
#12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
Improved Documentation
#12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
#12356: Added a subsection to the documentation for debugging flaky tests to mention
lack of thread safety in pytest as a possible source of flakyness.
#12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
8.2.1
pytest 8.2.1 (2024-05-19)
Improvements
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
If you attempt to combine statement coverage data with branch coverage data,
coverage.py used to fail with the message "Can't combine arc data with line
data" or its reverse, "Can't combine line data with arc data." These
messages used internal terminology, making it hard for people to understand
the problem. They are now changed to mention "branch coverage data" and
"statement coverage data."
Fixed a minor branch coverage problem with wildcard match/case cases using
names or guard clauses.
Started testing on 3.13 free-threading (nogil) builds of Python. I'm not
claiming full support yet. Closes issue 1799_.
Performance improvements for combining data files, especially when measuring
line coverage. A few different quadratic behaviors were eliminated. In one
extreme case of combining 700+ data files, the time dropped from more than
three hours to seven minutes. Thanks for Kraken Tech for funding the fix.
Performance improvements for generating HTML reports, with a side benefit of
reducing memory use, closing issue 1791_. Thanks to Daniel Diniz for
helping to diagnose the problem.
Fix: nested matches of exclude patterns could exclude too much code, as
reported in issue 1779_. This is now fixed.
Changed: previously, coverage.py would consider a module docstring to be an
executable statement if it appeared after line 1 in the file, but not
executable if it was the first line. Now module docstrings are never counted
as executable statements. This can change coverage.py's count of the number
of statements in a file, which can slightly change the coverage percentage
reported.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the python-dependencies group with 8 updates in the / directory:
2024.3.0
2024.6.0
1.6.5
1.7.1.post1
0.9.11.0
0.9.13.0
4.2.1
4.3.0
1.26.4
2.0.0
8.2.0
8.2.2
0.4.3
0.5.0
7.5.1
7.5.4
Updates
xarray
from 2024.3.0 to 2024.6.0Release notes
Sourced from xarray's releases.
... (truncated)
Commits
bef0406
release v2024.06.0 (#9113)b31a495
release notes for 2024.06.0 (#9092)6554855
[skip-ci] Try fixing hypothesis CI trigger (#9112)ce196d5
Undo custom padding-top. (#9107)cea4dd1
add remaining core-dev citations [skip-ci][skip-rtd] (#9110)2e0dd6f
Add user survey announcement to docs (#9101)b221808
skip thepandas
datetime roundtrip test withpandas=3.0
(#9104)7ec0952
Adds Matt Savoie to CITATION.cff (#9103)aacfeba
[skip-ci] Fix skip-ci for hypothesis (#9102)3967351
open_datatree performance improvement on NetCDF, H5, and Zarr files (#9014)Updates
netcdf4
from 1.6.5 to 1.7.1.post1Changelog
Sourced from netcdf4's changelog.
Commits
Updates
cfgrib
from 0.9.11.0 to 0.9.13.0Release notes
Sourced from cfgrib's releases.
Changelog
Sourced from cfgrib's changelog.
Commits
c6cff34
Merge pull request #387 from ecmwf/feature/release-0.9.13.0c3896dc
Release 0.9.13.0011a5d1
Merge pull request #384 from ecmwf/filter-by-keys-list151037b
Merge branch 'master' into filter-by-keys-listb098bc5
Merge pull request #382 from ecmwf/ignore_keys0fd4cd9
Merge branch 'master' into ignore_keysdaf975f
name change for test0ec25c0
QAc8c415d
testse325b4f
QAUpdates
couchbase
from 4.2.1 to 4.3.0Commits
b92c82d
Update C++ core to 1.0.01207880
PYCBC-1588: Add support for importing FTS index from JSON11a2040
Bump Vector Search to committed stability level.388682b
Update pre-commit hooks and clang-formatc3e29d6
Update C++ core4e0beea
PYCBC-1603: Handle empty VectorQuery field namef630b04
PYCBC-1597: Support for base64 encoded vector typesd7391bc
Update C++ core539679d
PYCBC-1583: Fix BucketType.COUCHBASE being ignored from bucket settingse86af1c
PYCBC-1596: Fix AnalyticsStatus Enum valuesUpdates
numpy
from 1.26.4 to 2.0.0Release notes
Sourced from numpy's releases.
... (truncated)
Commits
1d49c7f
Merge pull request #26698 from charris/prepare-2.0.02103511
DOC: Remove duplicate in author list.db8030e
BUG: Change cibuildwheel version [wheel build]1a68264
REL: Prepare for the NumPy 2.0.0 release [wheel build]c8665ba
Merge pull request #26696 from charris/backport-26582103f4dd
Merge pull request #26697 from charris/backport-25963c193dcd
Merge pull request #26695 from charris/backport-266678fa8191
BUG: Fix bug in numpy.pad() (#25963)ece3559
BUG: weighted nanpercentile, nanquantile and multi-dim q (#26582)b31e195
BUG: Adds asanyarray to start of linalg.cross (#26667)Updates
pytest
from 8.2.0 to 8.2.2Release notes
Sourced from pytest's releases.
Commits
329d371
Prepare release version 8.2.2214d098
Merge pull request #12414 from bluetech/backport-12409153a436
[8.2.x] fixtures: fix catastrophic performance problem inreorder_items
b41d5a5
Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x9bb73d7
[8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...4569a01
[8.2.x] doc: Update trainings/events (#12402)1d103e5
[8.2.x] Clarify pytest_ignore_collect docs (#12386)240a252
[8.2.x] Add html_baseurl to sphinx conf.py (#12372)a5ee3c4
Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.xf7358ae
[8.2.x] unittest: fix class instances no longer released on test teardown sin...Updates
ruff
from 0.4.3 to 0.5.0Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
244b923
Add necessary permissions for cargo-dist Docker build (#12072)a8b48fc
Release v0.5.0 (#12068)04c8597
[flake8-simplify
] Stabilize detection of Yoda conditions for "constant" col...4029a25
[Ruff v0.5] Stabilise 15 pylint rules (#12051)0917ce1
Update documentation to mentionetcetera
crate instead ofdirs
for user c...22cebdf
Add server config to filter out syntax error diagnostics (#12059)72b6c26
SimplifyLinterResult
, avoid cloningParseError
(#11903)73851e7
Avoid displaying syntax error as log message (#11902)e7b4969
RemoveE999
as a rule, disallow any disablement methods for syntax error (#...c98d8a0
[pyflakes
] Stabilize detection of is comparisons to lists, etc. (F632
) (#...Updates
coverage
from 7.5.1 to 7.5.4Changelog
Sourced from coverage's changelog.
... (truncated)
Commits
22c09c6
docs: sample HTML for 7.5.49e16381
docs: prep for 7.5.4fba9b9e
docs: link issue 1799 from the changelogf124de8
build: no longer download kits to upload them9516cf6
build: hash-pin all actionsc6e0985
build: finish up the publish action4a49458
build: get the latest dist run id for publishingfb15efa
build: pin hashes for publishing actionsc20af95
build: use the correct item: github.event.actionccbab15
build: dump all the github actions dataDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show