Skip to content

Releases: earthaccess-dev/earthaccess

v0.16.0

30 Jan 20:04
e6b0b14

Choose a tag to compare

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_datasets now accepts load=False to avoid materializing indexes when they are not needed (e.g. xarray pre-processing metadata) (#1185) (@betolink)

Added

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.login explicitly) if the user had valid EDL credentials specified either via environment variables or a netrc file. This led to potentially unexpected behavior.

    Removing this automatic behavior breaks existing user code that does not make an explicit call to earthdata.login before streaming/downloading data, but used to succeed due to the (perhaps unknown) automatic login behavior.

    Users must now explicitly call earthdata.login in order to access data that requires EDL authentication.

    Removing this automatic behavior was necessary to fix #945.

Fixed

  • Ignore environment variables EARTHDATA_USERNAME and EARTHDATA_PASSWORD when EARTHDATA_TOKEN is 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 AttributeError raised by Auth.get_s3_credentials when EARTHDATA_TOKEN environment variable is set, which prevented the username attribute from being defined on the Auth instance (#1181) (@chuckwondo)

New Contributors

Full Changelog: v0.15.1...v0.16.0

v0.15.1

16 Sep 21:25
3ddbc93

Choose a tag to compare

📣 📣 📣 Bug Fix 📣 📣 📣

  • Patch to avoid import errors with VirtualiZarr/Obstore.

What's Changed

Full Changelog: v0.15.0...v0.15.1

v0.15.0

16 Sep 19:41
6c0fa16

Choose a tag to compare

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 readahead to blockcache.
    Allow user defined config with open_kwargs in the .open() method.
    This improves performance by an order of magnitude.
    (#251)(#771)
    (@betolink)
  • Add show_progress argument to earthaccess.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)
  • download now raises DownloadFailure exception on failure.
    (#612)
    (@Sherwin-14)
  • GESDISC should be GES_DISC in docstrings.
    (#1037)
    (@abarciauskas-bgse)
  • open_virtual_mfdataset now uses virtualizarr v2, and obstore in place of fsspec. Updated Zarr to V3 xref #967.
    (#1074)
    (@owenlittlejohns)
  • Populate search and access user guides.
    (#1035)
    (@andypbarrett)

New Contributors

Full Changelog: v0.14.0...v0.15.0

v0.14.0

11 Feb 23:51
34ffbe2

Choose a tag to compare

[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:
    pass

Added

  • search_datasets now accepts a has_granules keyword argument. Use has_granules=False to search for metadata about collections with no associated granules. The default value set in DataCollections remains True. (#939) (@juliacollins)

Changed

  • Breaking: earthaccess will now raise an exception when login credentials are rejected. If you need the old behavior, please use a try block. (#888) (@mfisher87, @chuckwondo, @jhkennedy)

New Contributors

Full Changelog: v0.13.0...v0.14.0

v0.13.0

29 Jan 04:45
762c2a2

Choose a tag to compare

[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.download will let requests automatically decode compressed content
    (#887)
    (@itcarroll)

  • earthaccess.download now shares the authenticated session cookie among threads to avoid overloading EDL.
    (#913)
    (@hailiangzhang)

Complete autogenerated list:

What's Changed

New Contributors

Full Changelog: v0.12.0...v0.13.0

v0.12.0

13 Nov 18:14

Choose a tag to compare

v0.12.0

Changed

  • Use built-in assert statements instead of unittest assertions in integration tests (#743) (@chuckwondo)

Added

  • Add support for NETRC environment variable to override default .netrc file location (#480) (@chuckwondo)
  • Add nox session 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.sh script has been removed in favor of the integration-tests nox session. (#872) (@jhkennedy)
  • Python 3.9 is no longer supported. (#876) (@mfisher87)

Fixed

Full Changelog: v0.11.0...v0.12.0

v0.11.0

01 Oct 18:28

Choose a tag to compare

v0.11.0

Changed

  • Automatically refresh EDL token and deprecate the Auth.refresh_tokens method with no replacement, as there is no longer a need to explicitly refresh (#484) (@fwfichtner)
  • Deprecate earthaccess.get_s3fs_session and Store.get_s3fs_session. Use earthaccess.get_s3_filesystem and Store.get_s3_filesystem, respectively, instead (#766) (@Sherwin-14, @chuckwondo)

Added

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-level environment.yml introduced in #733 (@jhkennedy)

New Contributors

Full Changelog: v0.10.0...v0.11.0

v0.10.0

19 Jul 19:53

Choose a tag to compare

v0.10.0

Changed

Added

Removed

Fixed

New Contributors

Full Changelog: v0.9.0...v0.10.0

v0.9.0

29 Feb 14:55
8fe6097

Choose a tag to compare

What's Changed

  • Features:

    • Allow datetime object to be provided for temporal queries by @vincentsarago in #451
    • Use pathlib in earthaccess.download() by @kvenkman in #459
    • earthaccess will send user-agent headers to track usage. #443
    • Search by instrument or project e.g. instrument="gedi" #443
  • Bug fixes:

    • Fixed searching for restricted datasets #443
    • Fixed accessing Opera data behind custom endpoints (ASF) #443
  • Maintenance:

New Contributors

Full Changelog: v0.8.2...v0.9.0

v0.8.2

06 Dec 23:00
ed89863

Choose a tag to compare

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-dateutil as a direct dependency
    • Remove binder PR comments
    • Add YAML formatting (prettier)

Full Changelog: v0.8.1...v0.8.2