You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While running tests locally for the movement package on Windows with Python 3.13.2, I encountered a DeprecationWarning indicating that pickle, copy, and deepcopy support will be removed from itertools in Python 3.14. This warning appears during tox test runs and may affect future compatibility.
C:\Program Files\Python313\Lib\copy.py:169: DeprecationWarning: Pickle, copy, and deepcopy support will be removed from itertools in Python 3.14.
Context: Occurs during pytest tests/ --cov=movement execution, with all 686 tests passing and 99% coverage. The warning is emitted twice in the log.
Source: The warning originates from Python’s standard library (copy.py), likely triggered by a dependency or internal use of itertools with copy/deepcopy.
Why is this an issue?
While currently just a warning, this signals a potential breaking change in Python 3.14, which could disrupt movement functionality or test runs if not addressed.
It’s unclear which part of movement or its dependencies (e.g., pytest, xarray, PyQt6) triggers this, requiring investigation.
Steps to Reproduce
Install Python 3.13.2 on a Windows machine.
Clone the movement repo: git clone https://github.com/neuroinformatics-unit/movement.git.
Navigate to the repo: cd movement.
Install tox: pip install tox.
Run tests: tox -e py313.
Observe the DeprecationWarning in the output.
Expected Behavior
Tests should run without deprecation warnings, ensuring compatibility with future Python versions.
Actual Behavior
Tests pass, but the DeprecationWarning appears twice, hinting at future incompatibility with Python 3.14.
Suggested Actions
Investigate which dependency or movement code uses itertools with copy/deepcopy.
Suppress the warning temporarily (e.g., via pytest.ini) if it’s benign and stems from a dependency we can’t control:
Thanks for the detailed report on this @ShigrafS. I'd seen similar warnings myself but hadn't found the time to document them so thoroughly, as you've done here.
At this stage, I would simply try to investigate whether movement is causing this, or one of our dependencies. If the former, we should fix it. If the latter, hopefully the problem will go away on its own (i.e. someone else will fix it) before Python 3.14.
Description
What is this issue?
While running tests locally for the
movement
package on Windows with Python 3.13.2, I encountered aDeprecationWarning
indicating thatpickle
,copy
, anddeepcopy
support will be removed fromitertools
in Python 3.14. This warning appears duringtox
test runs and may affect future compatibility.Details
tox
environmentpy313
.tox -e py313
.pytest tests/ --cov=movement
execution, with all 686 tests passing and 99% coverage. The warning is emitted twice in the log.copy.py
), likely triggered by a dependency or internal use ofitertools
withcopy
/deepcopy
.Why is this an issue?
movement
functionality or test runs if not addressed.movement
or its dependencies (e.g.,pytest
,xarray
,PyQt6
) triggers this, requiring investigation.Steps to Reproduce
movement
repo:git clone https://github.com/neuroinformatics-unit/movement.git
.cd movement
.tox
:pip install tox
.tox -e py313
.DeprecationWarning
in the output.Expected Behavior
Tests should run without deprecation warnings, ensuring compatibility with future Python versions.
Actual Behavior
Tests pass, but the
DeprecationWarning
appears twice, hinting at future incompatibility with Python 3.14.Suggested Actions
movement
code usesitertools
withcopy
/deepcopy
.pytest.ini
) if it’s benign and stems from a dependency we can’t control:Additional Info
PyQt6
,pytest
,napari
,xarray
, etc.—a traceback or deeper inspection might pinpoint the culprit.References
The text was updated successfully, but these errors were encountered: