All notable changes to this project will be documented in this file.
The format is based on Common Changelog and this project uses Semantic Versioning.
- Use built-in
assert
statements instead ofunittest
assertions in integration tests (#743) (@chuckwondo)
- 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)
- The
scripts/integration-test.sh
script has been removed in favor of theintegration-tests
nox session. (#872) (@jhkennedy) - Python 3.9 is no longer supported. (#876) (@mfisher87)
earthaccess.download
will not ignore errors by default (#581) (@Sherwin-14, @chuckwondo, @mfisher87)- Integration tests no longer clobber existing
.netrc
file (#806) (@chuckwondo) - Return an empty list instead of raising an
IndexError
when searches find no results. (#526) (@jhkennedy)
0.11.0 2024-10-01
- 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
andStore.get_s3fs_session
. Useearthaccess.get_s3_filesystem
andStore.get_s3_filesystem
, respectively, instead (#766) (@Sherwin-14, @chuckwondo)
- 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)
- Remove
binder/
directory, as we no longer need a special binder environment with the top-levelenvironment.yml
introduced in #733 (@jhkennedy)
- Remove broken link "Introduction to NASA earthaccess" (#779) (@Sherwin-14)
- Restore automation for tidying notebooks used in documentation (#788) (@itcarroll)
- Remove the base class on
EarthAccessFile
to fix method resolution (#610) (@itcarroll)
0.10.0 2024-07-19
- Perform YAML formatting with
yamlfmt
instead ofprettier
(#555) (@chuckwondo, @mfisher87) - Replace
print
calls withlogging
calls where appropriate and add T20 Ruff rule (#511) (@botanical, @chuckwondo, @mfisher87) - Update
CHANGELOG.md
to follow Common Changelog conventions (#584) (@danielfromearth, @chuckwondo, @jhkennedy, @mfisher87)
- 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)
- Added documentation for the backwards compatibility (#471) (@Sherwin-14, @mfisher87)
- Breaking: Remove support for Python 3.8 (#457) (@mfisher87, @chuckwondo)
- Breaking: Remove the
get_user_profile
method and theemail_address
andprofile
attributes from theAuth
class. 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)
- 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)
0.9.0 - 2024-02-28
- Improve search by adding instrument and project to collection queries (#427) (@betolink, @mfisher87, @jhkennedy)
- Add user-agent in the request to track usage (#436) (@asteiker, @@mikedorfman, @betolink)
- Implement more trusted domains in the SessionWithRedirection (#439) (@cmspeed, @mfisher87, @betolink, @jhkennedy)
- Use an authenticated session for hits() instead of calling parent's class super() (#438) (@betolink, @mfisher87, @jhkennedy)
0.8.2 - 2023-12-06
- Update poetry lockfile (#403) (@jrbourbeau)
- Use YAML formatting (prettier) (#398) (@jrbourbeau)
- Add CI tests with minimum supported versions (#402) (@jrbourbeau, @mfisher87, @jhkennedy)
- Add
python-dateutil
as a direct dependency (#397) (@jrbourbeau)
- Remove binder PR comments (#400) (@jrbourbeau)
- Enable AWS check with IMDSv2 (#391) (@jrbourbeau, @mfisher87, @itcarroll)
- Add region to running in AWS check (#395) (@jrbourbeau, @betolink)
- Handle opening multi-file granules (#394) (@jrbourbeau, @betolink)
0.8.1 - 2023-12-01
- Handle S3 credential expiration more gracefully (#354) (@jrbourbeau, @mfisher87)
- Use dependabot to update GitHub Actions (#373) (@jhkennedy)
- Consolidate dependabot updates (#380) (@mfisher87)
- Switch to
ruff
for formatting (#372) (@jrbourbeau, @mfisher87)
- Add
kerchunk
metadata consolidation utility (#278) (@jrbourbeau, @mfisher87, @betolink, @martindurant, @lsterzinger, @mrocklin)
0.8.0 - 2023-11-29
- Raise errors instead of
print
ing them in more cases (#351) (@jrbourbeau) daac
andprovider
parameters are now normalized to uppercase, since lowercase characters are never valid (#355) (@jrbourbeau, @mfisher87)- Allow single file URL inputs for
earthaccess.download
(#347) (@jrbourbeau, @mfisher87)
- Fix zero granules being reported for restricted datasets (#358) (@danielfromearth)
0.7.1 - 2023-11-08
- Treat granules without
RelatedUrls
as not cloud-hosted (#339) (@mfisher87)
0.7.0 - 2023-10-31
earthaccess.download
now accepts a single granule as input in addition to a list of granules (#317) (@jrbourbeau)earthaccess.download
now returns fully qualified local file paths (#317) (@jrbourbeau)
- Earthaccess will now automatically search for Earthdata authentication.
earthaccess.login()
still works as before, but is no longer required if you have a~/.netrc
file for have setEARTHDATA_USERNAME
andEARTHDATA_PASSWORD
environment variables (#300) (@jrbourbeau, @mfisher87) - Add
earthaccess.auth_environ()
utility for getting Earthdata authentication environment variables (#316) (@jrbourbeau, @mfisher87)
- Fix spelling mistake in
access
variable assignment (direc
->direct
) inearthaccess.store._get_granules
(#308) (@trey-stafford) - Pass
threads
arg to_open_urls_https
inearthaccess.store._open_urls
, replacing the hard-coded value of 8 (#308) (@trey-stafford) - Return S3 data links by default when in region (#318) (@jrbourbeau, @mfisher87, @jhkennedy)
0.6.0 - 2023-09-20
earthaccess.get_s3fs_session()
can use the results to find the right set of S3 credentials (#296) (@betolink)
earthaccess.search_datasets()
andearthaccess.search_data()
can find restricted datasets (#296) (@betolink)- Fix distributed serialization for EarthAccessFile (#301) (@jrbourbeau) and (#276) (@jrbourbeau, @betolink)
0.5.3 - 2023-08-01
- Add download from onprem how-to (#265) (@andypbarrett)
- For CI, integration tests are now only run when we push to main (after a merge) (#267) (@betolink)
- For CI, unit tests are run for any branch and opened PR (#267) (@betolink)
- Update example in
search_datasets
(#247) (@jrbourbeau) - Improve remote cluster performance (#259) (@jrbourbeau, @mrocklin, @mfisher87)
- Return useful error message for failed download (#263) (@andypbarrett)
- Granule's size() returned zero (#267) (@betolink)
- Add exception handling for fsspec sessions, thanks to @jrbourbeau (#249) (@jrbourbeau)
0.5.2 - 2023-04-21
- Remove Benedict (core dependency) as the default dict for JSON coming from CMR (#229, #230) (@psarka)
- S3 credentials endpoints are tried with tokens and basic auth until all the DAACs accept the same auth (#234) (@betolink)
0.5.1 - 2023-03-20
- For CI, documentation for readthedocs fixed by including poetry as the default tool (#214) (@betolink)
- For CI, injected new secrets to test Auth using the icepyx convention (EARTHDATA_USERNAME) (#214) (@JessicaS11, @betolink)
- Add ability to get the user's profile with auth.user_profile which includes the user email (#214) (@betolink)
- Add LAAD as a supported DAAC (#214) (@betolink)
- Remove magic from dependencies (not available in windows and not used but just in tests) (#214) (@betolink)
get_s3_credentials()
only worked when a netrc file was present, bug reported by @scottyhq and @JessicaS11 (#214) (@betolink, @JessicaS11, @scottyhq)- Include tests for all DAAC S3 endpoints (#214) (@betolink)
- Update notebooks to use the new top level API (#214) (@betolink)
0.5.0 - 2023-02-23
- For CI, documentation is now only built for the main, dev and documentation branches (#202) (@betolink)
- For CI, notebooks are executed every time the documentation gets published! (#202) (@betolink, @asteiker)
- Add ability to use the top level API to get S3 credentials, authenticated fsspec and requests sessions! (#202) (@betolink)
- Make available ASF direct access for Sentinel1 products (#202) (@betolink)
- Fix a bug where the Auth class is invoked without the proper parameters (#202) (@JessicaS11)
- Raise and exception if a user specifies the netrc strategy and there is no netrc (#202) (@betolink)
- S3 URLs broke the Store class when opened outside AWS (#202) (@betolink)
- Opening files using URLs was not working properly on AWS, thanks to @amfriesz for reporting it! (#202) (@betolink, @amfriesz)
0.4.7 - 2022-12-11
- Fix open() for direct access (#186) (@betolink)
- Move python-magic to the dev section because it is a test dependency (#186) (@betolink)
- Make minor edits in the README (#186) (@betolink)
0.4.6 - 2022-12-08
- Add feature to search collections by DOI (#183) (@betolink)
- Add new API documentation and simplify notation to access data (#183) (@jroebuck932)
0.4.1 - 2022-11-02
- For CI, install Poetry using the new script (#131) (@betolink)
- For CI, change dependabot alerts to monthly (#131) (@betolink)
- Improve documentation by reimplementing python_cmr methods for docstring compatibility (#131) (@betolink)
- Use
CMR-Search-After
(#145) (@betolink)
- Add GES_DISC S3 endpoint (#131) (@betolink)
- Improve documentation by adding types to method signatures (#131) (@betolink)
- Add store, auth to docs and update mkdocs config (#119) (@betolink)
- For
auth
, add the ability to persist credentials into a.netrc
file (#119) (@betolink) - For
store
, use fsspec s3fs for in cloud access and https sessions for out of region access (#43) (@betolink) - For
store
, can open files with fsspec in and out of region (stream into xarray) (#41) (@betolink)
0.3.0 - 2022-04-28
- Update python-cmr to NASA fork (#75) (@jhkennedy)
- Drop unused
pydantic
dependency (5761548
) (@jhkennedy) - Auth can refresh CMR tokens (#82) (@betolink)
- Verify git tag and poetry version are the same before publishing to PyPI
- Fix bug with CMR tokens
- Add missing
python-datutil
dependency (747e992
) (@jhkennedy)
0.2.2 - 2022-03-23
- Fix store to download multi-file granules (#73) (@betolink)
- Fix granule formatting (#73) (@betolink)
0.2.1 - 2022-03-19
- Rename Accessor to Store
(
4bd618d
) (@betolink) - Relax dependency requirements
(
c9a5ed6
) (@betolink) - Store can download plain links if they are on prem
(
92d2919
) (@betolink)
0.1.0-beta.1 - 2021-09-21
Conception!
- Add basic classes to interact with NASA CMR, EDL and cloud access.
- Basic object formatting.