Plugin Metadata

Data structures for plugin metadata

PluginMeta

The PluginMeta dataclass stores metadata about a plugin, including its name, version, and runtime state.


source

PluginMeta

 PluginMeta (name:str, version:str, description:str='', author:str='',
             package_name:str='', instance:Optional[Any]=None,
             enabled:bool=True)

Metadata about a plugin.

Example: Creating Plugin Metadata

# Create plugin metadata
meta = PluginMeta(
    name="example_plugin",
    version="1.0.0",
    description="An example plugin",
    author="Example Author"
)

print("PluginMeta instance:")
print(meta)
print(f"\nName: {meta.name}")
print(f"Version: {meta.version}")
print(f"Enabled: {meta.enabled}")
print(f"Instance: {meta.instance}")
PluginMeta instance:
PluginMeta(name='example_plugin', version='1.0.0', description='An example plugin', author='Example Author', package_name='', instance=None, enabled=True)

Name: example_plugin
Version: 1.0.0
Enabled: True
Instance: None
# Test with minimal arguments
minimal_meta = PluginMeta(name="minimal", version="0.1.0")
print(f"Minimal PluginMeta: {minimal_meta}")

# Test equality
meta_copy = PluginMeta(name="minimal", version="0.1.0")
print(f"\nEquality test: {minimal_meta == meta_copy}")
Minimal PluginMeta: PluginMeta(name='minimal', version='0.1.0', description='', author='', package_name='', instance=None, enabled=True)

Equality test: True