For developers

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 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.