import logging import asyncio import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) from certstream.watcher import TransparencyWatcher, mux_ctl_stream from certstream.webserver import WebServer logging.basicConfig(format='[%(levelname)s:%(name)s] %(asctime)s - %(message)s', level=logging.INFO) def run(): logging.info("Starting CertStream...") loop = asyncio.get_event_loop() watcher = TransparencyWatcher(loop) asyncio.ensure_future(asyncio.gather(*watcher.get_tasks())) asyncio.ensure_future(mux_ctl_stream(watcher)) webserver = WebServer(loop, watcher) webserver.run_server()