-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Open
Labels
enhancementAdditions and improvements in generalAdditions and improvements in generalhelp wantedWe would appreciate help on this issue/PRWe would appreciate help on this issue/PR
Description
Enhancement proposal
Pluggy: https://pluggy.readthedocs.io/
Currently how out plugin system works is
- Get the list of plugins from the user config file
- Add them to the global namespace, so when the user does
from manim import *
the plugin will also be imported. - Has no possible way to extend parts of the library without monkey patching or making a new subclass out of the original one. See how
manim-onlinetex
does this currently, https://github.com/ManimCommunity/manim-onlinetex/blob/38ed76c55f387e9205beeb28307a634b46691df1/src/manim_onlinetex/manim_onlinetex.py#L109
With pluggy in place, we can decide the parts of the library which can be extendable without subclassing, see an example. https://pluggy.readthedocs.io/en/latest/#a-toy-example
And it feels like we shouldn't reinvent the wheel rather than using something which is already available.
Additional comments
This would kinda require all the plugins to update to use pluggy. Let the previous implementation of importing to global namespace stay, for backward compatibility.
Proof of concept
leotrs, imagejan, GameDungeon and alembcke
Metadata
Metadata
Assignees
Labels
enhancementAdditions and improvements in generalAdditions and improvements in generalhelp wantedWe would appreciate help on this issue/PRWe would appreciate help on this issue/PR
Type
Projects
Status
🆕 New