Feature 525 update plotly kaleido (for develop/v3.2 release)#527
Merged
Feature 525 update plotly kaleido (for develop/v3.2 release)#527
Conversation
* 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)
…kaleido for installing chrome, which already exists
…ference to kaleido.scope. Running after installing Chrome without setting an ENV variable.
match up with requirements.txt except for kaleido and plotly
…nto test_plotly
Comment out installation of Chrome for now but don't delete it in the event that Chrome will need to be explicitly available.
Remove old comment and update to reflect upcoming changes to kaleido
bikegeek
added a commit
that referenced
this pull request
Jul 21, 2025
* 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>
bikegeek
added a commit
that referenced
this pull request
Jul 21, 2025
* 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. * Updates for coordinated release * 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> * Feature 525 update plotly kaleido (#529) * 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 * Adding modulefile for new machine ursa * Feature 525 update plotly kaleido (#526) * 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> * 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> * Update release-notes.rst updated the date for release * Update conf.py update date of release * separated the Plotly note from the Python 3.12 note * Modify formatting so link to Plotly site is within note block * reapply different formatting to Notes section for Plotly/kaleido * Fix indentation --------- Co-authored-by: Julie Prestopnik <jpresto@ucar.edu> Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
bikegeek
added a commit
that referenced
this pull request
Jul 21, 2025
* 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) * Updates for coordinated release * Adding modulefile for new machine ursa * Feature 525 update plotly kaleido (#526) * 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> * Feature 525 update plotly kaleido (#528) * 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> * Update release-notes.rst updated the date for release * Update conf.py update date of release * separated the Plotly note from the Python 3.12 note * Modify formatting so link to Plotly site is within note block * reapply different formatting to Notes section for Plotly/kaleido * Fix indentation --------- Co-authored-by: Julie Prestopnik <jpresto@ucar.edu> Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
bikegeek
added a commit
that referenced
this pull request
Aug 21, 2025
* 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) * Adding modulefile for new machine ursa * Feature 525 update plotly kaleido (#526) * 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> * Feature 525 update plotly kaleido (#528) * 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> * Delete test_requirements.txt no longer needed to test updated plotly and kaleido versions * Updates for coordinated release (#523) * 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. * Updates for coordinated release * 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> * Feature 525 update plotly kaleido (#529) * 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 * Adding modulefile for new machine ursa * Feature 525 update plotly kaleido (#526) * 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> * 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> * Update release-notes.rst updated the date for release * Update conf.py update date of release * separated the Plotly note from the Python 3.12 note * Modify formatting so link to Plotly site is within note block * reapply different formatting to Notes section for Plotly/kaleido * Fix indentation --------- Co-authored-by: Julie Prestopnik <jpresto@ucar.edu> Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com> * check for incorrectly formatted fixed_vars_vals_input value that is created by METviewer's MVBatch.java --------- Co-authored-by: Julie Prestopnik <jpresto@ucar.edu> Co-authored-by: George McCabe <23407799+georgemccabe@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Testing
Refer to
#526
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.
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