pub struct PluginMetadata {
pub name: String,
pub version: String,
pub description: String,
pub author: String,
pub category: PluginCategory,
pub supported_types: Vec<TypeId>,
pub dependencies: Vec<String>,
pub capabilities: Vec<PluginCapability>,
pub min_sdk_version: String,
}Expand description
Metadata describing a plugin
This structure contains comprehensive information about a plugin including its identity, capabilities, dependencies, and requirements. It’s used by the plugin system for discovery, validation, and compatibility checking.
§Examples
use sklears_core::plugin::{PluginMetadata, PluginCategory, PluginCapability};
use std::any::TypeId;
let metadata = PluginMetadata {
name: "LinearRegression".to_string(),
version: "1.0.0".to_string(),
description: "Linear regression algorithm".to_string(),
author: "SKLears Team".to_string(),
category: PluginCategory::Algorithm,
supported_types: vec![TypeId::of::<f64>()],
dependencies: vec!["ndarray".to_string()],
capabilities: vec![PluginCapability::Parallel],
min_sdk_version: "0.1.0".to_string(),
};Fields§
§name: StringPlugin name - should be unique within a category
version: StringPlugin version following semantic versioning
description: StringHuman-readable description of the plugin’s functionality
Plugin author or organization
category: PluginCategoryPlugin category for organization and discovery
supported_types: Vec<TypeId>List of supported input data types
dependencies: Vec<String>Required external dependencies
capabilities: Vec<PluginCapability>Plugin capabilities and features
min_sdk_version: StringMinimum SDK version required for this plugin
Trait Implementations§
Source§impl Clone for PluginMetadata
impl Clone for PluginMetadata
Source§fn clone(&self) -> PluginMetadata
fn clone(&self) -> PluginMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PluginMetadata
impl Debug for PluginMetadata
Source§impl Default for PluginMetadata
impl Default for PluginMetadata
Source§fn default() -> PluginMetadata
fn default() -> PluginMetadata
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PluginMetadata
impl<'de> Deserialize<'de> for PluginMetadata
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginMetadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PluginMetadata, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for PluginMetadata
impl Serialize for PluginMetadata
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PluginMetadata
impl RefUnwindSafe for PluginMetadata
impl Send for PluginMetadata
impl Sync for PluginMetadata
impl Unpin for PluginMetadata
impl UnsafeUnpin for PluginMetadata
impl UnwindSafe for PluginMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.