This repository has been archived by the owner on May 2, 2024. It is now read-only.
Why are official plugins installed differently than entrypoint plugins? #37
Labels
code health
Proactive technical investment via refactorings, removals, etc.
discovery
Pre-work to determine if an idea is feasible
Context
There are three types of plugins:
DictPlugins
: simple YAML files placed at plugin root.EntrypointPlugins
: Python projects; when installed, they expose plugin(s) via thetutor.plugin.v0
setup.py entrypoint.OfficialPlugins
: Python projects; Tutor loads a hard-coded list of them inmain.py
.Why is the
OfficialPlugin
path necessary? Could Tutor instead just treat the official plugins like any otherEntrypointPlugin
, using a hard-coded list of plugins to enable by default?Potential benefits:
pip install tutor
usersAcceptance
See @regisb's comment bellow explaining why
OfficialPlugin
is used. See whetherEntrypointPlugin
could be used at the build step reliably instead.OfficialPlugin
usage at the build step withEntrypointPlugin
usage.OfficialPlugin
and/ortutor/main.py
docstrings explaining their necessity.The text was updated successfully, but these errors were encountered: