#1113903 python-youtubeaio: FTBFS with pydantic-core >= 2.35.0

#1113903#5
Date:
2025-09-03 22:13:40 UTC
From:
To:
python-youtubeaio fails to build with pydantic-core 2.37.2-1 / pydantic
2.12.0~a1-1 in unstable.

I: pybuild base:311: cd /build/reproducible-path/python-youtubeaio-2.0.0/.pybuild/cpython3_3.13/build; python3.13 -m pytest --no-cov
============================= test session starts ==============================
platform linux -- Python 3.13.7, pytest-8.4.1, pluggy-1.6.0
rootdir: /build/reproducible-path/python-youtubeaio-2.0.0/.pybuild/cpython3_3.13/build
configfile: pyproject.toml
plugins: aresponses-3.0.0, asyncio-0.25.1, syrupy-4.9.1, cov-5.0.0
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=None
collected 56 items

tests/test_auth.py ...                                                   [  5%]
tests/test_channel.py .......                                            [ 17%]
tests/test_helper.py ................                                    [ 46%]
tests/test_oauth.py ....                                                 [ 53%]
tests/test_playlist_item.py ...                                          [ 58%]
tests/test_subscription.py ...                                           [ 64%]
tests/test_video.py F..........                                          [ 83%]
tests/test_youtube.py .........                                          [100%]

  =================================== FAILURES ===================================
  _______________________________ test_fetch_video _______________________________

  aresponses = <aresponses.main.ResponsesMockServer object at 0x7f2ef67ea210>
  snapshot = YouTubeVideo(video_id='Ks-_Mh1QhMc', nullable_snippet=YouTubeVideoSnippet(published_at=datetime.datetime(2012, 10, 1, ...inition.HD: 'hd'>, raw_caption='true', licensed_content=True, projection=<VideoProjection.RECTANGULAR: 'rectangular'>))

      async def test_fetch_video(
          aresponses: ResponsesMockServer,
          snapshot: SnapshotAssertion,
      ) -> None:
          """Test retrieving a video."""
          aresponses.add(
              YOUTUBE_URL,
              "/youtube/v3/videos",
              "GET",
              aresponses.Response(
                  status=200,
                  headers={"Content-Type": "application/json"},
                  text=json.dumps(
                      construct_fixture("video", ["snippet", "contentDetails"], 1),
                  ),
              ),
          )
          async with aiohttp.ClientSession() as session, YouTube(session=session) as youtube:
              video = await youtube.get_video(video_id="Ks-_Mh1QhMc")
  >           assert video == snapshot
  E           assert [+ received] == [- snapshot]
  E             - YouTubeVideo(video_id='Ks-_Mh1QhMc', nullable_snippet=YouTubeVideoSnippet(published_at=datetime.datetime(2012, 10, 1, 15, 27, 35, tzinfo=TzInfo(UTC)), channel_id='UCAuUUnT6oDeKwE6v1NGQxug', title='Your body language may shape who you are | Amy Cuddy', description='Body language affects how others see us, but it may also change how we see ourselves. Social psychologist Amy Cuddy argues that "power posing" -- standing in a posture of confidence, even when we don\'t feel confident -- can boost feelings of confidence, and might have an impact on our chances for success. (Note: Some of the findings presented...
  E
  E             ...Full output truncated (2 lines hidden), use '-vv' to show

  tests/test_video.py:41: AssertionError
  =============================== warnings summary ===============================
  tests/test_helper.py::test_first
  tests/test_helper.py::test_limit
    /usr/lib/python3.13/asyncio/base_events.py:750: RuntimeWarning: coroutine method 'aclose' of '_generator' was never awaited
      self._ready.clear()
    Enable tracemalloc to get traceback where the object was allocated.
    See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.

#1113903#12
Date:
2025-10-05 16:38:23 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
python-youtubeaio, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1113903@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Edward Betts <edward@4angle.com> (supplier of updated python-youtubeaio package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 05 Oct 2025 17:09:06 +0100
Source: python-youtubeaio
Architecture: source
Version: 2.0.0-2
Distribution: unstable
Urgency: medium
Maintainer: Home Assistant Team <team+homeassistant@tracker.debian.org>
Changed-By: Edward Betts <edward@4angle.com>
Closes: 1113903
Changes:
 python-youtubeaio (2.0.0-2) unstable; urgency=medium
 .
   * Skip test that fails with new pydantic-core. (Closes: #1113903)
   * Remove 'Rules-Requires-Root: no', now the default.
   * Update debian/watch to format version 5.
   * Add debian/salsa-ci.yml.
Checksums-Sha1:
 6b88e9185e0cae5225b8ec706f8455c76f933eb4 2418 python-youtubeaio_2.0.0-2.dsc
 e1fd7591e45a5ec5de183eb5143d50ea0149299c 2580 python-youtubeaio_2.0.0-2.debian.tar.xz
 4bf4eef616546875b5e1bc481c47c07edc88ee6d 7058 python-youtubeaio_2.0.0-2_source.buildinfo
Checksums-Sha256:
 817630458b892c9c6988076542063a4486f9aa86112bc317da62fecc30ae59e0 2418 python-youtubeaio_2.0.0-2.dsc
 7474b4cea0024e4a96e4f91d7c2467917e5522455a959ed76641e5734dd5266d 2580 python-youtubeaio_2.0.0-2.debian.tar.xz
 bd24b292c0501e5ce07ab74ff2faf38178366b82330a58509860f949c53d3d43 7058 python-youtubeaio_2.0.0-2_source.buildinfo
Files:
 0a5de51033834f8e4b08c130f42c3467 2418 python optional python-youtubeaio_2.0.0-2.dsc
 6221846ce3b024becd38412e082f6158 2580 python optional python-youtubeaio_2.0.0-2.debian.tar.xz
 af41fb682c97b23334d9abcc7414e8a3 7058 python optional python-youtubeaio_2.0.0-2_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE+4rPp4xyYInDitAmlgWhCYxjuSoFAmjimJ8ACgkQlgWhCYxj
uSoCMA//ZY7rbMAxZC2mGxfYEElF8gkSqmg+SJmXpPf8BsxH0Kim+lCfNRt31TJN
bTfObNmKMjLZbLpOWe4qeFkkmiMB2dWMCfZ9njOvOJCOaMygjOZdbHtrxY8mho4/
Jf5669HujRFAzFFkE/kccGrGPQKT4yciaQw1wnZFORy4XnpM0NedshYR8CFup4q+
6XG4tlQ+RqfJf0GHU3gKCgE9Amuw8Rtgf/r22FZCIVWHgBzHmsfNmUXRkuI4yt8e
sL1thoi1QB085KXWHGRk2sce35KXzr8T2VZLFavU142ZyaPsfK59gz+mNixCAHa4
etEKkUymA7TOIuciWwa17I90qym5mj3tntxJuZFsK0wDLBmVBpIAP/dJrhEjY5g1
xZRgFhGcEhk/BObCCvqDWF+xIUwnQRhCXdjXrPkYLds6rsAv/qA25Tdk76TgmqhH
HjhfPgX6RBOOAS+NnrayMBfmY9SNmOhpkntH55Xo+Lp6YLpTboFE3ebdhQ6+6CNK
Vv5ROn6VDRBTByzDImXLtVOhYniIlPV4UU3TkuUDV1Byy6sElYfIrdNEC02VCrkg
2Iei38Ng9Wjhlq3B9pyZm/MYgsROnnyJAO+8u+jRQoGj/kbh6f4wa7t5jitkhez8
ULNZ/G1+UQvewU3A4BWCZAGXKlJhpx/er7uuBln9toeXnnsHRG0=
=z3DC
-----END PGP SIGNATURE-----