Skip to content

Launching Applications

You can launch applications from your CLI program with typer.launch().

It will launch the appropriate application depending on the URL or file type you pass it:

import typer


def main():
    typer.echo("Opening Typer's docs")
    typer.launch("https://typer.tiangolo.com")


if __name__ == "__main__":
    typer.run(main)

Check it:

$ python main.py

Opening Typer docs

// Opens browser with Typer's docs

Locating a file

You can also make the operating system open the file browser indicating where a file is located with locate=True:

from pathlib import Path

import typer

APP_NAME = "my-super-cli-app"


def main():
    app_dir = typer.get_app_dir(APP_NAME)
    app_dir_path = Path(app_dir)
    app_dir_path.mkdir(parents=True, exist_ok=True)
    config_path: Path = Path(app_dir) / "config.json"
    if not config_path.is_file():
        config_path.write_text('{"version": "1.0.0"}')
    config_file_str = str(config_path)
    typer.echo("Opening config directory")
    typer.launch(config_file_str, locate=True)


if __name__ == "__main__":
    typer.run(main)

Tip

The rest of the code in this example is just making sure the app directory exists and creating the config file.

But the most important part is the typer.launch(config_file_str, locate=True) with the argument locate=True.

Check it:

$ python main.py

Opening config directory

// Opens a file browser indicating where the config file is located