📝 Add docs for launching applications

This commit is contained in:
Sebastián Ramírez 2020-01-02 19:09:36 +01:00
parent b925ed2c21
commit bc4709cc9d
4 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,10 @@
import typer
def main():
typer.echo("Opening Typer's docs")
typer.launch("https://typer.tiangolo.com")
if __name__ == "__main__":
typer.run(main)

View file

@ -0,0 +1,21 @@
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)

48
docs/tutorial/launch.md Normal file
View file

@ -0,0 +1,48 @@
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:
```Python hl_lines="6"
{!./src/launch/tutorial001.py!}
```
Check it:
<div class="termy">
```console
$ python main.py
Opening Typer docs
// Opens browser with Typer's docs
```
</div>
## Locating a file
You can also make the operating system open the file browser indicating where a file is located with `locate=True`:
```Python hl_lines="17"
{!./src/launch/tutorial002.py!}
```
!!! 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:
<div class="termy">
```console
$ python main.py
Opening config directory
// Opens a file browser indicating where the config file is located
```
</div>

View file

@ -50,6 +50,7 @@ nav:
- Ask with Prompt: 'tutorial/prompt.md'
- Progress Bar: 'tutorial/progressbar.md'
- CLI Application Directory: 'tutorial/app-dir.md'
- Launching Applications: 'tutorial/launch.md'
- Alternatives, Inspiration and Comparisons: 'alternatives.md'
- Help Typer - Get Help: 'help-typer.md'
- Development - Contributing: 'contributing.md'