enhancementhelp wanted
仓库指标
- Star
- (17,820 star)
- PR 合并指标
- (平均合并 90天 10小时) (30 天内合并 31 个 PR)
描述
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-onlinetexdoes 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
- #2635