modules: rename built-in plugins to "builtins" #2504
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Finally does away with deadnaming core plugins as "modules". The alternative we were thinking of a while ago was
sopel.internals
(to mirror how custom plugins not part of a Python package emit logs undersopel.externals.*
), but I likedbuiltins
better thaninternals
.Updated relevant documentation examples and test code.
Have not renamed any functions/methods/attributes/variables in code that manipulates plugins from the
sopel.modules
(nowsopel.builtins
) module namespace.Opening as draft first, since I made most of these modifications in a terminal emulator on my phone and have definitely not had a chance to double check everything yet. (Also the reason that half the checklist below is blank for now.)
Milestoned for 8.0.0 to start, but I'll be the first one to bump it into 8.1.0 if everything else is done but this isn't ready yet for any reason.
Checklist
make qa
(runsmake lint
andmake test
)Open question
Do we need to keep shims in
sopel.modules
in case custom plugins import from those, and set a timeline for removing them for real later (in 9.0, probably)? Or can we just call this a non-breaking change because the core plugins aren't part of our public API?I know I'm in favor of just moving the files, without any shimming or deprecation cycle, but I'm curious if anyone disagrees with that position.