update commit prev

This commit is contained in:
2026-04-26 16:49:23 -07:00
parent 39ee857559
commit bfd5c20dc3
25 changed files with 231 additions and 77 deletions
+19 -7
View File
@@ -1,14 +1,28 @@
# External Plugins
# Plugins
Drop user plugins in this folder to make them available to the app without editing the built-in `Provider/` package.
This folder is the primary home for bundled plugins and also the default search
path for drop-in plugins.
Supported discovery paths:
Preferred layout:
- Put each plugin in its own folder under `plugins/<name>/` with an `__init__.py`.
- Keep plugin-specific assets beside the code in that same folder.
- Single-file `.py` plugins are still supported, but package folders are the
recommended plug-and-play format.
That means a plugin can ship as a drag-and-drop folder with extras such as:
- `cookies.txt`
- templates or fixture files
- helper modules
- small static assets
Built-in bundled plugins use the same layout as external plugins. Additional
drop-in plugin search paths are:
- `plugins/` in the repo root
- `plugins/` in the current working directory
- Any directory listed in `MM_PLUGIN_PATH`
- Any directory listed in `MEDEIA_PLUGIN_PATH`
Plugin module rules:
Plugin rules:
- A plugin can be a single `.py` file or a package directory with `__init__.py`.
- Define a class that inherits from `ProviderCore.base.Provider`.
- Give it a stable name using `PLUGIN_NAME` or the class name.
@@ -34,6 +48,4 @@ class MyPlugin(Provider):
path=f"https://example.com/{text}",
)
]
```
Built-in plugins still live in `Provider/`.
```