# CLI Application Directory

You can get the application directory where you can, for example, save configuration files with `typer.get_app_dir()`:

{ docs_src/app_dir/tutorial001.py hl[9] }

It will give you a directory for storing configurations appropriate for your CLI program for the current user in each operating system.

Check it:

    $ python main.py

    Config file doesn't exist yet

## About `Path`

If you hadn't seen something like that:

    Path(app_dir) / "config.json"

A `Path` object can be used with `/` and it will convert it to the separator for the current system (`/` for Unix systems and `\` for Windows).

If the first element is a `Path` object the next ones (after the `/`) can be `str`.

And it will create a new `Path` object from that.

If you want a quick guide on using `Path()` you can check this post on Real Python or this post by Trey Hunner.

In the code above, we are also explicitly declaring `config_path` as having type `Path` to help the editor provide completion and type checks:

    config_path: Path = Path(app_dir) / "config.json"

Otherwise it could think it's a sub-type (a `PurePath`) and stop providing completion for some methods.

tiangolo/typer « Previous Next »