📝 Add docs for launching applications
This commit is contained in:
parent
b925ed2c21
commit
bc4709cc9d
4 changed files with 80 additions and 0 deletions
10
docs/src/launch/tutorial001.py
Normal file
10
docs/src/launch/tutorial001.py
Normal 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)
|
21
docs/src/launch/tutorial002.py
Normal file
21
docs/src/launch/tutorial002.py
Normal 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
48
docs/tutorial/launch.md
Normal 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>
|
|
@ -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'
|
||||
|
|
Loading…
Reference in a new issue