Skip to content

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().