For developers ============== .. toctree:: :hidden: plug-dev hook-dev messages utility extend debug If the built-in feature set isn't sufficient for your needs, or you need to wire up an external system, it's easy to write a new plug or hook and get data in or out. You may also want to integrate IMMP into a larger controlling system, in which case the default runner probably won't cater to your needs. IMMP is built on top of :mod:`asyncio`, where each plug (or hook) maintains an asynchronous connection to its corresponding network. You should make yourself aware of how coroutines work in Python before proceeding.