Discussion:
python3-nose removal (or revival ?)
(too old to reply)
Alexandre Detiste
2024-09-18 10:40:01 UTC
Permalink
Hi,

While fixing/updating more random packages for the python3-nose removal;
I stumbled on this new fork:

https://pypi.org/project/pynose/

This fork brings it's own new problems:
- licensing needs extensive review:
https://github.com/mdmintz/pynose/issues/36
- unit test are gone: https://github.com/mdmintz/pynose/issues/39

So I am not convinced it's the way to go;
It still feels like too little, too late.

Kicking Nose out of Debian (+ Ubuntu) would
maybe make some projects reconsider their CI pipeline
to use a better maintained test runner.


python3-pika is the first project I found online that did switched to pynose
as prefered test runner in upcoming release.

Debian Code Search also hints to:
- django-cte (it's on the todo list too)
- thunderbird
https://codesearch.debian.net/search?q=pynose&literal=1&perpkg=1

Any advice is welcome.

Greetings

Alexandre

----
Remaining packages:

https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=nose-rm;users=python-modules-***@lists.alioth.debian.org

by popcon (only keeping topmost binary per source package)

git-buildpackage 2168
python3-binwalk 1719 ---> I use this one
regularly, I'll have a look
python3-hkdf 714 RM pending
piuparts 638 ---> MR provided on Salsa
freeipa-client 500
rmlint 497 ---> needs a big update
python3-ipalib 372
python3-ipaclient 370
python3-fabric 290 ---> needs a big update
python3-mapnik 142 pending
elasticsearch-curator 55 ---> in the news, might
interresset someone again
waagent 29
python3-amp 29
python3-x2gobroker 25
ripe-atlas-tools 21 ---> might looks
easy to fix for some pytest expert ;-)
python3-bcbio 21
python3-nosexcover 17 RM
python3-cassandra 16 --> I try again today
python3-testing.postgresql 12 ---> looks easy to fix
python3-tpot 9
python3-django-cte 5
yotta 2
python3-testing.mysqld 1 ---> looks easy to fix
python3-pynn 1
deblur 0 --> NEW package depedign
on Nose ... because Nose is still in the archive

proboscis can be RM'ed after upload to unstable of openstack-trove
Dmitry Shachnev
2024-09-18 20:50:01 UTC
Permalink
Hi Alexandre!

First of all, thanks for your hard work on porting the packages away from
nose.
Post by Alexandre Detiste
Hi,
While fixing/updating more random packages for the python3-nose removal;
https://pypi.org/project/pynose/
Yes, I saw that too. By the way, there is also another fork called nose3, but
it seems even less active.
Post by Alexandre Detiste
https://github.com/mdmintz/pynose/issues/36
- unit test are gone: https://github.com/mdmintz/pynose/issues/39
So I am not convinced it's the way to go;
It still feels like too little, too late.
I agree.
Post by Alexandre Detiste
Kicking Nose out of Debian (+ Ubuntu) would
maybe make some projects reconsider their CI pipeline
to use a better maintained test runner.
That’s a nice side effect, but not more. I think the primary motivation for
removal is maintenance burden, e.g. the fact that nose often breaks with new
Python versions.

If we worked around some of the problems (e.g. replaced 2to3 with fissix),
I am fine with giving the maintainers (and their upstreams) more time to port
away from nose.

Also, many upstream projects are using Ubuntu LTS releases, and the next such
release is only in 1.5 years anyway.
Post by Alexandre Detiste
python3-pika is the first project I found online that did switched to pynose
as prefered test runner in upcoming release.
It looks like it needs [py]nose only for two relatively small functions from
nose.twistedtools. I wonder why they didn’t just vendor that code.
Post by Alexandre Detiste
- django-cte (it's on the todo list too)
This one I don’t see why needs nose at all. The test is very simple and just
calls init_db() and destroy_db(), this can be definitely done with pure
unittest.
Post by Alexandre Detiste
- thunderbird
https://codesearch.debian.net/search?q=pynose&literal=1&perpkg=1
We don’t seem to run Python tests during Thunderbird build.

So for now, I am not convinced that we need to update nose package to pynose
upstream. However, if pynose has some patches that help us, we can always
cherry-pick them (maybe after updating debian/copyright).

That said, https://bugs.debian.org/1080224 is not fixed in pynose. Or at
least the problematic line is still there:
https://github.com/mdmintz/pynose/blob/v1.5.2/nose/commands.py#L122

--
Dmitry Shachnev

Loading...