Releases: icesat2py/icepyx
v2.0.1 release
What's new in 2.0.1 (21 November 2025)
These are the changes in icepyx 2.0.1 See :ref:release for a full changelog
including other versions of icepyx.
New Features
- Update fsspec parameters for cloud reads (#677)
Bug fixes
-
Resolve GeoPandas library unary_union warnings (#681)
-
update kwargs in pypistats calls to get the script working again (#714)
-
[bug fix] remove incorrect passing of "no orbital parameters set" string to "readable_granule_name" (#712)
- re-add cycle and track validation removed in #657
- simplify track and cycle properties
- change cycle and track return to None if None is input
- add test for track submission
-
Updating earthaccess and fixing a few minor bugs. (#715)
- update earthaccess to latest version
- fix order url generation
- fix deprecated calls to
varsin data read-in notebook
Maintenance
-
[pre-commit.ci] pre-commit autoupdate (#671)
-
[pre-commit.ci] pre-commit autoupdate (#693)
-
Bump codecov/codecov-action from 5.4.0 to 5.4.2 in the github-actions group (#679)
-
[pre-commit.ci] pre-commit autoupdate (#700)
-
Bump the github-actions group with 3 updates (#707)
-
[pre-commit.ci] pre-commit autoupdate and add fetch depth to integration test action (#702)
-
Test actions updates and cleanup (#696)
-
Bump the github-actions group, remove composite action, pin actions to full length commit SHA (#710)
- Remove composite action, inline into workflows directly: Dependabot did not update the actions/setup-python version in the composite action
- Pin actions to full length commit SHA version (more secure): Xref https://docs.zizmor.sh/audits/#unpinned-uses and https://docs.github.com/en/actions/reference/security/secure-use#using-third-party-actions[pre-commit.ci] pre-commit autoupdate (#711)
-
Bump the github-actions group with 2 updates (#718)
-
[pre-commit.ci] pre-commit autoupdate (#719)
Documentation
- docs: add chuckwondo as a contributor for review (#667)
- Add intersphinx mappings (#680)
- docs: add emmanuel-ferdman as a contributor for code (#697)
- migrate IS2 resource guide to central community page (#706)
- add quest paper to docs (#709)
- [docs] traffic updates Apr-Oct 2025 (#716)
Other
- Separate jobs for publishing to TestPyPI and PyPI (#687)
Contributors
.. contributors:: v2.0.0..v2.0.1|HEAD
v2.0.0
What's new in 2.0.0 (16 May 2025)
These are the changes in icepyx 2.0.0. See https://icepyx.readthedocs.io/en/latest/user_guide/changelog/index.html for a full changelog including other versions of icepyx.
Warning
This is major release and contains a few breaking changes. Full details will be described in the documentation.
NSIDC (the NASA DAAC that hosts ICESat-2 data) is transitioning their API endpoint from the on-premises EGI system to the cloud-based Harmony services. icepyx has been updated to access these new services; Certain capabilities are temporarily going away
- Data reformatting: Currently no format transcoding is available for any ICESat-2 products, so users will only get HDF5 files back from the new Harmony API.
- Variable subsetting: The new cloud subsetter doesn't support variable subsetting (yet), therefore all variables will be included in subsetted orders.
Find more details on all these changes, including their progress, on GitHub issues and discussions.
New Features
-
Adding support for NASA's Harmony subsetter (#657)
- Data orders can be previewed, stopped and resumed using the library or the Harmony UI.
- The Harmony trajectory subsetter automatically pauses orders with more than 300 granules, we need to manually resume them or pass the
skip_preview=Trueparameter to the order. - Reference: https://harmony.earthdata.nasa.gov/
-
Order class: when an order is placed, icepyx will return an order class instance that will help us keep track of the order progress, pause and eventually download the data.
We can still use the Query class to download, however using the order instance is probably simpler and more intuitive. (#657)
Bug fixes
- None
Deprecations
- EGI API is deprecated (Closes #530)
- PR #657 implements NASA Harmony support to replace the on-premises EGI service.
- data reformatting and variable subsetting are not supported in the new API.
- Users will only get HDF5 files back from the new API.
order_vars()is deprecated in favor ofvariables().fmt_for_EGI()is deprecated.- Any EGI specific code is deprecated and has been removed in this release.
- Drop support for Python 3.9 and 3.10 (#655)
- Removed existing deprecations for v1.x (#640)
Maintenance
- Separate CI unit tests and integration tests with their own conftest (#657)
- Fixed some integration tests that were failing due to the new Harmony API #(657)
- Updated ruff action (#654)
Documentation
- Updated notebooks to reflect the new Harmony API usage (#657)
- The updated notebooks include instructions for making full and subset orders, and show how to use the new Harmony API.
- The top level API works the same, users only need to update to v2.0.0 and the code should work (unless using variable subsetting or reformatting)
- Notebooks are in the
doc/source/example_notebooksfolder, and are also available on the Readthedocs documentation page.
- Include quest tile in index.rst (#497)
Other
- None
Contributors
A total of 10 people contributed to this release. People with a “+” by their names contributed for the first time.
- @cclauss
- @JessicaS11
- @betolink +
- @mfisher87
- @RomiP
- @weiji14
- @rwegener2
- @trey-stafford
- @tande-tw +
- @asteiker
Full Changelog: v1.3.0...v2.0.0
v1.3.0
Notice on Pending v1 Deprecation
This is anticipated to be the last release in v1 of icepyx.
NSIDC (the NASA DAAC that hosts ICESat-2 data) is transitioning their API endpoint from the on-premises EGI system to the cloud-based Harmony services. icepyx is being updated to access these new services; the only change users will experience concerns services that are no longer available (e.g. reformatting).
The developers plan to use this version change to implement additional breaking changes concerning the Query module, transitioning it's functionality to use the earthaccess library instead.
Find more details on all these changes, including their progress, on GitHub issues and discussions.
What's Changed
- Update viz doc to clarify its current status (partial functionality - incompatible with OA API changes) by @mfisher87 in #540
- Avoid running tests that require creds on PRs by @mfisher87 in #563
- Skip linting and formatting Jupyter Notebooks for now by @mfisher87 in #567
- Keep GitHub Actions up to date with GitHub's Dependabot by @cclauss in #555
- Bump the github-actions group with 3 updates by @dependabot in #568
- Add codespell spelling/typo linter and fix errors by @cclauss in #556
- Validate pyproject.toml by @cclauss in #557
- Enable currently-ignored linting rules E721, E722, F403 by @cclauss in #573
- Add ruff rules C4 to check comprehensions by @cclauss in #570
- Bugfix: catch multiple types of exceptions by @mfisher87 in #560
- Add quickstart to README by @mfisher87 in #549
- Add ruff rules SIM to simplify Python code by @cclauss in #572
- docs: add cclauss as a contributor for maintenance and review by @allcontributors in #583
- docs: add jrenrut as a contributor for bug, and code by @allcontributors in #586
- docs: add mfisher87 as a contributor for bug, code, and 4 more by @mfisher87 in #585
- Tweak format and wording of contributor doc by @mfisher87 in #566
- More ruff & pre-commit rules by @mfisher87 in #546
- Fix minor typo by @mfisher87 in #589
- Clarify some comments / docstrings by @mfisher87 in #592
- Migrate unit and integration tests from TravisCI to GitHub Actions by @mfisher87 in #580
- Extract constant URLs to own module by @mfisher87 in #591
- Reinstate test_download_granules_without_subsetting by @weiji14 in #581
- Bump sangonzal/repository-traffic-action from 0.1.5 to 1 in the github-actions group by @dependabot in #596
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #597
- bump sangonzal/repository-traffic-action version to latest working one (fixes #596) by @JessicaS11 in #601
- bump sangonzal/repository-traffic-action version to latest working one (fixes #596 + #601)" by @JessicaS11 in #602
- [docs] traffic updates May-Aug 2024 by @JessicaS11 in #606
- Drop support for Python 3.7 and 3.8 by @mfisher87 in #608
- Add v1.x deprecation warning by @mfisher87 in #603
- Replace integration test review trigger with manual trigger by @mfisher87 in #595
- release v1.3.0 by @JessicaS11 in #607
- release v1.3.0 by @JessicaS11 in #611
New Contributors
- @cclauss made their first contribution in #555
- @dependabot made their first contribution in #568
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
- fix bib entry by @JessicaS11 in #529
- [docs] update is2 resources by @JessicaS11 in #535
- update docstring tests for numpy 2.0 by @JessicaS11 in #537
- Add Zenodo badge and update all-contributors badge by @JessicaS11 in #536
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #538
- Replace
setup.pywith equivalentpyproject.tomlby @mfisher87 in #539 - Fix continuous delivery & docs to account for setup.py -> pyproject.toml change by @mfisher87 in #541
- Autofix flake8 ignores E711, E712, E714, F401, F841 with Ruff by @mfisher87 in #542
- Switch to set comparison to fix a test dependent on unreliable order by @mfisher87 in #550
- Switch to ruff by @mfisher87 in #543
- release v1.2.0 by @JessicaS11 in #551
- version 1.2.0 release by @JessicaS11 in #561
New Contributors
- @mfisher87 made their first contribution in #539
Full Changelog: v1.1.0...v1.2.0
v1.1.0
This release contains lots of changed files, but most of them are linting related (end-of-file newlines, trailing whitespace, max characters). Code changes include bug fixes for bad metadata (not directly an icepyx issue, but caused errors because we use the metadata fields) and not submitting temporal arguments to EGI for ATL11, along with maintenance updates to address changes in actions, packaging, and docs builds. We've also update routine documentation and added more details on QUEST.
v1.0.0
Highlights include:
- read in ICESat-2 data in the cloud
- access Argo and ICESat-2 using QUEST (including an example)
- standalone Variables module for ease of use in all ICESat-2 workflows
- updated GitHub actions, including linting (and work towards meeting PEP standards)
v0.8.1
v0.8.1 is a minor patch release to address the bug in reading in ATL08 data (needed for an upcoming tutorial). No other commits currently on development, including a few critical updates (e.g. to correct spot calculations), are included in this release.
v0.8.0
v0.8.0 separates date and time functionality into a temporal module. An auth MixIn class enables sharing of authentication between modules, an important step for cloud data access, and allows users to easily customize their auth settings (e.g. for proxies). Use of intake to read in data groups/variables was deprecated in favor of direct reads through Xarray. Clarifications to authorship, citation, and attribution are also included and support for ATL23 was added.
icepyx (v0.6.4) publication in Journal of Open Source Software (JOSS)
This release is for the final JOSS publication. It is based on the reviewed software release v0.6.4 with additions for the edits requested during the review.
v0.7.0
icepyx has officially adopted earthaccess (>=0.5.1) for handling authentication and cloud credentialing. This release also includes a number of data product specific (e.g. ATL11 read in, ATL13 s3 urls) and other bug fixes, doc and action updates, and welcomes several new contributors.