Skip to content
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

reddit: extract to external package #2444

Merged
merged 1 commit into from
Jun 1, 2023
Merged

reddit: extract to external package #2444

merged 1 commit into from
Jun 1, 2023

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 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.

2 participants