From bcf9613992ff005e374b5400b2b3fb2b0f28b1bc Mon Sep 17 00:00:00 2001 From: Owen Littlejohns Date: Wed, 19 Jun 2024 13:18:51 -0400 Subject: [PATCH 1/4] IP-242 - Add .snyk file. --- .snyk | 4 ++++ README.md | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 .snyk diff --git a/.snyk b/.snyk new file mode 100644 index 0000000..c554f40 --- /dev/null +++ b/.snyk @@ -0,0 +1,4 @@ +# Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. +version: v1.25.0 +language-settings: + python: "3.9" diff --git a/README.md b/README.md index 0c7721e..2e36aa1 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,10 @@ GPM/IMERGHH and MERRA collections. |- tests ``` +* .snyk - A file used by the Snyk webhook to ensure the correct version of + Python is used when installing the full dependency tree for the Harmony + Regridding Service. This file should be updated when the version of Python is + updated in the service Docker image. * CHANGELOG.md - This file contains a record of changes applied to each new public release of a service Docker image. Any release of a new service version since migrating to GitHub should have a record of what was changed in From 338056ba17e658584bc4d91876c6fc69373afa2e Mon Sep 17 00:00:00 2001 From: Owen Littlejohns Date: Thu, 20 Jun 2024 10:36:43 -0400 Subject: [PATCH 2/4] IP-242 - Update service to use Python 3.11. --- .snyk | 2 +- CHANGELOG.md | 18 ++++++++++++++++-- bin/extract-release-notes.sh | 31 ++++++++++++++++++++----------- docker/service.Dockerfile | 2 +- docker/service_version.txt | 2 +- 5 files changed, 39 insertions(+), 16 deletions(-) diff --git a/.snyk b/.snyk index c554f40..aa2f47b 100644 --- a/.snyk +++ b/.snyk @@ -1,4 +1,4 @@ # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities. version: v1.25.0 language-settings: - python: "3.9" + python: "3.11" diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d92d16..21356d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ -## v1.0.0 -### 2024-04-12 +# Change Log + +The Harmony Regridding Service follows semantic versioning. All notable changes +to this project will be documented in this file. The format is based on [Keep a +Changelog](http://keepachangelog.com/en/1.0.0/). + +## [v1.0.1] - 2024-06-20 + +### Changed +This version of the Harmony Regridding Service updates to use Python 3.11. + +## [v1.0.0] - 2024-04-12 This version of the Harmony Regridding Service contains all functionality previously released internally to EOSDIS as `sds/harmony-regridder:0.0.4`. @@ -11,3 +21,7 @@ include updated documentation and files outlined by the For more information on internal releases prior to NASA open-source approval, see legacy-CHANGELOG.md. + +[unreleased]: https://github.com/nasa/harmony-regridding-service/compare/1.0.1..HEAD +[v1.0.1]: https://github.com/nasa/harmony-regridding-service/compare/1.0.0..1.0.1 +[v1.0.0]: https://github.com/nasa/harmony-regridding-service/compare/0.0.4-legacy..1.0.0 diff --git a/bin/extract-release-notes.sh b/bin/extract-release-notes.sh index 6fe9d54..c03096c 100755 --- a/bin/extract-release-notes.sh +++ b/bin/extract-release-notes.sh @@ -2,22 +2,31 @@ ############################################################################### # # A bash script to extract only the notes related to the most recent version of -# the Harmony Regridding service from CHANGELOG.md +# HyBIG from CHANGELOG.md # # 2023-06-16: Created. # 2023-10-10: Copied from earthdata-varinfo repository to HOSS. -# 2024-04-12: Copied from HOSS to the Harmony Regridding service. +# 2024-01-03: Copied from HOSS repository to the Swath Projector. +# 2024-01-23: Copied and modified from Swath Projector repository to HyBIG. +# 2024-06-20: Copied and modified from HyBIG. # ############################################################################### CHANGELOG_FILE="CHANGELOG.md" -VERSION_PATTERN="^## v" -# Count number of versions in version file: -number_of_versions=$(grep -c "${VERSION_PATTERN}" ${CHANGELOG_FILE}) -if [ ${number_of_versions} -gt 1 ] -then - grep -B 9999 -m 2 "${VERSION_PATTERN}" ${CHANGELOG_FILE} | sed '$d' | sed '$d' -else - cat ${CHANGELOG_FILE} -fi +## captures versions +## >## v1.0.0 +## >## [v1.0.0] +VERSION_PATTERN="^## [\[]v" + +## captures url links +## [unreleased]:https://github.com/nasa/harmony-regridding-service/compare/1.0.1..HEAD +## [v1.2.0]: https://github.com/nasa/harmony-regridding-service/compare/1.0.0..1.0.1 +LINK_PATTERN="^\[.*\].*\.\..*" + +# Read the file and extract text between the first two occurrences of the +# VERSION_PATTERN +result=$(awk "/$VERSION_PATTERN/{c++; if(c==2) exit;} c==1" "$CHANGELOG_FILE") + +# Print the result +echo "$result" | grep -v "$VERSION_PATTERN" | grep -v "$LINK_PATTERN" diff --git a/docker/service.Dockerfile b/docker/service.Dockerfile index a24c328..325476f 100644 --- a/docker/service.Dockerfile +++ b/docker/service.Dockerfile @@ -9,7 +9,7 @@ # 2023-01-26: Added to repository. # ############################################################################### -FROM python:3.9.14-slim-bullseye +FROM python:3.11.9-slim-bullseye WORKDIR "/home" diff --git a/docker/service_version.txt b/docker/service_version.txt index 3eefcb9..7dea76e 100644 --- a/docker/service_version.txt +++ b/docker/service_version.txt @@ -1 +1 @@ -1.0.0 +1.0.1 From 86808265eb977cf72cbca02b4ae795140c7d40a8 Mon Sep 17 00:00:00 2001 From: Owen Littlejohns Date: Thu, 20 Jun 2024 10:54:29 -0400 Subject: [PATCH 3/4] IP-242 - Fix name of service in extract-release-notes.sh. --- bin/extract-release-notes.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/extract-release-notes.sh b/bin/extract-release-notes.sh index c03096c..8837a82 100755 --- a/bin/extract-release-notes.sh +++ b/bin/extract-release-notes.sh @@ -2,7 +2,7 @@ ############################################################################### # # A bash script to extract only the notes related to the most recent version of -# HyBIG from CHANGELOG.md +# the Harmony Regridding Service from CHANGELOG.md # # 2023-06-16: Created. # 2023-10-10: Copied from earthdata-varinfo repository to HOSS. From cd2d7da95eb6836827d48c5b02de34da6114adef Mon Sep 17 00:00:00 2001 From: Owen Littlejohns Date: Thu, 20 Jun 2024 13:50:59 -0400 Subject: [PATCH 4/4] IP-242 - Update documentation notebook to Python 3.11. --- ..._Regridding_Service_User_Documentation.ipynb | 5 +++-- docs/pip_requirements.txt | 17 +++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/Harmony_Regridding_Service_User_Documentation.ipynb b/docs/Harmony_Regridding_Service_User_Documentation.ipynb index 3cba0e3..8821f6e 100644 --- a/docs/Harmony_Regridding_Service_User_Documentation.ipynb +++ b/docs/Harmony_Regridding_Service_User_Documentation.ipynb @@ -53,7 +53,7 @@ "Other Python requirements are listed in `docs/pip_requirements.txt`. It is recommended to install all required packages via the following commands:\n", "\n", "```bash\n", - "$ conda create --name regridder-demo python=3.10 --channel conda-forge --channel defaults -y\n", + "$ conda create --name regridder-demo python=3.11 --channel conda-forge --channel defaults -y\n", "$ conda activate regridder-demo\n", "$ pip install -r pip_requirements.txt\n", "```\n", @@ -177,6 +177,7 @@ "player_grid = pnw.Player(\n", " name='time', start=0, end=23, loop_policy='once', interval=200, width=900\n", ")\n", + "\n", "ax = (\n", " ds_grid.Q850.interactive(loc='bottom', width=900, height=600)\n", " .isel(time=player_grid)\n", @@ -291,7 +292,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.10" + "version": "3.11.9" } }, "nbformat": 4, diff --git a/docs/pip_requirements.txt b/docs/pip_requirements.txt index 01075ed..9e2298b 100644 --- a/docs/pip_requirements.txt +++ b/docs/pip_requirements.txt @@ -3,17 +3,18 @@ # # Example conda environment creation: # -# conda create --name regridder-docs python=3.10 --channel conda-forge \ +# conda create --name regridder-docs python=3.11 --channel conda-forge \ # --channel defaults -y # # pip install -r pip_requirements.txt # ############################################################################### curlify~=2.2.1 -harmony-py~=0.4.6 -hvplot~=0.8.3 -matplotlib~=3.7.1 -netCDF4~=1.6.3 -notebook~=6.5.3 -panel~=0.14.4 -xarray~=2023.1.0 +harmony-py~=0.4.15 +holoviews~=1.18.3 # Mitigates deprecation warning from hvplot +hvplot~=0.10.0 +matplotlib~=3.7.5 +netCDF4~=1.6.5 +notebook~=7.2.1 +panel~=1.4.4 +xarray~=2024.5.0