Using plugins (consumer guide)¶
How to install, enable, and review third-party Hedron plugins in an application. To write a plugin, see Plugin authoring and the Plugins API.
Defaults¶
[tool.hedron].plugins |
Behavior |
|---|---|
| omit / unset | Discover and load all hedron.plugins entry points |
[] |
Load none (deny-by-default) |
["name", …] |
Load only those plugin names; missing names raise HED-PLUGIN-MISSING |
Production apps that do not intentionally use plugins should set plugins = [].
Full key table: Configuration.
Install a plugin distribution¶
- Add the package to your environment (same train pin as Hedron when possible):
- Enable it by name (the entry-point key, not the PyPI distribution name):
- Restart the app. Incompatible
hedron_versionranges fail at load (HED-PLUGIN-0002) and roll back that plugin’s contributions — they do not silently no-op.
Review before enablement¶
Third-party plugins are out of Hedron’s security scope until you review them (enterprise diligence, threat model).
Checklist:
- Pin the plugin distribution; prefer packages that declare
hedron_versionfor your train - Prefer local package assets over remote script/URL loads
- Inspect registered components, Explorer panels, and diagnostic prefixes
- Run
hedron check/ Explorer locally withexplorer="development"before production - Keep production
explorer="off"(orsecuredwith real auth)
Troubleshooting¶
| Symptom | Fix |
|---|---|
| Plugin components missing | Confirm install + plugins allowlist name matches the entry point |
HED-PLUGIN-MISSING |
Name in plugins = [...] not discovered — install package or fix spelling |
| Load rejected / rolled back | Check hedron_version compatibility and contribution validation errors |
| Unexpected panels in Explorer | You are loading all entry points — set an explicit allowlist or [] |