""" This example shows how to deploy a local charm. It: 1. Connects to current model. 2. Uploads a local charm (directory on filesystem) to the model. 3. Deploys the uploaded charm. """ import asyncio import logging from juju.model import Model from juju import loop async def main(): model = Model() await model.connect() # Deploy a local charm using a path to the charm directory await model.deploy( '/home/tvansteenburgh/src/charms/ubuntu', application_name='ubuntu', series='trusty', ) await model.disconnect() if __name__ == '__main__': logging.basicConfig(level=logging.DEBUG) ws_logger = logging.getLogger('websockets.protocol') ws_logger.setLevel(logging.INFO) loop.run(main())