Skip to content

[python-updates] 2025-05-18: Python 3.13#408185

Merged
mweinelt merged 207 commits intostagingfrom
python-updates
May 23, 2025
Merged

[python-updates] 2025-05-18: Python 3.13#408185
mweinelt merged 207 commits intostagingfrom
python-updates

Conversation

@mweinelt
Copy link
Member

@mweinelt mweinelt commented May 17, 2025

This is a bulk update run on the python package set.

Questions? Join #python:nixos.org on Matrix.

Backed out

  • Cython 3.1.0 (too early for the ecosystem)
  • pip 25.1.0 (breaks pip-tools tests, because dependency resolution complexity exception)
  • beautifulsoup 4.13 break django-compressor and thereby pretalx, pretix, healthchecks, weblate, seahub
  • marshmallow 4.0 (required heavy patching for dataclasses-json, breaks platformio for example) python313Packages.marshmallow: 3.26.1 -> 4.0.0 #409223
  • clldutils>3.22.0 (requires bibtexparser>2.0b4, which breaks e.g. scholarly and calibre-web)

Known issues

  • LLVM versions 15 and earlier break due to pipes battery removal

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 4.workflow: package set update Development branch for package set updates (haskell/python) labels May 17, 2025
@nix-owners nix-owners bot requested a review from natsukium May 17, 2025 22:57
@github-actions github-actions bot added 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. labels May 17, 2025
@mweinelt mweinelt force-pushed the python-updates branch 3 times, most recently from 8ae755e to 97caef4 Compare May 19, 2025 14:29
@mweinelt
Copy link
Member Author

https://shells.darmstadt.ccc.de/~hexa/726.html

This eval was a bit early and incomplete and I've pushed like 50 more commits since.

@mweinelt
Copy link
Member Author

@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label May 21, 2025
@mweinelt
Copy link
Member Author

@mweinelt
Copy link
Member Author

mweinelt commented May 21, 2025

I hope that's all, because this is already a full rebuild of all 21k packages in the Python scope. We maybe have 48-72h to land this PR for the next staging cycle.

@mweinelt
Copy link
Member Author

@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/breaking-changes-announcement-for-unstable/17574/82

dotlambda and others added 12 commits May 23, 2025 08:37
Use googleapis/google-cloud-python repo, clean up meta, add maintainer
Build from github, add updateScript, fix meta, add maintainer
Instead it now uses a telnetlib vendored in netmiko.
@mweinelt mweinelt merged commit 108805a into staging May 23, 2025
24 checks passed
@github-project-automation github-project-automation bot moved this from In progress to Done in Python batch upgrade May 23, 2025
@trofi
Copy link
Contributor

trofi commented May 24, 2025

Bisect says 033d93e python3: 3.12.10 -> 3.13.3 broke the eval of noto-fonts-color-emoji in staging as:

$ nix-instantiate -A noto-fonts-color-emoji
error:
       … while calling the 'derivationStrict' builtin
         at <nix/derivation-internal.nix>:37:12:
           36|
           37|   strict = derivationStrict drvAttrs;
             |            ^
           38|

       … while evaluating derivation 'noto-fonts-color-emoji-2.047'
         whose name attribute is located at pkgs/stdenv/generic/make-derivation.nix:480:13

       … while evaluating attribute 'nativeBuildInputs' of derivation 'noto-fonts-color-emoji-2.047'
         at pkgs/stdenv/generic/make-derivation.nix:532:13:
          531|             depsBuildBuild = elemAt (elemAt dependencies 0) 0;
          532|             nativeBuildInputs = elemAt (elemAt dependencies 0) 1;
             |             ^
          533|             depsBuildTarget = elemAt (elemAt dependencies 0) 2;

       … while calculating requiredPythonModules for python3.13-nototools-0.2.20:

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: typed-ast-1.5.5 not supported for interpreter python3.13

@Kernald
Copy link
Contributor

Kernald commented May 26, 2025

Is this going to be backported to 25.05 by any chance? (I'm mostly curious about #401010)

@mweinelt
Copy link
Member Author

Backporting pydantic in #411096.

@trofi
Copy link
Contributor

trofi commented May 27, 2025

Somehow fea291d hotdoc: 0.15 -> 0.17.4 broke gst_all_1.gst-vaapi in staging as:

$ nix build --no-link -f. gst_all_1.gst-vaapi -j1 --keep-going
...
Program hotdoc found: YES (/nix/store/4xa0psmhr8gj57hkj199gnyyigfvlhhb-hotdoc-0.17.4/bin/hotdoc)
Program hotdoc found: YES (/nix/store/4xa0psmhr8gj57hkj199gnyyigfvlhhb-hotdoc-0.17.4/bin/hotdoc)

docs/meson.build:68:8: ERROR: Problem encountered: Documentation enabled but gi-extension missing

@mweinelt
Copy link
Member Author

It was unfortunately failing at the version it was sitting at, so backing out of the change seems equally bad.

@mweinelt
Copy link
Member Author

mweinelt commented May 28, 2025

Could rollback and just apply hotdoc/hotdoc@ce57d18.

Bisecting is annoying with submodules and npm dependencies.

  • 0.15.1 is already bad

Possibly related #98769 (comment) (the initial idea to build docs).
In #306016 (comment) we bumped to 0.16.0 but it brokle a test and was reverted.

@mweinelt
Copy link
Member Author

Oh god, it needs clang to find its extensions. hotdoc/hotdoc#286

@jonhermansen
Copy link
Member

jonhermansen commented Jul 11, 2025

python-wheel library was updated from 0.45.1 to 0.46.1, but the hash was never changed, could this be a problem with the update tooling? It's also possible that the tag was changed after these changes, so I wanted to ask here.

@mweinelt Check this commit b2fc3a5923ff2

I found an issue when building the python-wheel from source:

error: hash mismatch in fixed-output derivation '/nix/store/hjvnmjmkmcaldyskp24gab42zf0qcfld-source.drv':
         specified: sha256-tgueGEWByS5owdA5rhXGn3qh1Vtf0HGYC6+BHfrnGAs=
            got:    sha256-iyGfGr3pLVZSEIHetjsPbIIXkuXrmIPiSqqOw31l9Qw=
error: 1 dependencies of derivation '/nix/store/5946268h696fsfbv2i0hrgr5dr2ckqdl-python3.13-wheel-0.46.1.drv' failed to build

I opened #424195 to pull in the latest changes from python-wheel 0.46.1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CVE-2025-4516.patch appears to be dead. Do we need it, or can it be removed? Or am I not seeing something?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4.workflow: package set update Development branch for package set updates (haskell/python) 6.topic: python Python is a high-level, general-purpose programming language. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches.

Projects

Development

Successfully merging this pull request may close these issues.

9 participants