pluginmanager module¶
Class |
Description |
|---|---|
|
|
|
|
|
Function |
Description |
|---|---|
Deprecated since version 5.3: Use |
Extension¶
- class Extension[source]¶
Bases:
objectExtensionis mostly read-only, however you can install/uninstall enable/disable plugins. Extensions are created by parsing the plugins.json in a plugin repository.- enable(force: bool = False) bool[source]¶
Enable this plugin, optionally trying to force it. Force loading a plugin with ignore platform and api constraints. (e.g. The plugin author says the plugin will only work on Linux but you’d like to attempt to load it on macOS)
- property current_version: ExtensionVersion¶
Current version metadata for the plugin
- property delete_pending: bool¶
Boolean status indicating that the plugin will be deleted after the next restart
- property dependencies_being_installed: bool¶
Boolean status indicating that the plugin’s dependencies are currently being installed
- property description: str | None¶
String short description of the plugin
Deprecated since version 5.3: Use
current_versionin combination withversionsinstead.
- property disable_pending: bool¶
Boolean status indicating that the plugin will be disabled after the next restart
- property last_update: date¶
Returns a datetime object representing the plugins last update
Deprecated since version 5.3: Use
versionsin combination withcurrent_versionto check for updates instead.
- property license_text: str | None¶
String complete license text for the given plugin
Deprecated since version 5.3: This field will be removed.
- property maximum_version_info: CoreVersionInfo¶
Maximum version info the plugin will support
- minimum_version¶
Minimum version the plugin was tested on
Deprecated since version 4.0.5366: Use
minimum_version_infoinstead.
- property minimum_version_info: CoreVersionInfo¶
Minimum version info the plugin was tested on
- property package_url: str | None¶
String URL of the plugin’s zip file
Deprecated since version 5.3: Use
current_versionin combination withversionsinstead.
- property plugin_types: List[PluginType]¶
List of PluginType enumeration objects indicating the plugin type(s)
- property project_data: Dict¶
Gets a json object of the project data field
Deprecated since version 5.3: This field will be removed.
- property subdir: str¶
Optional sub-directory the plugin code lives in as a relative path from the plugin root
- property update_pending: bool¶
Boolean status indicating that the plugin has updates will be installed after the next restart
- property version: str | None¶
String version of the plugin
Deprecated since version 5.3: Use
current_versionin combination withversionsinstead.
- property versions: List[ExtensionVersion]¶
Version metadata for all available plugin versions
ExtensionVersion¶
- class ExtensionVersion[source]¶
Bases:
objectExtensionVersion(id: str, version: str, long_description: str, changelog: str, minimum_client_version: int, platforms: List[binaryninja.pluginmanager.ExtensionVersionPlatform], created: str)
- __init__(id: str, version: str, long_description: str, changelog: str, minimum_client_version: int, platforms: List[ExtensionVersionPlatform], created: str) None¶
- platforms: List[ExtensionVersionPlatform]¶
ExtensionVersionPlatform¶
Repository¶
RepositoryManager¶
- class RepositoryManager[source]¶
Bases:
objectRepositoryManagerKeeps track of all the repositories and keeps the enabled_plugins.json file coherent with the plugins that are installed/uninstalled enabled/disabled- add_repository(url: str | None = None, repopath: str | None = None) bool[source]¶
add_repositoryadds a new plugin repository for the manager to track.To remove a repository, restart Binary Ninja (and don’t re-add the repository!). File artifacts will remain on disk under repositories/ file in the User Folder.
Before you can query plugin metadata from a repository, you need to call
check_for_updates.- Parameters:
- Returns:
Boolean value True if the repository was successfully added, False otherwise.
- Return type:
Boolean
- Example:
>>> mgr = RepositoryManager() >>> mgr.add_repository("https://raw.githubusercontent.com/Vector35/community-plugins/master/plugins.json", "community") True >>> mgr.check_for_updates() >>>
- property default_repository: Repository¶
Gets the default Repository
- property repositories: List[Repository]¶
List of Repository objects being managed