empicano / aiomqtt

The idiomatic asyncio MQTT client
https://aiomqtt.bo3hm.com
BSD 3-Clause "New" or "Revised" License
427 stars 75 forks source link

asyncio-mqtt not marked as outdated on pypi #330

Open BjoernSch opened 2 months ago

BjoernSch commented 2 months ago

It would be very nice to mark the old project name as outdated on pypi.org. I updated an existing script to use async mqtt, found asyncio-mqtt and integrated it. I also enabled debugging in the script which is putting out a lot of debug messages during startup, and totally missed the message in the log.

While searching for the error I found the message first mentioned in Issue #202, then after that found the log message on top of the output (The script output exceeded the buffer in PuTTY).

Redirecting the users to aiomqtt on pypi.org would have been very helpful.

empicano commented 2 months ago

I totally understand your frustration, and I agree with you that a banner on PyPI, in addition to the log message, would help to avoid these situations and refer people to aiomqtt directly. It was the first time I've done a migration like this and there are a couple things I could've done better 😅

To update the README on PyPI we'd have to make a new release to the old asyncio-mqtt. I'd really like to avoid that. Do you know of any way to make add a notice on PyPI that doesn't involve a new release? There's this PyPI issue from 2014 that would be great for exactly this situation, but there hasn't been much movement lately.

Alternatively, @frederikaalund could yank the old versions (I don't have the necessary permissions). That's a bit drastic, but I'd work.

frederikaalund commented 2 months ago

Thank you for making me aware of this issue.

Alternatively, @frederikaalund could yank the old versions (I don't have the necessary permissions). That's a bit drastic, but I'd work.

That is possible, and I'm willing to do that if necessary. :) Though I too think that there are better solutions.

To update the README on PyPI we'd have to make a new release to the old asyncio-mqtt. I'd really like to avoid that.

I think this could actually work. Untested workflow:

  1. git checkout 9366b32b6ea95dc9dc95b23c71672d17bd5d296f (there is no tag for v0.16.2; latest is v0.16.1; v0.17.0 is yanked)
  2. Change README.md to mention the aiomqtt rename
  3. Change _version.py to v0.16.3
  4. git commit -m "docs: Mention aiomqtt rename in readme for awareness
  5. git tag v0.16.3
  6. Build: python setup.py bdist_wheel
  7. Upload: twine upload dist/*

That should do it. Unless I'm missing something of course. :)

empicano commented 2 months ago

That sounds good to me :)

I vaguely remember releasing 0.16.2 from its own branch. It seems I deleted this branch on GitHub and locally on my machine, however 😄 Is there a reason why you chose this specific commit over the commit of v0.16.1 (eb13ec8a61e31982dae6b43dcdf570979b5318b5)?

This is the log message I added to 0.16.2, in case you want something to copy-paste:

We renamed asyncio-mqtt to aiomqtt and released a version 1.0.0 in the process. This is the last release under the asyncio-mqtt name. You can find the new repository at https://github.com/sbtinstruments/aiomqtt