v1.0.1#
This patch release contains fixes to CI/CD pipelines, container builds, documentation, public/private API visibility, and notebook execution. Key areas include completing the tox migration for CI quality jobs, fixing the container build pipeline, correcting documentation errors and metadata, and resolving notebook path and import guard issues.
Fixes#
Fixed incomplete tox migration in the CI quality stage by migrating
ruff,pyright, andsphinx-lintjobs frompoetry runto tox, adding a.tox-setupCI base to centralize the tox version pin, combiningruff-lintandruff-formatinto a singleruffjob, and migrating the coverage job totox -e coverage.Fixed container CI pipeline by redesigning it with separate build jobs for branch (
build-branch), main (build-main), and release (build-release) builds. Restructured theDockerfileinto a multi-stage build withbuild-from-sourceandbuild-from-pypitargets, removing the Poetry dependency. Switched to CPU-only PyTorch, reducing image size from ~9.2 GB to ~2.7 GB. Added a versioned image tagging scheme and switched.dockerignoreto a whitelist approach.Fixed missing container security and lifecycle tooling by adding SBOM generation (Syft), vulnerability scanning (Trivy), cosign image signing, and SBOM attestation to all build jobs. Added a
verifyjob for signature verification and smoke testing, a nightly scheduled sweep to remove stale branch images and cosign artifacts, and stale artifact cleanup when overwriting existing tags. Added.trivyignorefor vulnerability scan exceptions.Fixed missing container documentation by adding
docs/containers/nrtk-perturber.rstwith image tag reference, usage instructions, input arguments, error codes, and cosign verification commands.Fixed documentation errors including a typo, broken anchor link, extras case, and missing pyBSM hyperlink in
README.md; stalemasterbranch reference and release notes path inCONTRIBUTING.md; Alpha development status classifier inpyproject.toml; and a broken reference to non-existentdocs/review_process.rstinrelease_process.rst.Fixed missing
poetry2condasection inpyproject.toml.Fixed incorrect public/private API visibility for
nrtk.impls.perturb_image.optical.RadialDistortionPerturber,nrtk.impls.perturb_image.optical.otf,nrtk.interfaces.PerturbImage, andnrtk.interfaces.PerturbImageFactory.Fixed missing developer documentation by adding a
Testing Architectureguide with a Quick Start for running tox, the environment-to-extras mapping table, and a checklist for adding new implementations. The guide also covers how import guards, pytest markers, canary tests, theImportGuardTestsMixin, tox environments, and the GitLab CI pipeline work together to validate NRTK’s modular dependency model.Fixed outdated
JitterPerturbercode sample and broken link inREADME.md.Fixed unlinked Related Resources section in
validation_and_trust.rstby adding:doc:cross-references and removing the unused Parameter Defaults entry.Fixed XAITK-Saliency notebook execution errors including incorrect path resolution when running via papermill, keyword argument and visualization errors in the object detection notebook, and import guards not aligned with current codebase patterns. Enabled GPU-accelerated PyTorch in notebook install cells.
Fixed missing XAITK-Saliency notebook test coverage by adding import guard unit tests under
docs/examples/nrtk_xaitk_workflow/notebook_tests/, anxaitk-notebook-testsCI job across Python 3.10–3.13, and broadening theruffper-file-ignores pattern to**/*tests/*.pyso notebook tests receive test-file lint exemptions.