import logging import subprocess logger = logging.getLogger() def launch_url(url): if subprocess.check_output(['which', 'open']): subprocess.run(['open', url]) # macos elif subprocess.check_output(['which', 'xdg-open']): subprocess.run(['xdg-open', url]) # linux elif subprocess.check_output(['which', 'start']): subprocess.run(['start', url]) # windows - need to validate this works else: logger.error(f"No valid launchers found to launch url: {url}")