Skip to content

Conversation

@maximpavliv
Copy link
Collaborator

@maximpavliv maximpavliv commented Aug 26, 2025

This pull request expands beyond the original warning suppression to bring the plugin’s test infrastructure and dependencies in line with current DeepLabCut practices and newer Python versions.

⚡️ Improvements and Fixes

  • Suppress NaN RuntimeWarnings
    Suppresses the harmless

    RuntimeWarning: invalid value encountered in cast
    

    triggered when keypoint data contain NaNs during label refinement.
    Implemented in __init__.py using Python’s warnings module and scoped to this specific warning only.

  • CI/CD Modernization

    • Drop testing for Python 3.9 (PyTables no longer provides wheels for this version).
    • Add testing for Python 3.11 and 3.12.
    • Unbound the PySide6 version requirement (the previously pinned 6.4.2 is unavailable on Python 3.12).
    • Restrict NumPy to >=1.18.5,<2.0.0, matching the main DeepLabCut repository.
  • Test Stability

    • Fixed a teardown failure in silently_dock_matplotlib_canvas by returning early if the Window object lacks the _qt_window attribute after tests.
    • Updated CycleEnumMeta.__new__ to accept **kwargs, ensuring compatibility with the boundary keyword introduced in Python 3.11.

These changes ensure clean test runs across Linux, macOS, and Windows on Python 3.10–3.12 and reduce console clutter.

@maximpavliv maximpavliv force-pushed the maxim/suppress_nan_warning branch from dca7a0e to 5fc72b5 Compare September 24, 2025 14:13
@maximpavliv maximpavliv changed the title Suppress RuntimeWarnings caused by NaNs in keypoint data Improve CI/CD and Compatibility Across Python Versions, Suppress RuntimeWarnings Sep 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants