In the context of a course where students use a HPC, we've also shown how to reproduce their HPC Python environment on a local laptop with pip. In this process, we noticed that the Python-bundle-PyPI contains several (very) dated packages, which seem to be unused and can probably be removed safely. Most in the list below have long been unmaintained and/or have been superseded by newer implementations, which is a undesirable risk by itself. Getting rid of these will also make Python imports slightly faster.
More detailed comments are given for each removal suggestion. I'm not suggesting to include newer alternatives as it would be good to keep the bundle concise and general purpose.
I've based my analysis on the packages included in Python-bundle-PyPI-2025.07-GCCcore-14.3.0.eb. (All these packages in the easyconfig are already at their newest PyPI version, so upgrading is not an option.)
@boegel This is part of my preparation for a software install request, but does not fit in there as it is rather the inverse kind of request.
In the context of a course where students use a HPC, we've also shown how to reproduce their HPC Python environment on a local laptop with pip. In this process, we noticed that the
Python-bundle-PyPIcontains several (very) dated packages, which seem to be unused and can probably be removed safely. Most in the list below have long been unmaintained and/or have been superseded by newer implementations, which is a undesirable risk by itself. Getting rid of these will also make Python imports slightly faster.More detailed comments are given for each removal suggestion. I'm not suggesting to include newer alternatives as it would be good to keep the bundle concise and general purpose.
I've based my analysis on the packages included in
Python-bundle-PyPI-2025.07-GCCcore-14.3.0.eb. (All these packages in the easyconfig are already at their newest PyPI version, so upgrading is not an option.)simplegeneric==0.8.1docopt==0.6.2lockfile==0.12.2filelockandportalocker.zipfile36==0.1.3webencodings==0.5.1html5lib, which is also outdated, long superseded by more modern packages like w3libintreehooks==1.0backend-pathas the modern alternative.scandir==1.10.0os.scandir()is the modern replacement.glob2==0.7pytoml==0.1.21tomlliband thetomlkitpackage. Also redundant withtomliincluded in Python easyconfig.cachy==0.3.0diskcache.commonmark==0.9.1markdown-it-pyinstead.ipaddress==1.0.23appdirs==1.4.4html5lib==1.1selectolaxliac-arff==2.5.0pastel==0.2.1richtoml==0.10.2tomlliband thetomlkitpackage. Also redundant withtomliincluded in Python easyconfig.pylev==1.4.0rapidfuzzandlevenshteinpackages on PyPI.netifaces==0.11.0py-expression-eval==0.3.14simpleevalpackage on PyPIpy==1.11.0pathlib2==2.3.7.post1semantic-version==2.10.0semverandpackaingpackages.atomicwrites==1.4.1os.rename().pydevtool==0.3.0colorama==0.4.6rich@boegel This is part of my preparation for a software install request, but does not fit in there as it is rather the inverse kind of request.