v0.2.0 ====== Dropped support for ``python = "3.8"``, numerous updates to dependencies, new ``maite`` operability, changes to CI/CD to be more inline with JATIC program requirements, documentation updates, and fixes with ``opencv-python`` and ``opencv-python-headless`` conflicts. Updates / New Features ---------------------- Build * New minimum supported python changed to ``python = "^3.9"`` due to 3.8 EOL. Features * Added a test to ``test_nrtk_perturber_cli`` that uses a generic factory config file. * Added ``jatic-perturbations-saliency`` example notebook to show integration with ``xaitk-saliency``. Interoperability * Added ``JATICClassificationAugmentationWithMetric`` workflow which performs image-metric computations in a JATIC Augmentation workflow for MAITE-compliant image classification datasets. * Added ``JATICDetectionAugmentationWithMetric`` workflow which performs image-metric computations in a JATIC Augmentation workflow for MAITE-compliant object detection datasets. * Added ``compute_image_metric.ipynb`` notebook showcasing how image-metric computations can be of use to a JATIC T&E engineer in their workflow. Dependencies * Update ``maite`` to ^0.6.0. * Update ``nrtk`` to >=0.11.0. * Updated python minimum requirement to 3.9 (up from 3.8.1) due to 3.8 EOL. This included updates to certain dependencies with bifurcations, an update to pinned versions for development/CI, and removal of 3.8 from CI. CI/CD * Optimized to not run anything but ``publish`` when ``tag``. * Created a shared ``python-version`` job for ``python`` version matrices. * Updated scanning to properly report the vulnerabilities. * Updated scanning to properly scan used packages * Added caching of packages to pipeline. * Changed check release notes to only fetch last commit from main. * Added examples to ``black`` scan. * Added ``jupyter`` notebook extra to ``black``. * Renamed ``linting`` job to ``flake8``. * Renamed ``typing`` job to ``mypy``. * Modified all code to be compliant with all ``ruff`` and ``black`` checks besides missing docstrings. * Added additional entrypoint testing. * Swapped out pipeline to use a shared pipeline. * Added a mirroring job to replace builtin gitlab mirroring due to LFS issue. * Numerous changes to help automated the CI/CD process. * ``poetry.lock`` file updated for the dev environment. * Updates to dependencies to support the new CI/CD. * Updated config for ``black`` to set max line length to 120 Other * Refactored package into 'src/nrtk_jatic instead of 'nrtk_jatic' Documentation * Added ReadTheDocs configuration files * Added a ``Containers`` section to documentation * Added ``AUKUS.rst`` to Containers documentations * Updated JATICDetectionAugmentation docstrings to clarify ground truth behavior * Added sphinx's ``autosummary`` template for recursively populating docstrings from the module level down to the class method level. * Added support for ``sphinx-click`` to generate documentation for python ``click`` functions. * Updated README to include a section on ``Interoperability``. * Restored and improved review process documentation. * Fixed sphinx linting errors. Fixes ----- * Fixed an issue where if ``opencv-python`` was missing then the pipeline would fail. * Optional dependencies were setup in a way that ``opencv`` was missing when ``pybsm`` was installed, this has been fixed so ``opencv`` can be installed via ``pybsm`` install or as standalone for ``nrtk`` on its own.