Skip to content

Comments

[python-updates] 2023/12/02 major updates (python312Packages, pythonRuntimeDepsCheckHook)#271586

Merged
mweinelt merged 818 commits intostaging-nextfrom
python-updates
Dec 20, 2023
Merged

[python-updates] 2023/12/02 major updates (python312Packages, pythonRuntimeDepsCheckHook)#271586
mweinelt merged 818 commits intostaging-nextfrom
python-updates

Conversation

@mweinelt
Copy link
Member

@mweinelt mweinelt commented Dec 2, 2023

This is a bulk update of python packages, that includes major version bumps.

TODO

  • pythonRuntimDepsCheckHook (see python3.pkgs.pythonRuntimeDepsCheckHook: init  #270457)
  • Recurse into python312Packages, stop recursing into python310Packages
  • Prune SETUPTOOLS_SCM_PRETEND_VERSION
  • Review and merge staging changes on the project board
  • Re-review changes and consider them for merge (ETA: 2023-12-02, 12:00+ UTC)
  • Run bulk updater (ETA: 2023-12-02, 21:00+ UTC)
  • Start evaluation

Once the evaluation has finished, jobs will start building and breakage can be reviewed over at https://hydra.nixos.org/jobset/nixpkgs/python-updates.

Additionally, a review report will appear at https://malob.github.io/nix-review-tools-reports.

Known Issues:

  • meson-python on python312 depends on meson: 1.2.3 -> 1.3.0 #268583
  • numpy 1.26.2 still uses distutils in its buildsystem, needs research which commits we need to backport
  • pytest-asyncio 0.22.0 breaks bleak, aioesphomeapi and a few other packages - reverted!

Latest eval report

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

@github-actions github-actions bot added 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab labels Dec 2, 2023
metadata = get_metadata(args.wheel)
tests = [test_requirement(requirement) for requirement in metadata.requires_dist]

if not all(tests):
Copy link
Member

Choose a reason for hiding this comment

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

We shoud list some of the possible options for people here like buildNpmPackage

Copy link
Member Author

@mweinelt mweinelt Dec 2, 2023

Choose a reason for hiding this comment

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

Please take some time to make your review comments more legible.

I think you are asking for more actionable feedback to the user. I can do that, but buildNpmPackage offers these 3 hints, because the way to resolve things are much more unclear.

The only thing I would recommend is pythonRelaxDepsHook, if version constraints are too tight.

Copy link
Member

@SuperSandro2000 SuperSandro2000 Dec 2, 2023

Choose a reason for hiding this comment

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

You got exactly what I wanted to say, no need to write romans. :)

We could print something like

Please try to use pythonRelaxDepsHook to release the version constraints if the library allows it and tests continue to pass.
If the hook does not work for some reason, please try to fall back to manually patching in postPatch.

Copy link
Member Author

Choose a reason for hiding this comment

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

You got exactly what I wanted to say, no need to write romans. :)

It took me more than a minute to grok though, and that happens more often than you think.

Copy link
Member

Choose a reason for hiding this comment

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

hmmmm, I try to remember that in the future but that's just my normal writing style. I am not leaving things out on purpose.

@mweinelt mweinelt force-pushed the python-updates branch 2 times, most recently from e5af2a4 to fa00e71 Compare December 2, 2023 23:32
@mweinelt mweinelt force-pushed the python-updates branch 3 times, most recently from ecb5694 to b89d6c9 Compare December 3, 2023 14:32
@ofborg ofborg bot added 10.rebuild-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 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. labels Dec 3, 2023
@mweinelt mweinelt force-pushed the python-updates branch 3 times, most recently from c859349 to 0151fcd Compare December 4, 2023 17:29
@mweinelt
Copy link
Member Author

mweinelt commented Dec 4, 2023

Report for the latest eval on my private hydra, if someone wants to dig in.

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

@ofborg ofborg bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Dec 5, 2023
@trofi
Copy link
Contributor

trofi commented Dec 25, 2023

Bisect says 536b7d1 python311Packages.pytest: clean up deps, expose testing extra broke libei in staging-next:

$ nix build --no-link -f. -L libei
...
libei> Program python3 (attr, jinja2) found: NO modules: jinja2
libei> proto/meson.build:17:15: ERROR: python3 is missing modules: attr
libei> A full log can be found at /build/source/build/meson-logs/meson-log.txt

@mweinelt
Copy link
Member Author

On mobile right now, but a fix was referenced in the staging-next PR.

@imincik
Copy link
Contributor

imincik commented Jan 15, 2024

It looks like sip upgrade to 6.8.0 broke both qgis and qgis-ltr (see: #281100).

@mattfawcett
Copy link
Contributor

pythonPackages.pyosmium no longer builds with these upgrades due to it trying to patch something already patched in the latest version. Created #281389 to fix it.

@imincik
Copy link
Contributor

imincik commented Jan 18, 2024

@mweinelt , I found this commit merged as a part of this PR updating python3Packages.rasterio to version 4 which doesn't exist. Package with this change doesn't even build ! It looks very suspicious to me !

BTW, I am one of the maintainers of this package and I haven't seen any notification about the change.

@jonringer
Copy link
Contributor

@mweinelt , I found this commit merged as a part of this PR updating python3Packages.rasterio to version 4 which doesn't exist. Package with this change doesn't even build ! It looks very suspicious to me !

This should have only been included if they didn't mark that tag as a pre-release. Looks like it was already reverted but the forced update of all packages will sometimes get these errors propagating to us.

@jonringer
Copy link
Contributor

although, looked at that branch... and it's from 9 years ago, not sure why it did get included.... the release metadata should be getting fetched from github.

@mweinelt
Copy link
Member Author

We arrive at the following using https://api.github.com/repos/rasterio/rasterio/releases and because we determine the highest version in _determine_latest_version.

print(_get_latest_version_github("python311Packages.rasterio", "rasterio", "", "1.3.8", "major"))
('4', '07j1fba1jm55qby0ljxmm983n229qgarjdm9gwyfzdq4cag0bvb0', 'release-test-')

@sengaya sengaya mentioned this pull request Jan 19, 2024
13 tasks
@CertainLach
Copy link
Member

xformers upgrade is broken here:
5dde5f3

Version 0.03 exists, but this is a typo in upstream repository:
image

And in fact, xformers version is downgraded here
0.0.22.post7 => 0.03

Version 0.0.22.post7 is much newer:
image

wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Jun 12, 2024
This was added in NixOS#271586, but never used due to the spelling mistake of
a double s.
wolfgangwalther added a commit to wolfgangwalther/nixpkgs that referenced this pull request Jun 12, 2024
This was added in NixOS#271586, but never used due to the spelling mistake of
a double s.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge conflict This PR has merge conflicts with the target branch 6.topic: jupyter Interactive computing tooling: kernels, notebook, jupyterlab 6.topic: python Python is a high-level, general-purpose programming language. 6.topic: rust General-purpose programming language emphasizing performance, type safety, and concurrency. 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 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-darwin-stdenv This PR causes stdenv to rebuild on Darwin and must target a staging branch. 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. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch.

Projects

None yet

Development

Successfully merging this pull request may close these issues.