""" This example: 1. Connects to the current model 2. Starts an AllWatcher 3. Prints all changes received from the AllWatcher 4. Runs forever (kill with Ctrl-C) """ import asyncio import logging from juju.client.connection import Connection from juju.client import client from juju import loop async def watch(): conn = await Connection.connect() allwatcher = client.AllWatcherFacade.from_connection(conn) while True: change = await allwatcher.Next() for delta in change.deltas: print(delta.deltas) if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) # Run loop until the process is manually stopped (watch will loop # forever). loop.run(watch())