Skip to content

Latest commit

 

History

History
47 lines (40 loc) · 3.13 KB

File metadata and controls

47 lines (40 loc) · 3.13 KB

HiveMind Plugin Manager — Documentation

HiveMind Plugin Manager (HPM) is the extension point system for the HiveMind ecosystem. It defines five plugin types (database, agent protocol, network protocol, binary protocol, policy), discovers implementations registered via setuptools entry points, and provides factory classes for instantiation.


Who Should Read What

You want to... Start here
Install HPM and understand what it does Getting Started
Learn the concepts (plugin types, factories, lifecycle) Concepts
Write a database plugin Database Plugin Guide
Write an agent protocol plugin Agent Protocol Plugin Guide
Write a network protocol plugin Network Protocol Plugin Guide
Write a binary data handler plugin Binary Protocol Plugin Guide
Write a policy plugin (admission control) Policy Plugin Guide
Look up every public class and function API Reference
Understand internals, error handling, identity, factory routing Advanced
Contribute to this package Contributing

Key Classes at a Glance

Class Plugin type Source
HiveMindPluginTypes enum of entry-point group names hivemind_plugin_manager/__init__.py:13
DatabaseFactory creates AbstractDB / AbstractRemoteDB instances hivemind_plugin_manager/__init__.py:21
AgentProtocolFactory creates AgentProtocol instances hivemind_plugin_manager/__init__.py:42
NetworkProtocolFactory creates NetworkProtocol instances hivemind_plugin_manager/__init__.py:60
BinaryDataHandlerProtocolFactory creates BinaryDataHandlerProtocol instances hivemind_plugin_manager/__init__.py:77
PolicyPluginFactory creates PolicyPlugin instances hivemind_plugin_manager/__init__.py:96
find_plugins() discovers all installed plugins for a type hivemind_plugin_manager/__init__.py
Client dataclass representing a connected device/credential hivemind_plugin_manager/database.py:36
AbstractDB base class for local database plugins hivemind_plugin_manager/database.py:300
AbstractRemoteDB base class for remote database plugins hivemind_plugin_manager/database.py:431
AgentProtocol base class for agent protocol plugins hivemind_plugin_manager/protocols.py:61
NetworkProtocol base class for network protocol plugins hivemind_plugin_manager/protocols.py:70
BinaryDataHandlerProtocol base class for binary protocol plugins hivemind_plugin_manager/protocols.py:88
PolicyPlugin base class for admission-control policy plugins hivemind_plugin_manager/policy.py:116
Verdict return value of PolicyPlugin.review(_binary) hivemind_plugin_manager/policy.py:74
Mutation abstract base for typed message mutations hivemind_plugin_manager/policy.py:47
ClientCallbacks dataclass of lifecycle hooks hivemind_plugin_manager/protocols.py:27