Skip to content

Feature 522 v3.1.0 - #524

Merged
bikegeek merged 18 commits into
developfrom
feature_522_v3.1.0
Jul 21, 2025
Merged

Feature 522 v3.1.0#524
bikegeek merged 18 commits into
developfrom
feature_522_v3.1.0

Conversation

@bikegeek

Copy link
Copy Markdown
Collaborator

Pull Request Testing

Refer to #523

  • Describe testing already performed for these changes:

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes or No]

  • Do these changes include sufficient testing updates? [Yes or No]

  • Will this PR result in changes to the test suite? [Yes or No]

    If yes, describe the new output and/or changes to the existing output:

  • Do these changes introduce new SonarQube findings? [Yes or No]

    If yes, please describe:

  • Please complete this pull request review by [Fill in date].

Pull Request Checklist

See the METplus Workflow for details.

  • Add any new Python packages to the METplus Components Python Requirements table.
  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: Coordinated METplus-X.Y Support project for bugfix releases or METplotpy-X.Y.Z Development project for official releases
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

jprestop and others added 6 commits June 9, 2025 10:33
* Making index consistent with other METplus repositories

* Initial commit of overview
comment out the pio.kaleido.scope line, this is now causing tests to fail due to kaleido warning for deprecations in September 2025
backing out the latest from pio.kaleido line.  WARNING: GHA tests may fail due to upcoming deprecation and warnings that emanate due to Python 3.12 still features that will be deprecated.
Tests pass outside of GHA.  Something in GHA is causing issues with Python 3.12 and kaleido (causes AssertionError in kaleido)
@bikegeek bikegeek added this to the METplotpy-3.2.0 milestone Jun 29, 2025
@bikegeek
bikegeek requested a review from jprestop June 29, 2025 01:23
@bikegeek bikegeek added the alert: NEED ACCOUNT KEY Need to assign an account key to this issue label Jun 29, 2025
@github-project-automation github-project-automation Bot moved this to 🩺 Needs Triage in METplus-6.2 Development Jun 29, 2025
@bikegeek bikegeek moved this from 🩺 Needs Triage to 🟢 Ready in METplus-6.2 Development Jun 29, 2025
@bikegeek
bikegeek marked this pull request as draft June 30, 2025 16:52
jprestop and others added 6 commits July 7, 2025 14:55
* Update conf.py

update version for 3.20 beta1 development

* Feature 504 installation files (#511)

* Update Orion file for Python 3.12

* Per #504, updating Casper file for Python 3.12

* Per # 504, updating compiler for Orion

* Per #504, updating hera file for Python 3.12

* Per #504, updating jet file for Python 3.12

* Feature METplus2857 support (#513)

* Making index consistent with other METplus repositories

* Initial commit of overview

* Bugfix #515 develop - remove deprecated import (#517)

* Per #515, remove deprecated import

* remove additional unused import to resolve SQ

* Update base_plot.py

Comment out pio.kaleido.scope.chromium line.  Python 3.12 updates with updated deprecations in kaleido will cause some tests to fail due to these warnings.

* Remove soon to be deprecated call to plotly.io.kaleido.scope

* Comment out soon-to-be deprecated call to plolty.io.kaleido.scope

* add call to install chrome

* Add test_* to trigger and setup test to use test_requirements.txt

* To test plotly/kaleido updates

* Try using kaleido_get_chrome_sync

* Update import to use ploty.io._kaleido

* Using latest import, invoke the get_chrome() method instead of get_chrome_sync()

* explicitly pip install kaleido 1.0

* Add Google Chrome action

* fix syntax error

* remove - from the run command

* Explicitly get the Chrome environment, bypass the calls to plotly.io.kaleido for installing chrome, which already exists

* Set up a CHROME_INSTALL path and save it as an environment

* remove no-sudo

* removed extra line at top of file

* move env definition by indenting

* Removed all imports that didn't work and the soon to be deprecated reference to kaleido.scope.  Running after installing Chrome without setting an ENV variable.

* Remove any attempt to set an env

* Remove the --version to the path under the chrome installation

* Remove skip

* Update test_requirements.txt

match up with requirements.txt except for kaleido and plotly

* Attempt to get chrome via kaleido.get_chrome_sync()

* Update unit_tests.yaml

Comment out installation of Chrome for now but don't delete it in the event that Chrome will need to be explicitly available.

* Update base_plot.py

Remove old comment and update to reflect upcoming changes to kaleido

* Replace test_requirements.txt with requirements.txt

* Update Plotly from 6.0.0 to 6.1.1 and kaleido from 0.2.1 to 1.0.0

* Adding modulefile for new machine ursa

---------

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
* Update conf.py

update version for 3.20 beta1 development

* Feature 504 installation files (#511)

* Update Orion file for Python 3.12

* Per #504, updating Casper file for Python 3.12

* Per # 504, updating compiler for Orion

* Per #504, updating hera file for Python 3.12

* Per #504, updating jet file for Python 3.12

* Feature METplus2857 support (#513)

* Making index consistent with other METplus repositories

* Initial commit of overview

* Bugfix #515 develop - remove deprecated import (#517)

* Per #515, remove deprecated import

* remove additional unused import to resolve SQ

* Update base_plot.py

Comment out pio.kaleido.scope.chromium line.  Python 3.12 updates with updated deprecations in kaleido will cause some tests to fail due to these warnings.

* Remove soon to be deprecated call to plotly.io.kaleido.scope

* Comment out soon-to-be deprecated call to plolty.io.kaleido.scope

* add call to install chrome

* Add test_* to trigger and setup test to use test_requirements.txt

* To test plotly/kaleido updates

* Try using kaleido_get_chrome_sync

* Update import to use ploty.io._kaleido

* Using latest import, invoke the get_chrome() method instead of get_chrome_sync()

* explicitly pip install kaleido 1.0

* Add Google Chrome action

* fix syntax error

* remove - from the run command

* Explicitly get the Chrome environment, bypass the calls to plotly.io.kaleido for installing chrome, which already exists

* Set up a CHROME_INSTALL path and save it as an environment

* remove no-sudo

* removed extra line at top of file

* move env definition by indenting

* Removed all imports that didn't work and the soon to be deprecated reference to kaleido.scope.  Running after installing Chrome without setting an ENV variable.

* Remove any attempt to set an env

* Remove the --version to the path under the chrome installation

* Remove skip

* Update test_requirements.txt

match up with requirements.txt except for kaleido and plotly

* Attempt to get chrome via kaleido.get_chrome_sync()

* Update unit_tests.yaml

Comment out installation of Chrome for now but don't delete it in the event that Chrome will need to be explicitly available.

* Update base_plot.py

Remove old comment and update to reflect upcoming changes to kaleido

* Replace test_requirements.txt with requirements.txt

* Update Plotly from 6.0.0 to 6.1.1 and kaleido from 0.2.1 to 1.0.0

* Adding modulefile for new machine ursa

* Feature 525 update plotly kaleido (for develop/v3.2 release) (#527)

* Feature METplus2857 main v3.1 support (#512)

* Making index consistent with other METplus repositories

* Initial commit of overview

* Per #515, remove deprecated import (#516)

* Update base_plot.py

comment out the pio.kaleido.scope line, this is now causing tests to fail due to kaleido warning for deprecations in September 2025

* Update base_plot.py

backing out the latest from pio.kaleido line.  WARNING: GHA tests may fail due to upcoming deprecation and warnings that emanate due to Python 3.12 still features that will be deprecated.

* Update test_scatter.py

Tests pass outside of GHA.  Something in GHA is causing issues with Python 3.12 and kaleido (causes AssertionError in kaleido)

* Remove soon to be deprecated call to plotly.io.kaleido.scope

* Comment out soon-to-be deprecated call to plolty.io.kaleido.scope

* add call to install chrome

* Add test_* to trigger and setup test to use test_requirements.txt

* To test plotly/kaleido updates

* Try using kaleido_get_chrome_sync

* Update import to use ploty.io._kaleido

* Using latest import, invoke the get_chrome() method instead of get_chrome_sync()

* explicitly pip install kaleido 1.0

* Add Google Chrome action

* fix syntax error

* remove - from the run command

* Explicitly get the Chrome environment, bypass the calls to plotly.io.kaleido for installing chrome, which already exists

* Set up a CHROME_INSTALL path and save it as an environment

* remove no-sudo

* removed extra line at top of file

* move env definition by indenting

* Removed all imports that didn't work and the soon to be deprecated reference to kaleido.scope.  Running after installing Chrome without setting an ENV variable.

* Remove any attempt to set an env

* Remove the --version to the path under the chrome installation

* Remove skip

* Update test_requirements.txt

match up with requirements.txt except for kaleido and plotly

* Attempt to get chrome via kaleido.get_chrome_sync()

* Update unit_tests.yaml

Comment out installation of Chrome for now but don't delete it in the event that Chrome will need to be explicitly available.

* Update base_plot.py

Remove old comment and update to reflect upcoming changes to kaleido

* Replace test_requirements.txt with requirements.txt

* Update Plotly from 6.0.0 to 6.1.1 and kaleido from 0.2.1 to 1.0.0

---------

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>

* Added support for env variable to turn on/off invoking the get_chrome_sync() to install Chrome at run-time

* test truthiness for booleans rather than string

* Update logic for checking PRE_LOAD_CHROME environment variable that is defined in the Dockerfile

* Remove print statement

* Add check for PRE_LOAD_CHROME env variable set in Dockerfile to turn on/off invoking kaleido.get_chrome_sync()

* Updated versions for Plotly and kaleido

* Allow logging to stdout and/or file to indicate whether Chrome is getting downloaded at runtime.  This facilitates testing for debugging.  Setting the PRE_LOAD_CHROME env variable to False (either as bool or string-case is insensitive) will invoke downloading Chrome via Plotly/kaleido. If PRE_LOAD_CHROME is not defined, Chrome will also be downloaded from Plotly/kaleido at run time.  Logging can be turned on/off by setting the LOG_BASE_PLOT to true/false (boolean or string) and a log file can be saved by setting the WRITE_LOG env var to true (boolean or string).

* Update the runtime loading of Chrome by allowing logging to monitor if Chrome is being downloaded at runtime.  Use METplotpy util.py strtobool to replace the distutils.util.strtobool to return a boolean value from the PRE_LOAD_CHROME and logging env vars.

* Implement our own version of the deprecated (in Python 3.12+) of distutils.utils.strtobool

* Add testing for the strtobool implementation in util.py

* Fix import for util strtobool

* Forgot to change the args to strtobool to match our implementation

* Include the information about impacts of kaleido 1.0.0 changes under the METplotpy Upgrade Instructions

* Still one more place to fix the input to strtobool to match our implementation

* Refactor to eliminate sonarqube code smell

* Remove test code

---------

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
updated the date for release
update date of release
@bikegeek
bikegeek removed the request for review from jprestop July 21, 2025 14:43
@bikegeek
bikegeek marked this pull request as ready for review July 21, 2025 14:43
@bikegeek
bikegeek merged commit c779d79 into develop Jul 21, 2025
9 checks passed
@github-project-automation github-project-automation Bot moved this from 🟢 Ready to 🏁 Done in METplus-6.2 Development Jul 21, 2025
@bikegeek
bikegeek deleted the feature_522_v3.1.0 branch July 21, 2025 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alert: NEED ACCOUNT KEY Need to assign an account key to this issue

Projects

Development

Successfully merging this pull request may close these issues.

3 participants