-
-
Notifications
You must be signed in to change notification settings - Fork 402
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
Package-ize core plugins #1291
Comments
Version 7 is too soon. I was a little too optimistic about that… Re-labeled as well. This is doable in version 8, but it might be a more gradual transition… Again, let's see what happens. |
After reading issues like #1435, #700, #1037, or code like the .py command, I wonder what should be a built-in module. Here are some reasons I know (both the ones I thought about and the ones I've heard about):
Here are some advantages I can think of when doing that:
Here are some issues or needs we need to address, now or later, in a near or distant future:
And many more. Oh, and while I'm here, listing things, here is how I would do the transition from "all is built-in" to "nothing is built-in":
As a conclusion, I want to mention again that ( PS: I can't remember if I talked or not about documentation, which is something I want to work on myself. |
I'm glad to see that this is already in the 8.0.0 milestone, because that ties in with the bit of discussion we had just now on IRC. The tl;dr:
I like @Exirel's transition plan, though the version numbers are different in my head (make most core stuff into packages for 8.0 instead of 7.0, and remove them from |
I like your proposal, I think we found a good middle ground. So that's cool! However, I'd like to make an exception for the I'd like to drop it for the 7.0 release, with the proper warning in the documentation. Since the plugin system is now reliable and stable, and with options like #1585, I think it's not too of a burden on the user's end. I believe that, with the right documentation, it'll be OK. For instance, we can suggest to follow the installation guide from the Python Aspell repository, and that the plugin itself could be installed with something close to I believe this plugin is a very peculiar one, and as such, may require an exception regarding backward compatibility. |
Quick update, I'm working (or planning to work on):
These are my first 3. sopel-help already exists and is usable out of the box, remind is close to have a first version published, and I haven't started on url yet, but it's clearly in my sight. After that, I don't know yet. |
I task-listed this in the OP so we can see the progress more easily. Task list behavior changes made it a bit more annoying than necessary (as outlined in community/community#4321 (comment)). |
We've pretty clearly established that this isn't going to be an all-at-once task. Removing milestone to just let it be what the labels already say it is: A long-term planning/tracking list. |
Since #2516 is stalled on |
Todo list, created for 8.x dev cycle based on 7.x core plugins:
admincore bot-management, should stay part of corePros and cons to both keeping this as core and extracting it.
clock
features used by core into core #2467find_updatesprobably stay part of coresopel-help
#2332); extended version available at https://github.com/sopel-irc/sopel-help and published to PyPI as sopel-helpCould stay as part of core if core starts making use of pronouns anywhere. Currently it's just a way to set your own pronouns so others can query the plugin if they don't know how to address you.
py
plugin from core & require external package #2411); moved to https://github.com/sopel-irc/sopel-py and published to PyPI as sopel-py.update
command that doesn't belongversionwill stay; this is a core functionOriginal issue text follows.
Assuming #1056 gets solved, it would be great to ship the core plugin set separately from Sopel itself. Doing so would make keeping plugins up to date simpler, since a broken plugin wouldn't then require an update to the whole Sopel package to fix it.
Again, this would require solving #1056 first so the core plugin reloading experience (
reload.py
and perhaps a couple other plugins would remain in core because they relate to administering the bot itself) remains usable. It's not acceptable to ship this before packaged plugins can be reloaded without duplicating their commands etc.Optimistically slotted into the 7.0.0 milestone... Let's see what happens.
The text was updated successfully, but these errors were encountered: