HiveMind Plugin Manager
June 4, 2026 · View on GitHub
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 |