Python packages without support for certain interpreters

Hi everyone, I noticed certain python packages are available for interpreters that are not technically supported. For example, the package python3Packages.wsme is available in python39Packages, python310Packages and python311Packages, despite only working in python38Packages (trying to install it from an attrset other than the latter will throw an error).
Looking at its derivation, the attribute disabled is set to pythonAtLeast "3.9", meaning that it does not support interpreters higher than 3.8 . Is it intended for packages like this one to be packaged for interpreters they are not compatible with? If so, how can I filter python3Packages to only include packages that support the interpreter they are packaged with? It looks like the attribute disabled is not available in the final derivation.

To give a bit of context for the issue, I’m trying statically analyze the python libraries packaged in nixpkgs for research purposes, so I’m processing the whole python3Packages attrset. While evaluating derivations such as python3Packages.wsme an error is thrown.

This is my system configuration:

  • system: "x86_64-linux"
  • host os: Linux 6.3.9-arch1-1, Arch Linux, noversion, rolling
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.16.1
  • channels(root): "nixpkgs"
  • channels(giuss): ""
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixpkgs
1 Like

Not sure myself whether there’s a low-pain way around, but I did find this ~related issue Unable to override "disabled" attribute with overridePythonAttrs · Issue #48663 · NixOS/nixpkgs · GitHub

Thanks! I think I’ll need to filter out all the packages depending on these broken python derivations (which for python3Packages looks like it’s wsme, backports-zoneinfo, uncompyle6, ludios_wpull).

1 Like