Skip to content

Conversation

@dgw
Copy link
Member

@dgw dgw commented Apr 19, 2023

The writing's on the wall: https://old.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/

It's reasonable to guess that these changes to rate-limit enforcement (however vague they might be now) will eventually affect Sopel bots running with the default, shared, OAuth app ID.

A plugin that no longer works (reliably) without the bot owner having to acquire an API key of some kind fails our number-one criterion for inclusion in the base Sopel package. While the reddit plugin hasn't yet reached that point, we are also trying to extract a lot of the built-ins anyway for maintenance reasons.

That transition is much easier to make on our own schedule, right before a major release. And a major release is a doubly great time for this particular change, because we can drop praw as a core requirement.

Extracted plugin now lives at https://github.com/sopel-irc/sopel-reddit and a version equivalent to what was removed in this PR has been (as of April 21) published to PyPI.

Checklist

  • I have read CONTRIBUTING.md
  • I can and do license this contribution under the EFLv2
  • No issues are reported by make qa (runs make quality and make test)
  • I have tested the functionality of the things this change touches

Notes

I considered, but ultimately decided against, adding the newly extracted plugin as an installation requirement. We did it for sopel-help in #2332, but that's basically still a core plugin; without it, Sopel doesn't come with any interactive help functionality, or even a way to list the available commands.

Handling reddit links isn't on the same level as offering help functionality, so I think it's fine to just mention the removal in our changelog & upgrade guide. Getting the reddit plugin back—along with any others we've removed that the user wants to keep—will be a matter of one shell command.

The writing's on the wall:
https://old.reddit.com/r/reddit/comments/12qwagm/an_update_regarding_reddits_api/

It's reasonable to guess that these changes to rate-limit enforcement
(however vague they might be now) will eventually affect Sopel bots
running with the default, shared, OAuth app ID.

A plugin that no longer works (reliably) without the bot owner having to
acquire an API key of some kind fails our number-one criterion for
inclusion in the base Sopel package. While the reddit plugin hasn't yet
reached that point, we are also trying to extract a lot of the built-ins
anyway for maintenance reasons.

That transition is much easier to make on our own schedule, right before
a major release. And a major release is a doubly great time for this
particular change, because we can drop `praw` as a core requirement.
@dgw dgw added the Breaking Change Stuff that probably should be mentioned in a migration guide label Apr 19, 2023
@dgw dgw added this to the 8.0.0 milestone Apr 19, 2023
@dgw dgw requested a review from a team April 19, 2023 05:09
@Exirel
Copy link
Contributor

Exirel commented Apr 19, 2023

OK but apparently there is no such thing as a sopel-reddit package on Pypi yet.

@dgw
Copy link
Member Author

dgw commented Apr 19, 2023

Oops, when I changed my mind and added the thing in Notes about not making it a requirement, I forgot about the link in the main description. Now planning to publish the first release after sopel-irc/sopel-reddit#1 is tested/merged.

@dgw
Copy link
Member Author

dgw commented Apr 21, 2023

External package published: https://pypi.org/project/sopel-reddit/1.0.0/

@dgw
Copy link
Member Author

dgw commented Jun 1, 2023

@dgw dgw merged commit d84ffb2 into master Jun 1, 2023
@dgw dgw deleted the extract-reddit branch June 1, 2023 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Breaking Change Stuff that probably should be mentioned in a migration guide

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants