-
-
Notifications
You must be signed in to change notification settings - Fork 17.9k
Description
nose is abandoned upstream and has caused us untold headaches recently (admittedly mostly unrelated to the code itself). We’ve stopped the bleeding by getting #325968 into staging thanks to the incredible work of @jchv, but it’s still broken on master and we ought to do some tidying up so we’re not dragging this around forever and perhaps even to unblock some stuff on master while the staging cycle progresses. Many packages don’t actually need nose any more, despite us including it in our dependency lists. Active upstreams should have already moved to pytest or something else. Some packages will have patches available; if we’re really feeling generous we could send patches to upstream ourselves. Others may be completely unmaintained packages that we could think about dropping.
Please make sure to migrate packages to pyproject = true; when working on them. Additionally, if the upstream is unmaintained, there are no significant reverse dependencies in‐tree or on Wheelodex, and it requires patching or there is no particular reason to imagine we’d want to keep it, consider just dropping the package. For the same reasons we want to get rid of nose, we should take this as an opportunity to reduce future maintenance burden and drop broken, unused, or long‐obsolete packages.
@dotlambda has already done some great work on this – see #325847, #325872, #325885, and #326164 – but I thought it’d be good to have a master list of all affected packages so we can tackle it collectively. If you open a PR for one of these, please edit this issue to link it beside the relevant package(s).
Already done
- python3{11,12}Packages.nose: drop #348699 🎉
-
adafruit-nrfutiladafruit-nrfutil: remove nose and modernize #327199 -
aws-google-authaws-google-auth: drop #331352 -
caffecaffe: drop nose dependency #343776 -
cmake-lintcmake-lint: remove nose dependency #327220 -
docker-compose_1docker-compose_1: drop #330907 -
gixypython3Packages.nose3: drop #330741 -
grinpython3Packages.nose3: drop #330741 -
hydrushydrus: use the native test runner #343820 -
ledger-autosyncledger-autosync: fix build with Python 3.12 and don't propagate ledger and hledger #334202 -
mackupmackup: remove nose dependency and modernize #327240 -
mbutilmbutil: drop nose dependency #334492 -
onboardonboard: remove unused nose dependency #343785 -
openlp{openlp,python3Packages.sqlalchemy-migrate,python3Packages.tempita}: drop #330855 -
python2Packages.more-itertoolspython27Packages.more-itertools: useunittestCheckHook#343822 -
python3Packages.actdiagpython312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396 -
python3Packages.androguardpython3Packages.androguard: drop nose dependency; python3Packages.nose-timer: drop #330535 -
python3Packages.apricot-selectpython312Packages.apricot-select: drop nose dependency #336133 -
python3Packages.beakerpython3Packages.beaker: replace nose tests with pytest #327530 -
python3Packages.biopandaspython312Packages.biopandas: Remove nose dependency #330740 -
python3Packages.blessingspython312Packages.blessings: drop #336152 -
python3Packages.blockdiagpython312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396 -
python3Packages.botopython3{11,12}Packages.boto: drop #343727 -
python3Packages.braintreepython312Packages.braintree: 4.14.0 -> 4.29.0; remove nose and modernize #330290 -
python3Packages.bx-pythonpython312Packages.bx-python: Drop nose dependency; modernize #330744 -
python3Packages.cassandra-driverpython312Packages.cassandra-driver: drop nose dependency; modernize #330760 -
python3Packages.cgroup-utilspython312Packages.cgroup-utils: remove nose dependency and modernize #330287 -
python3Packages.changefinderpython312Packages.changefinder: drop nose dependency #330311 -
python3Packages.chart-studiopython312Packages.chart-studio: Remove nose dependency #330248 -
python3Packages.citeproc-pypython312Packages.citeproc-py: Remove nose dependency and re-enable tests #330237 -
python3Packages.clickhouse-driverpythonPackages.clickhouse-driver: drop nose dependency #330959 -
python3Packages.clustershellpython312Packages.clustershell: drop nose dependency #336158 -
python3Packages.deformpython3Packages.deform: remove nose dependency #328917 -
python3Packages.django-crontabpython3Packages.django-crontab: drop #336225 -
python3Packages.dm-controlpython3Packages.nose-xunitmp: drop #330869 -
python3Packages.dodgypython312Packages.dodgy: Drop nose dependency; modernize #330761 -
python3Packages.envspython312Packages.envs: Drop nose dependency; modernize #330762 -
python3Packages.expiringdictpython3Packages.expiringdict: Python 3.12 compatibility #326665 -
python3Packages.flask-restfulpython3Packages.flask-restful: drop nose dependency #330876 -
python3Packages.gocardless-propython3Packages.gocardless-pro: remove nose dependency #326766 -
python3Packages.habaneropython312Packages.habanero: Drop nose dependency; modernize #330768 -
python3Packages.hkdfpython312Packages.hkdf: drop #330769 -
python3Packages.http-ecepython312Packages.http-ece: 1.2.0 -> 1.2.1; modernize #330771 -
python3Packages.inotifypython312Packages.inotify: drop nose dependency; modernize #330776 -
python3Packages.isbnlibpython312Packages.isbnlib: drop nose dependency; modernize #330773 -
python3Packages.jsonablepython312Packages.jsonable: drop nose dependency; modernize #330777 -
python3Packages.jupyter-contrib-nbextensionspython3{11,12}Packages.jupyter-contrib-nbextensions: drop #343797 -
python3Packages.libgpuarraypython312Packages.libgpuarray: drop #331841 -
python3Packages.locationsharinglibpython312Packages.locationsharinglib: drop nose dependency; modernize #330786 -
python3Packages.lockfilepython312Packages.lockfile: Remove usage of nose; modernize #343765 -
python3Packages.mhcflurrypython3{11,12}Packages.mhcflurry: remove nose dependency #347990 python3{11,12}Packages.mhcflurry: remove unused nose input #348716 -
python3Packages.mkl-servicepython311Packages.mkl-service: refactor and remove nose #324729 -
python3Packages.mohawkpython312Packages.mohawk: drop nose dependency; modernize #331838 -
python3Packages.mongoenginepython312Packages.mongoengine: drop nose dependency #334487 -
python3Packages.mwtypespython312Packages.{mwtypes,mwxml}: drop nose dependency; modernize #330805 -
python3Packages.mwxmlpython312Packages.{mwtypes,mwxml}: drop nose dependency; modernize #330805 -
python3Packages.mygpoclientpython311Packages.mygpoclient: 1.8 -> 1.9 #324734 -
python3Packages.nbmergepython311Packages.nbmerge: move to top-level attribute #324749 -
python3Packages.neopython312Packages.neo: drop nose dependency #330882 -
python3Packages.nose-pattern-excludepython3Packages.{nose-pattern-exclude,nose-warnings-filters}: drop #330439 -
python3Packages.nose-timerpython3Packages.androguard: drop nose dependency; python3Packages.nose-timer: drop #330535 -
python3Packages.nose-warnings-filterspython3Packages.{nose-pattern-exclude,nose-warnings-filters}: drop #330439 -
python3Packages.nose-xunitmppython3Packages.nose-xunitmp: drop #330869 -
python3Packages.nwdiagpython312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396 -
python3Packages.ofxhomepython312Packages.ofxhome: remove nose and fix tests #327239 -
python3Packages.ofxtoolspython3Packages.ofxtools: drop nose dependency #330866 -
python3Packages.parapython312Packages.para: Remove nose dependency #330229 -
python3Packages.paramzpython312packages.paramz: drop nose dependency #330865 -
python3Packages.pastescriptpython3Packages.pastescript: remove nose dependency #327246 -
python3Packages.paverpython3Packages.paver/nose: remove nose and modernize #330858 -
python3Packages.pidpython3Packages.pid: remove nose dependency #334761 -
python3Packages.pkutilspython3Packages.nose3: drop #330741 -
python3Packages.pprintpppython312Packages.pprintpp: drop nose dependency #330705 -
python3Packages.preggypython311Packages.yanc: drop #329978 -
python3Packages.premailerpython312Packages.premailer: drop #348580 python312Packages.premailer: drop nose dependency #330702 -
python3Packages.prisonpython312Packages.prison: drop nose dependency #330700 -
python3Packages.prox-tvpython312Packages.prox-tv: drop nose dependency #330699 -
python3Packages.ptablepython312Packages.ptable: drop nose dependency #330696 -
python3Packages.pycdiopython312Packages.pycdio: drop nose dependency #330695 -
python3Packages.pycontractspython312Packages.pycontracts: drop #330791 -
python3Packages.pydypython312Packages.pydy: drop nose dependency #336241 -
python3Packages.pyexcel-odspython312Packages.pyexcel-{ods,xls}: remove nose dependency; modernize #330758 -
python3Packages.pyexcel-xlspython312Packages.pyexcel-{ods,xls}: remove nose dependency; modernize #330758 -
python3Packages.pygattpython312Packages.pygatt: 4.0.5 -> 5.0.0, python312Packages.meshtastic: 2.3.11 -> 2.3.14 #332660 python312Packages.pygatt: drop nose #330688 -
python3Packages.pygeoippython3Packages.pygeoip: drop #330509 -
python3Packages.pygogopython311Packages.pygogo: drop #329989 -
python3Packages.pygtfspython312Packages.pygtfs: drop nose dependency #330504 -
python3Packages.pylacrossepython3Packages.pylacrosse: drop nose dependency #330500 -
python3Packages.pypasspython312Packages.pypass: Remove nose dependency; modernize #330222 -
python3Packages.pypillowfightpaperwork: unbreak #327214 -
python3Packages.pyquaternionpython312Packages.pyquaternion: Remove nose dependency #330459 -
python3Packages.pyrfc3339python312Packages.pyrfc3339: drop nose dependency #330496 -
python3Packages.pysrtpython312Packages.pysrt: drop nose dependency #330441 -
python3Packages.pytestpython312Packages.pytest: remove optional nose dependency #326541 -
python3Packages.python-etcdpython312Packages.python-etcd: 0.4.5 -> 0.5.0-unstable-2023-10-31; dr… #330438 -
python3Packages.python-fedorapython3Packages.python-fedora: remove nose #327169 -
python3Packages.python-hglibpython312Packages.python-hglib: Remove nose dependency; modernize #330739 -
python3Packages.python-mapnikpython312Packages.python-mapnik: drop nose dependency #330432 -
python3Packages.pytimeparsepython312Packages.pytimeparse: drop nose dependency #330421 -
python3Packages.pyutilibpython312Packages.pyutilib: drop #330759 -
python3Packages.rauthpython312Packages.rauth: drop #330417 -
python3Packages.rxpython312Packages.rx: update disable test reason #336219 -
python3Packages.safepython312Package.safe: drop #330404 -
python3Packages.sampledatapython312Packages.sampledata: drop #330029 -
python3Packages.scalespython312Packages.scales: use pytestCheckHook; modernize #348559 python312Packages.scales: run tests using pytestCheckHook #334466 -
python3Packages.scikit-fuzzypython3Packages.scikit-fuzzy: unstable-2022-11-07 -> unstable-2023-09-14 #330854 -
python3Packages.selectors2python312Packages.selectors2: drop #330024 -
python3Packages.seqdiagpython312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396 -
python3Packages.shappython3Packages.shap: drop nose dependency #336218 -
python3Packages.simplebayespython3Packages.simplebayes: drop nose dependency #330018 -
python3Packages.spark-parserpython312Packages.spark-parser: drop nose dependency #330001 -
python3Packages.sphinx-rtd-dark-modepython312Packages.sphinx-rtd-dark-mode: drop nose dependency #330383 -
python3Packages.sqlalchemy-mixinspython312Packages.sqlalchemy-mixins: drop nose dependency #330493 -
python3Packages.stytrapython312Packages.stytra: drop nose dependency #336216 -
python3Packages.surepython312Package.sure: drop nose dependency #330012 -
python3Packages.svgutilspython312Packages.svgutils: drop nose dependency #330381 -
python3Packages.telfhashpython312Packages.telfhash: drop nose dependency #330005 -
python3Packages.tempita{openlp,python3Packages.sqlalchemy-migrate,python3Packages.tempita}: drop #330855 -
python3Packages.tissuepython3Packages.tissue: drop #330376 -
python3Packages.traittypespython312Packages.traittypes: unstable-2019-06-23 -> 0.2.1-unstable-2020-07-17 #330236 -
python3Packages.trflpython311Packages.trfl: remove #329976 -
python3Packages.uncompyle6python3{11,12}Packages.uncompyle6: usepyproject, relax spark-parser dependency, remove nose dependency #348013 -
python3Packages.unicode-slugifypython312Packages.unicode-slugify: drop nose dependency #329998 -
python3Packages.uvcclientpython312Packages.uvcclient: 0.11.0 -> 0.11.1; python312Packages.uiprotect: 5.2.2 -> 5.3.0 #328041 -
python3Packages.vxi11python312Packages.vxi11: drop nose dependency #329994 -
python3Packages.webassetspython312Packages.{webassets, flask-assets}: remove nose; modernize #348621 python312Packages.webassets: drop nose dependency #334483 -
python3Packages.webhelperspython3Packages.webhelpers: drop #330399 -
python3Packages.weboobpython3Packages.weboob: drop #330436 -
python3Packages.wsmepython312Packages.wsme: drop nose dependency #334472 -
python3Packages.xlwtpython312Packages.xlwt: Remove nose dependency #330217 -
python3Packages.yancpython311Packages.yanc: drop #329978 -
python3Packages.yargpython3Packages.yarg: remove nose and modernize #327170 -
sasviewsasview: remove unused custom xhtml2pdf #336226 -
svtplay-dlpython3Packages.nose3: drop #330741 -
tarsnappertarsnapper: drop nose dependency #334462 -
zk-shellzk-shell: drop #333725
This was generated from staging commit 83881cb with the following awful fish one‐liner: for pkg in (rg -l '\bnose3?\b' | rg -v '/(nose[23]?|cufflinks|enocean|jaconv|annoy|hdmedians|flaky|pycron|snapshottest|ssh-mitm|colour|influxdb)/|(python|cran)-(packages|aliases)\.nix' | sed 's|.*/\([^/]*\)/\([^/]*\)$|\1|'); rg "/$pkg"'[ \n{]' pkgs/top-level/python-packages.nix | awk '{print "python3Packages." $1}'; test $pipestatus[1] = 0 || rg "/$pkg"'[ \n{]' pkgs/top-level/all-packages.nix | awk '{print $1}'; test $pipestatus[1] = 0 || echo "$pkg"; end | sort -u | sed 's/^/* [ ] `/; s/$/`/'; feel free to edit to update the list.