-
-
Notifications
You must be signed in to change notification settings - Fork 13.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
python3Packages: get rid of uses of nose #326513
Comments
|
Addresses NixOS#326513 Dependency `nose` was removed in favor of pytest in version 1.46.2.
Addresses NixOS#326513 by applying mailgun/expiringdict#49
Addresses NixOS#326513 Dependency `nose` was removed in favor of pytest in version 1.46.2.
Hi, "paperwork" package also depend on nose and raise error actually. |
Seems like paperwork depends on pypillowfight, which has a build error due to nose not being supported. I'm investigating now! Edit: it also depends on |
|
Addresses NixOS#326513. Dependency nose was removed in version 3.3.0 (2023-01-03). Replaced `format` parameter with `pyproject = true` and `build-system` set to `setuptools`
Addresses NixOS#326513. Dependency nose was removed in version 3.3.0 (2023-01-03). Replaced `format` parameter with `pyproject = true` and `build-system` set to `setuptools`
Addresses NixOS#326513 by applying mailgun/expiringdict#49
Addresses NixOS#326513 Dependency `nose` was removed in favor of pytest in version 1.46.2.
Addresses NixOS#326513 by applying mailgun/expiringdict#49
Addresses NixOS#326513 Dependency `nose` was removed in favor of pytest in version 1.46.2.
|
@pyrox0 |
new to nix with much to learn- but quick question. will these be backported into 24.05 when complete? or better to point a flake to master or unstable for packages that are fixed? thanks! |
24.05 uses Python 3.11 by default, so the packages here should mostly not be an issue. If you’re using Python 3.12, I would recommend using the unstable release until 24.11 is released. (Also, most of these packages do already work with 3.12 on 24.11 as we have patched nose ourselves; we’re just trying to get them cleaned up.) |
Interesting-- I was using nix-shell and for some reason my nix-channel was set to unstable so it was pulling from there and therefore using 3.12 i guess. I don't need 3.12 specifically, so updated the channel and all is well now. Thanks for taking the time to explain! |
|
@emilazy should we drop |
We can't, it is to widely used. Or do you mean the python2Package? Not sure what is even using that at this point. |
yup the |
Try removing it and see what breaks. I would be in support to drop eg https://github.com/NixOS/nixpkgs/blob/21576aba43e604a95cc45c25248f39f3989ebe36/pkgs/servers/neard/default.nix but we need to keep gimp intact
I didn't find anything else uses python2 packages on the fast but I didn't search for all variants. |
Ignore Python 2; it is even more obsolete than nose. GIMP will be solved soon and I have plans for the rest of Python 2. |
Sorry for my long absence from working on this. I’ve cleaned up the list in the first comment to be easier to follow now that most users have been dealt with, and left a few reviews. I hope we can get this done before 24.11! |
PRs of my own in flight:
I’m looking at |
Turns out I was wrong about Python 2.7 packages not mattering… #343822 |
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).
Still to do
python3Packages.hkdf
python312Packages.hkdf: Drop nose dependency; modernize #330769python3Packages.inotify
python312Packages.inotify: drop nose dependency; modernize #330776python3Packages.mhcflurry
python3Packages.premailer
python312Packages.premailer: drop nose dependency #330702python3Packages.uncompyle6
python3Packages.scales
python312Packages.scales: run tests using pytestCheckHook #334466python3Packages.webassets
python312Packages.webassets: drop nose dependency #334483Already done
adafruit-nrfutil
adafruit-nrfutil: remove nose and modernize #327199aws-google-auth
aws-google-auth: drop #331352caffe
caffe: drop nose dependency #343776cmake-lint
cmake-lint: remove nose dependency #327220docker-compose_1
docker-compose_1: drop #330907gixy
python3Packages.nose3: drop #330741grin
python3Packages.nose3: drop #330741hydrus
hydrus: use the native test runner #343820ledger-autosync
ledger-autosync: fix build with Python 3.12 and don't propagate ledger and hledger #334202mackup
mackup: remove nose dependency and modernize #327240mbutil
mbutil: drop nose dependency #334492onboard
onboard: remove unused nose dependency #343785openlp
{openlp,python3Packages.sqlalchemy-migrate,python3Packages.tempita}: drop #330855python2Packages.more-itertools
python27Packages.more-itertools: useunittestCheckHook
#343822python3Packages.actdiag
python312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396python3Packages.androguard
python3Packages.androguard: drop nose dependency; python3Packages.nose-timer: drop #330535python3Packages.apricot-select
python312Packages.apricot-select: drop nose dependency #336133python3Packages.beaker
python3Packages.beaker: replace nose tests with pytest #327530python3Packages.biopandas
python312Packages.biopandas: Remove nose dependency #330740python3Packages.blessings
python312Packages.blessings: drop #336152python3Packages.blockdiag
python312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396python3Packages.boto
python3{11,12}Packages.boto: drop #343727python3Packages.braintree
python312Packages.braintree: 4.14.0 -> 4.29.0; remove nose and modernize #330290python3Packages.bx-python
python312Packages.bx-python: Drop nose dependency; modernize #330744python3Packages.cassandra-driver
python312Packages.cassandra-driver: drop nose dependency; modernize #330760python3Packages.cgroup-utils
python312Packages.cgroup-utils: remove nose dependency and modernize #330287python3Packages.changefinder
python312Packages.changefinder: drop nose dependency #330311python3Packages.chart-studio
python312Packages.chart-studio: Remove nose dependency #330248python3Packages.citeproc-py
python312Packages.citeproc-py: Remove nose dependency and re-enable tests #330237python3Packages.clickhouse-driver
pythonPackages.clickhouse-driver: drop nose dependency #330959python3Packages.clustershell
python312Packages.clustershell: drop nose dependency #336158python3Packages.deform
python3Packages.deform: remove nose dependency #328917python3Packages.django-crontab
python3Packages.django-crontab: drop #336225python3Packages.dm-control
python3Packages.nose-xunitmp: drop #330869python3Packages.dodgy
python312Packages.dodgy: Drop nose dependency; modernize #330761python3Packages.envs
python312Packages.envs: Drop nose dependency; modernize #330762python3Packages.expiringdict
python3Packages.expiringdict: Python 3.12 compatibility #326665python3Packages.flask-restful
python3Packages.flask-restful: drop nose dependency #330876python3Packages.gocardless-pro
python3Packages.gocardless-pro: remove nose dependency #326766python3Packages.habanero
python312Packages.habanero: Drop nose dependency; modernize #330768python3Packages.http-ece
python312Packages.http-ece: 1.2.0 -> 1.2.1; modernize #330771python3Packages.isbnlib
python312Packages.isbnlib: drop nose dependency; modernize #330773python3Packages.jsonable
python312Packages.jsonable: drop nose dependency; modernize #330777python3Packages.jupyter-contrib-nbextensions
python3{11,12}Packages.jupyter-contrib-nbextensions: drop #343797python3Packages.libgpuarray
python312Packages.libgpuarray: drop #331841python3Packages.locationsharinglib
python312Packages.locationsharinglib: drop nose dependency; modernize #330786python3Packages.lockfile
python312Packages.lockfile: Remove usage of nose; modernize #343765python3Packages.mkl-service
python311Packages.mkl-service: refactor and remove nose #324729python3Packages.mohawk
python312Packages.mohawk: drop nose dependency; modernize #331838python3Packages.mongoengine
python312Packages.mongoengine: drop nose dependency #334487python3Packages.mwtypes
python312Packages.{mwtypes,mwxml}: drop nose dependency; modernize #330805python3Packages.mwxml
python312Packages.{mwtypes,mwxml}: drop nose dependency; modernize #330805python3Packages.mygpoclient
python311Packages.mygpoclient: 1.8 -> 1.9 #324734python3Packages.nbmerge
python311Packages.nbmerge: move to top-level attribute #324749python3Packages.neo
python312Packages.neo: drop nose dependency #330882python3Packages.nose-pattern-exclude
python3Packages.{nose-pattern-exclude,nose-warnings-filters}: drop #330439python3Packages.nose-timer
python3Packages.androguard: drop nose dependency; python3Packages.nose-timer: drop #330535python3Packages.nose-warnings-filters
python3Packages.{nose-pattern-exclude,nose-warnings-filters}: drop #330439python3Packages.nose-xunitmp
python3Packages.nose-xunitmp: drop #330869python3Packages.nwdiag
python312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396python3Packages.ofxhome
python312Packages.ofxhome: remove nose and fix tests #327239python3Packages.ofxtools
python3Packages.ofxtools: drop nose dependency #330866python3Packages.para
python312Packages.para: Remove nose dependency #330229python3Packages.paramz
python312packages.paramz: drop nose dependency #330865python3Packages.pastescript
python3Packages.pastescript: remove nose dependency #327246python3Packages.paver
python3Packages.paver/nose: remove nose and modernize #330858python3Packages.pid
python3Packages.pid: remove nose dependency #334761python3Packages.pkutils
python3Packages.nose3: drop #330741python3Packages.pprintpp
python312Packages.pprintpp: drop nose dependency #330705python3Packages.preggy
python311Packages.yanc: drop #329978python3Packages.prison
python312Packages.prison: drop nose dependency #330700python3Packages.prox-tv
python312Packages.prox-tv: drop nose dependency #330699python3Packages.ptable
python312Packages.ptable: drop nose dependency #330696python3Packages.pycdio
python312Packages.pycdio: drop nose dependency #330695python3Packages.pycontracts
python312Packages.pycontracts: drop #330791python3Packages.pydy
python312Packages.pydy: drop nose dependency #336241python3Packages.pyexcel-ods
python312Packages.pyexcel-{ods,xls}: remove nose dependency; modernize #330758python3Packages.pyexcel-xls
python312Packages.pyexcel-{ods,xls}: remove nose dependency; modernize #330758python3Packages.pygatt
python312Packages.pygatt: 4.0.5 -> 5.0.0, python312Packages.meshtastic: 2.3.11 -> 2.3.14 #332660 python312Packages.pygatt: drop nose #330688python3Packages.pygeoip
python3Packages.pygeoip: drop #330509python3Packages.pygogo
python311Packages.pygogo: drop #329989python3Packages.pygtfs
python312Packages.pygtfs: drop nose dependency #330504python3Packages.pylacrosse
python3Packages.pylacrosse: drop nose dependency #330500python3Packages.pypass
python312Packages.pypass: Remove nose dependency; modernize #330222python3Packages.pypillowfight
paperwork: unbreak #327214python3Packages.pyquaternion
python312Packages.pyquaternion: Remove nose dependency #330459python3Packages.pyrfc3339
python312Packages.pyrfc3339: drop nose dependency #330496python3Packages.pysrt
python312Packages.pysrt: drop nose dependency #330441python3Packages.pytest
python312Packages.pytest: remove optional nose dependency #326541python3Packages.python-etcd
python312Packages.python-etcd: 0.4.5 -> 0.5.0-unstable-2023-10-31; dr… #330438python3Packages.python-fedora
python3Packages.python-fedora: remove nose #327169python3Packages.python-hglib
python312Packages.python-hglib: Remove nose dependency; modernize #330739python3Packages.python-mapnik
python312Packages.python-mapnik: drop nose dependency #330432python3Packages.pytimeparse
python312Packages.pytimeparse: drop nose dependency #330421python3Packages.pyutilib
python312Packages.pyutilib: drop #330759python3Packages.rauth
python312Packages.rauth: drop #330417python3Packages.rx
python312Packages.rx: update disable test reason #336219python3Packages.safe
python312Package.safe: drop #330404python3Packages.sampledata
python312Packages.sampledata: drop #330029python3Packages.scikit-fuzzy
python3Packages.scikit-fuzzy: unstable-2022-11-07 -> unstable-2023-09-14 #330854python3Packages.selectors2
python312Packages.selectors2: drop #330024python3Packages.seqdiag
python312Packages.{blackdiag,seqdiag,actdiag,nwdiag}: drop nose dependency #330396python3Packages.shap
python3Packages.shap: drop nose dependency #336218python3Packages.simplebayes
python3Packages.simplebayes: drop nose dependency #330018python3Packages.spark-parser
python312Packages.spark-parser: drop nose dependency #330001python3Packages.sphinx-rtd-dark-mode
python312Packages.sphinx-rtd-dark-mode: drop nose dependency #330383python3Packages.sqlalchemy-mixins
python312Packages.sqlalchemy-mixins: drop nose dependency #330493python3Packages.stytra
python312Packages.stytra: drop nose dependency #336216python3Packages.sure
python312Package.sure: drop nose dependency #330012python3Packages.svgutils
python312Packages.svgutils: drop nose dependency #330381python3Packages.telfhash
python312Packages.telfhash: drop nose dependency #330005python3Packages.tempita
{openlp,python3Packages.sqlalchemy-migrate,python3Packages.tempita}: drop #330855python3Packages.tissue
python3Packages.tissue: drop #330376python3Packages.traittypes
python312Packages.traittypes: unstable-2019-06-23 -> 0.2.1-unstable-2020-07-17 #330236python3Packages.trfl
python311Packages.trfl: remove #329976python3Packages.unicode-slugify
python312Packages.unicode-slugify: drop nose dependency #329998python3Packages.uvcclient
python312Packages.uvcclient: 0.11.0 -> 0.11.1; python312Packages.uiprotect: 5.2.2 -> 5.3.0 #328041python3Packages.vxi11
python312Packages.vxi11: drop nose dependency #329994python3Packages.webhelpers
python3Packages.webhelpers: drop #330399python3Packages.weboob
python3Packages.weboob: drop #330436python3Packages.wsme
python312Packages.wsme: drop nose dependency #334472python3Packages.xlwt
python312Packages.xlwt: Remove nose dependency #330217python3Packages.yanc
python311Packages.yanc: drop #329978python3Packages.yarg
python3Packages.yarg: remove nose and modernize #327170sasview
sasview: remove unused custom xhtml2pdf #336226svtplay-dl
python3Packages.nose3: drop #330741tarsnapper
tarsnapper: drop nose dependency #334462zk-shell
zk-shell: drop #333725This 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.The text was updated successfully, but these errors were encountered: