#1149526 napari: FTBFS against python 3.15rc2 (test_selection_collision fails with pixel_10 == [0, 0, 0, 255])

#1149526#5
Date:
2026-09-30 10:34:17 UTC
From:
To:
Hi!

While rebuilding the python related packages against the Python 3.15rc2
version we found that napari fails to build from source:
https://debusine.debian.net/debian/r-python-python3.15/artifact/4855567/

 From the log, the error seems to be:

=================================== FAILURES
===================================
E           AssertionError: <class 'numpy.int8'>
E           assert not np.True_
E            +  where np.True_ = <function all at
0x7f07a82a25f0>(array([  0,   0,   0, 255], dtype=uint8) == [0, 0, 0,
255]
E            +    where <function all at 0x7f07a82a25f0> = np.all
E
E               Full diff:
E               + array([  0,   0,   0, 255], dtype=uint8)
E               - [
E               -     0,
E               -     0,
E               -     0,
E               -     255,
E               - ])

napari/_qt/_tests/test_qt_viewer.py:1039: AssertionError

Please note that while we ran into this error during the rebuild against
Python 3.15, that doesn't mean that the root cause for the failure is
necessarily the new Python version, but in this case it seems quite
likely, as the same test succeeds on Python 3.14 and fails on Python
3.15.

In order to build against the test archive, which includes not only
python3.15 but also all the relevant build-dependencies rebuilt against
it, you can add the test repository:

  deb http://deb.debusine.debian.net/debian/r-python-python3.15
sid-python3.15 main

The corresponding signing key can be seen in the first section of
https://deb.debusine.debian.net/debian/r-python-python3.15/

To build from a git repository, you can use something like:
  gbp buildpackage --no-clean-source --git-builder='sbuild
--no-run-lintian --extra-repository="deb 
http://deb.debusine.debian.net/debian/r-python-python3.15 sid-python3.15
main" --extra-repository-key="/path/to/signing-keys.asc"'

Setting the severity to important for now. Once Python 3.15 is released
and later added to python3-defaults, this bug will become release
critical.