# # # Distribution Statement A. Approved for public release. Distribution unlimited.# # ## # # Author:# # # Naval Research Laboratory, Marine Meteorology Division# # ## # # This program is free software: you can redistribute it and/or modify it under# # # the terms of the NRLMMD License included with this program. This program is# # # distributed WITHOUT ANY WARRANTY; without even the implied warranty of# # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the included license# # # for more details. If you did not receive the license, for more information see:
Version 1.8.0 (2023-03-12)#
Minor bug fixes
Skip source and product names starting with “@” in YAML configs
Use setuptools_scm for versioning (remove VERSION file)
Call “code_checks.sh” and “build_docs.sh” from integration tests
Improve error messages
Bug Fixes#
Update init __all__ to include strings vs module#
From issue GEOIPS#194: 2023-03-12, return non-zero from build_docs.sh
Update geoips/__init__.py and geoips/interfaces/__init__.py to set __all__ using strings vs modules.
sphinx build fails when __all__ includes types other than string
modified: geoips/__init__.py
modified: geoips/interfaces/__init__.py
Enhancements#
Flag product database entries as deleted if deleted by config_based procflow#
GEOIPS/geoips_db#9: 2023-03-03, add productwebpath to tcproducts and unsectored schema
Loop through deleted products list at end of procflow and call new function that updates the database
flag_product_as_deleted takes deleted product file name, and updates database for each storm area definition
- ::
modified: geoips/interface_modules/procflows/config_based.py
Add xrdict_area_product_to_outlist output_format family#
From issue GEOIPS#188: 2023-03-07, github.com merge, plugin interface updates
Add xrdict_area_product_to_outlist output_format family args and kwargs lists.
modified: geoips/interfaces/output_formats.py
Regression Fixes#
Bug Fixes#
Skip source and product names that start with “@” for YAML configs#
From issue GEOIPS#188: 2023-03-07, open source merge (plugin intfc updates)
Valid YAML fields can not contain “@”, so reserve it as a “special” character for the templates, and skip any sources or products containing “@”.
We may decide we want to handle this differently in the future, but for now just skip invalid names, and print out a log.warning with the skipped name
This will allow “test_interfaces” to complete successfully
modified: geoips/dev/product.py
Installation Updates#
Add prettier and doc8 for YAML/rst linting#
From issue GEOIPS#188: 2023-03-07, open source merge (plugin intfc updates)
Update setup.py to add packages for YAML and RST linting.
Use setuptools_scm for versioning#
From issue GEOIPS#192: 2023-03-07, Update version process
Replace VERSION file based versioning with setuptools_scm git tag based versioning.
modified: setup.py
modified: geoips/__init__.py
removed: VERSION
Testing Updates#
Add call to code_checks.sh to test_all.sh and test_full_install.sh#
From issue GEOIPS#187: 2023-03-12, add code enforcement
To ensure code compliance with all changes, add call to code_checks.sh to both test_all.sh and test_full_install.sh.
Do not add to test_base_install.sh since that is focused primarily on ensuring functionality, not a full test of compliance.
modified: tests/test_all.sh
modified: tests/test_full_install.sh
Add call to build_docs.sh to test_all.sh and test_full_install.sh#
From issue GEOIPS#194: 2023-03-12, return non-zero from build_docs.sh
To ensure successful documentation build with all changes, add call to build_docs.sh to both test_all.sh and test_full_install.sh.
Do not add to test_base_install.sh since that is focused primarily on ensuring functionality, not a full test of compliance.
Since building only the html documentation should identify any issues, and the full pdf build is very intensive, pass the html_only argument to the build_docs.sh calls.
modified: tests/test_all.sh
modified: tests/test_full_install.sh
Include more informative error messages for incorrectly formatted plugins#
From issue GEOIPS#188: 2023-03-07, github.com merge, plugin interface updates
If plugin family is not included in args list or kwargs list, note that it must be added within the interface module, rather than just returning a KeyError with no explanation
If deprecated plugin is not found in entry point namespace, include description of how to debug naming issues (ie, module name, function name, and entry point name must all match exactly, and you must reinstall after changing)
modified: geoips/interfaces/base.py
Include list of plugin tracebacks and errors in test_interfaces final output#
From issue GEOIPS#188: 2023-03-07, github.com merge, plugin interface updates
modified: geoips/commandline/test_interfaces.py
Documentation Updates#
Return non-zero from build_docs.sh on any failure or warning#
From issue GEOIPS#194: 2023-03-12, return non-zero from build_docs.sh
Ensure build_docs.sh returns non-zero if:
any build commands return non-zero
python setup.py install
python setup.py build_sphinx –warning-is-error
python setup.py build_sphinx -b latex –warning-is-error
make -C build/sphinx/latex
sphinx commands issue ANY warnings (means pdf and/or html will not render properly)
python setup.py build_sphinx –warning-is-error
python setup.py build_sphinx -b latex –warning-is-error
docs/build_docs.sh
Update documentation source to include new class-based plugin interfaces#
From issue GEOIPS#194: 2023-03-12, return non-zero from build_docs.sh
Remove geoips.dev module plugin interfaces from automodule.
Remove geoips.stable module plugin interfaces from automodule
Add api_interfaces.rst for new class-based plugin interfaces.
modified: docs/source/geoips_api/api_dev.rst
modified: docs/source/geoips_api/api_utils.rst
modified: docs/source/geoips_api/index.rst
Exclude “version.py” file from flake8 tests#
Since version.py is an auto generated file from the installation process, do NOT include it in the code compliance checks.
modified: tests/utils/check_code.sh
Update incorrectly formatted docstrings#
Ensure flake8 docstring checks pass.
modified: geoips/cli.py
modified: geoips/errors.py
modified: geoips/interfaces/filename_formats.py
modified: geoips/utils/decorators.py
Release Updates#
Add 1.8.0 release note#
From issue GEOIPS#188: 2023-03-12, version update
modified: CHANGELOG.rst
new file: docs/source/releases/v1_8_0.rst
modified: docs/source/releases/index.rst