Releases: earthaccess-dev/earthaccess
v0.16.0
Changed
- Improved performance of fetching temporary S3 credentials (roughly 4x speedup) by using EDL user token rather than EDL username/password in request (#1182) (@chuckwondo)
open_virtual_datasetsnow acceptsload=Falseto avoid materializing indexes when they are not needed (e.g. xarray pre-processing metadata) (#1185) (@betolink)
Added
- Added methods
doiandcitationtoDataCollectionclass. (#203) (@Sherwin-14, @chuckwondo)
Removed
-
Breaking: Remove default automatic login behavior. This removes previously undocumented behavior, where a user would be logged in automatically (i.e., without having to call
earthdata.loginexplicitly) if the user had valid EDL credentials specified either via environment variables or anetrcfile. This led to potentially unexpected behavior.Removing this automatic behavior breaks existing user code that does not make an explicit call to
earthdata.loginbefore streaming/downloading data, but used to succeed due to the (perhaps unknown) automatic login behavior.Users must now explicitly call
earthdata.loginin order to access data that requires EDL authentication.Removing this automatic behavior was necessary to fix #945.
Fixed
- Ignore environment variables
EARTHDATA_USERNAMEandEARTHDATA_PASSWORDwhenEARTHDATA_TOKENis set (#1121) (@chuckwondo) - Use only specified login strategy to attempt login, when strategy other than "all" is specified (#945) (@chuckwondo)
- Fix undesirable pre-commit changes when running on Windows (#1143) (@ana-sher)
- No longer erroneously strip authorization header for valid hosts (#1130) (@chuckwondo)
- Fix
AttributeErrorraised byAuth.get_s3_credentialswhenEARTHDATA_TOKENenvironment variable is set, which prevented theusernameattribute from being defined on theAuthinstance (#1181) (@chuckwondo)
New Contributors
- @tsutterley made their first contribution in #1101
- @ana-sher made their first contribution in #1144
Full Changelog: v0.15.1...v0.16.0
v0.15.1
v0.15.0
New features
Hide progress bar
files = earthaccess.open(results, show_progress=False)Updated documentation, enhanced docsstrings and user guide documentation
Support for VirtualiZarr 2.x e.g. virtual Tempo data cube
faster fsspec caching and open kwargs:
fsspec_open_kwargs = {
"cache_type": "blockcache", # cache strategy
"block_size": 4 * 1024 * 1024 # bytes
}
files = earthaccess.open(results, open_kwargs=fsspec_open_kwargs)This speeds up .open() by potentially an order of magnitude!
What's Changed
- Populated glossary section under USER-REFERENCE.
(#1027)
(@Sherwin-14) - Change default cache behavior in fsspec from
readaheadtoblockcache.
Allow user defined config withopen_kwargsin the.open()method.
This improves performance by an order of magnitude.
(#251)(#771)
(@betolink) - Add
show_progressargument toearthaccess.download()to let the user control display of progress bars. Defaults to true for interactive sessions, otherwise false.
(#612)
(#1065)
(@Sherwin-14) - Updated bug and triage label names in bug Issue template.
(#998)
(@asteiker) downloadnow raisesDownloadFailureexception on failure.
(#612)
(@Sherwin-14)GESDISCshould beGES_DISCin docstrings.
(#1037)
(@abarciauskas-bgse)open_virtual_mfdatasetnow usesvirtualizarrv2, andobstorein place offsspec. Updated Zarr to V3 xref #967.
(#1074)
(@owenlittlejohns)- Populate search and access user guides.
(#1035)
(@andypbarrett)
New Contributors
- @weiji14 made their first contribution in #966
- @rwegener2 made their first contribution in #977
- @stelios-c made their first contribution in #994
- @kgrimes2 made their first contribution in #1020
- @jbusecke made their first contribution in #1067
- @mike-gangl made their first contribution in #971
- @owenlittlejohns made their first contribution in #1074
- @alexandervladsemenov made their first contribution in #1015
Full Changelog: v0.14.0...v0.15.0
v0.14.0
[v0.14.0] - 2025-02-11
📣 📣 📣 BREAKING CHANGE 📣 📣 📣
From now on, any time Earthdata Login rejects credentials, a Python exception will be raised. You can get the old behavior with a standard try/except block:
# Caution: If credentials are rejected, you should know about it and update any env vars
# or .netrc files. If credentials are rejected too many times, you could get locked out
# of your account.
try:
earthaccess.login()
except Exception:
passAdded
search_datasetsnow accepts ahas_granuleskeyword argument. Usehas_granules=Falseto search for metadata about collections with no associated granules. The default value set inDataCollectionsremainsTrue. (#939) (@juliacollins)
Changed
- Breaking: earthaccess will now raise an exception when login credentials are rejected. If you need the old behavior, please use a
tryblock. (#888) (@mfisher87, @chuckwondo, @jhkennedy)
New Contributors
- @juliacollins made their first contribution in #940
Full Changelog: v0.13.0...v0.14.0
v0.13.0
[v0.13.0] - 2025-01-28
Changed
- Integration tests: Test are no longer randomized! this means each fail should be reproducible, we are testing the most
popular datasets from all DAACs, see files under tests/integration/popular_collections.
(#215)
(@mfisher87)
Added
- VirtualiZarr: earthaccess can open archival formats (NetCDF, HDF5) as if they were Zarr by leveraging VirtualiZarr
In order to use this capability the collection needs to be supported by OPeNDAP and have dmrpp files.
See example notebooks!
(@ayushnag and @TomNicholas)
Fixed
-
earthaccess.downloadwill let requests automatically decode compressed content
(#887)
(@itcarroll) -
earthaccess.downloadnow shares the authenticated session cookie among threads to avoid overloading EDL.
(#913)
(@hailiangzhang)
Complete autogenerated list:
What's Changed
- Refactor development guide by @jhkennedy in #874
- chore: update pre-commit hooks by @pre-commit-ci in #886
- Opening virtual datasets (dmr-adapter) by @ayushnag in #606
- Fix Incorrect Earthdata Login Hyperlinks by @mitchstartzel in #907
- Add a workflow for generating Hackday Github Discussion threads by @Sherwin-14 in #914
- Fix
CATEGORY_IDin hack day discussion workflow by @mfisher87 in #917 - download using chunk iteration rather than raw response by @itcarroll in #920
- Fix small open_virtual_dataset bugs by @ayushnag in #923
- Thread-local Session Management and Cookie Reuse to Address EDL DSE issue by @hailiangzhang in #909
- NASA directive updates by @asteiker in #928
- Refactor integration tests to remove random collection sampling by @mfisher87 in #749
- Add earthaccess-virtualizarr tutorial notebook by @ayushnag in #904
- Preparing the release of v0.13.0 by @betolink in #931
New Contributors
- @ayushnag made their first contribution in #606
- @mitchstartzel made their first contribution in #907
- @hailiangzhang made their first contribution in #909
Full Changelog: v0.12.0...v0.13.0
v0.12.0
v0.12.0
Changed
- Use built-in
assertstatements instead ofunittestassertions in integration tests (#743) (@chuckwondo)
Added
- Add support for
NETRCenvironment variable to override default.netrcfile location (#480) (@chuckwondo) - Add
noxsession for running integration tests locally (#815; @chuckwondo and #872; @jhkennedy) - Auto-add comment to PR that requires maintainer to review and re-run integration tests (#824) (@chuckwondo)
Removed
- The
scripts/integration-test.shscript has been removed in favor of theintegration-testsnox session. (#872) (@jhkennedy) - Python 3.9 is no longer supported. (#876) (@mfisher87)
Fixed
earthaccess.downloadwill not ignore errors by default (#581) (@Sherwin-14, @chuckwondo, @mfisher87)- Integration tests no longer clobber existing
.netrcfile (#806) (@chuckwondo) - Return an empty list instead of raising an
IndexErrorwhen searches find no results. (#526) (@jhkennedy)
Full Changelog: v0.11.0...v0.12.0
v0.11.0
v0.11.0
Changed
- Automatically refresh EDL token and deprecate the
Auth.refresh_tokensmethod with no replacement, as there is no longer a need to explicitly refresh (#484) (@fwfichtner) - Deprecate
earthaccess.get_s3fs_sessionandStore.get_s3fs_session. Useearthaccess.get_s3_filesystemandStore.get_s3_filesystem, respectively, instead (#766) (@Sherwin-14, @chuckwondo)
Added
- Add Issue Templates (#281) (@Sherwin-14)
- Support Service queries (#447) (@nikki-t, @chuckwondo, @mfisher87, @betolink)
- Add example PR links to pull request template (#756) (@Sherwin-14, @mfisher87)
- Add Contributing Naming Convention document (#532) (@Sherwin-14, @mfisher87)
Fixed
- Remove broken link "Introduction to NASA earthaccess" (#779) (@Sherwin-14)
- Restore automation for tidying notebooks used in documentation (#788) (@itcarroll)
Removed
- Remove
binder/directory, as we no longer need a special binder environment with the top-levelenvironment.ymlintroduced in #733 (@jhkennedy)
New Contributors
- @fwfichtner made their first contribution in #782
- @nikki-t made their first contribution in #500
Full Changelog: v0.10.0...v0.11.0
v0.10.0
v0.10.0
Changed
- Perform YAML formatting with
yamlfmtinstead of
prettier(#555)
(@chuckwondo,@mfisher87) - Replace
printcalls withloggingcalls where appropriate and add T20 Ruff rule
(#511)
(@botanical,@chuckwondo,
@mfisher87) - Update
CHANGELOG.mdto follow Common Changelog conventions
(#584)
(@danielfromearth,@chuckwondo,
@jhkennedy,@mfisher87)
Added
- Enable queries to Earthdata User Acceptance Testing (UAT) system for authenticated accounts
(#421)
(@danielfromearth,@mfisher87,
@jhkennedy,@chuckwondo,
@betolink) - Add support for Python 3.12
(#457)
(@chuckwondo,@mfisher87)
Removed
- Breaking: Remove support for Python 3.8
(#457)
(@mfisher87,@chuckwondo) - Breaking: Remove the
get_user_profilemethod and theemail_addressandprofileattributes
from theAuthclass. Calling the EDL API to get user profile information
is not intended for library access and is not necessary for this library's
intended use cases. (#421)
(@danielfromearth,@mfisher87,
@jhkennedy,@chuckwondo,
@betolink)
Fixed
- Use Search After
for collection and granule searches to support deep-paging through large result sets
(#483)
(@doug-newman-nasa,@chuckwondo,
@mfisher87,@betolink) - Correct and enhance static type hints for functions and methods that make CMR queries
or handle CMR query results (#508)
(@mfisher87,@jhkennedy,
@chuckwondo,@betolink) - Create destination path prior to direct S3 downloads, if it doesn't already
exist (#562)
(@itcarroll,@mfisher87,
@chuckwondo)
-Fix broken image link in sea level rise tutorial
((#427)(@jbrownrs)
New Contributors
- @battistowx made their first contribution in #492
- @chuckwondo made their first contribution in #497
- @doug-newman-nasa made their first contribution in #494
- @rupesh2 made their first contribution in #469
- @botanical made their first contribution in #566
- @Sherwin-14 made their first contribution in #579
- @jbrownrs made their first contribution in #753
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
-
Features:
-
Bug fixes:
-
Maintenance:
- Update README.md by @abarciauskas-bgse in #429
- Clarify that temporal and bbox args must be tuples in docstrings, fix docstring formatting by @mfisher87, @danielfromearth in #448
- Update CITATION.cff to fix Zenodo, add CFF validator by @mfisher87 in #408
- Add workflow to update PRs with docs preview link in description by @mfisher87 in #414
- Remove s3fs < 2024 pin by @rsignell in #466
- Update README.md by @asteiker in #434
New Contributors
- @abarciauskas-bgse made their first contribution in #429
- @vincentsarago made their first contribution in #451
- @kvenkman made their first contribution in #459
- @rsignell made their first contribution in #466
Full Changelog: v0.8.2...v0.9.0
v0.8.2
What's Changed
- Bug fixes:
- Enable AWS check with IMDSv2
- Add region to running in AWS check
- Handle opening multi-file granules
- Maintenance:
- Add CI tests with minimum supported versions
- Update poetry lockfile
- Add
python-dateutilas a direct dependency - Remove binder PR comments
- Add YAML formatting (prettier)
Full Changelog: v0.8.1...v0.8.2