plugins
allennlp.common.plugins
Plugin management.
AllenNLP supports loading "plugins" dynamically. A plugin is just a Python package that
provides custom registered classes or additional allennlp
subcommands.
In order for AllenNLP to find your plugins, you have to create either a local plugins
file named .allennlp_plugins
in the directory where the allennlp
command is run, or a global
plugins file at ~/.allennlp/plugins
. The file should list the plugin modules that you want to
be loaded, one per line.
LOCAL_PLUGINS_FILENAME#
LOCAL_PLUGINS_FILENAME = ".allennlp_plugins"
Local plugin files should have this name.
GLOBAL_PLUGINS_FILENAME#
GLOBAL_PLUGINS_FILENAME = str(Path.home() / ".allennlp" / "plugins")
The global plugins file will be found here.
DEFAULT_PLUGINS#
DEFAULT_PLUGINS = ("allennlp_models", "allennlp_semparse", "allennlp_server")
Default plugins do not need to be declared in a plugins file. They will always be imported when they are installed in the current Python environment.
discover_file_plugins#
def discover_file_plugins(
plugins_filename: str = LOCAL_PLUGINS_FILENAME
) -> Iterable[str]
Returns an iterable of the plugins found, declared within a file whose path is plugins_filename
.
discover_plugins#
def discover_plugins() -> Iterable[str]
Returns an iterable of the plugins found.
import_plugins#
def import_plugins() -> None
Imports the plugins found with discover_plugins()
.