diff --git a/docs/alternatives.md b/docs/alternatives.md index f8e9aee2f3..656a4ef660 100644 --- a/docs/alternatives.md +++ b/docs/alternatives.md @@ -1,3 +1,5 @@ +# Alternatives, Inspiration and Comparisons + What inspired **Typer**, how it compares to other alternatives and what it learned from them. ## Intro diff --git a/docs/contributing.md b/docs/contributing.md index d0820e5bfa..a4a158543a 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,3 +1,5 @@ +# Development - Contributing + First, you might want to see the basic ways to [help Typer and get help](help-typer.md){.internal-link target=_blank}. ## Developing diff --git a/docs/features.md b/docs/features.md index dc89bad63c..5a8643fa35 100644 --- a/docs/features.md +++ b/docs/features.md @@ -1,3 +1,5 @@ +# Features + ## Design based on **FastAPI** diff --git a/docs/help-typer.md b/docs/help-typer.md index 338b67421e..11596d7024 100644 --- a/docs/help-typer.md +++ b/docs/help-typer.md @@ -1,3 +1,5 @@ +# Help Typer - Get Help + Are you liking **Typer**? Would you like to help Typer, other users, and the author? diff --git a/docs/release-notes.md b/docs/release-notes.md index b2d6b931f0..e118b7d7b7 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,3 +1,5 @@ +# Release Notes + ## Latest Changes ### Features diff --git a/docs/tutorial/app-dir.md b/docs/tutorial/app-dir.md index 3d09346b22..440d1dc01a 100644 --- a/docs/tutorial/app-dir.md +++ b/docs/tutorial/app-dir.md @@ -1,3 +1,5 @@ +# CLI Application Directory + You can get the application directory where you can, for example, save configuration files with `typer.get_app_dir()`: ```Python hl_lines="9" diff --git a/docs/tutorial/arguments/default.md b/docs/tutorial/arguments/default.md index 3beddfb1c7..60a041abb1 100644 --- a/docs/tutorial/arguments/default.md +++ b/docs/tutorial/arguments/default.md @@ -1,3 +1,5 @@ +# CLI Arguments with Default + We can also use the same `typer.Argument()` to set a default value. That way the *CLI argument* will be optional *and also* have a default value. diff --git a/docs/tutorial/arguments/envvar.md b/docs/tutorial/arguments/envvar.md index 7c848d9ae7..970d1ee92a 100644 --- a/docs/tutorial/arguments/envvar.md +++ b/docs/tutorial/arguments/envvar.md @@ -1,3 +1,5 @@ +# CLI Arguments with Environment Variables + You can also configure a *CLI argument* to read a value from an environment variable if it is not provided in the command line as a *CLI argument*. To do that, use the `envvar` parameter for `typer.Argument()`: diff --git a/docs/tutorial/arguments/help.md b/docs/tutorial/arguments/help.md index 144efb9c62..6203143871 100644 --- a/docs/tutorial/arguments/help.md +++ b/docs/tutorial/arguments/help.md @@ -1,3 +1,5 @@ +# CLI Arguments with Help + In the *First Steps* section you saw how to add help for a CLI app/command by adding it to a function's docstring. Here's how that last example looked like: diff --git a/docs/tutorial/arguments/index.md b/docs/tutorial/arguments/index.md index 23c97706ce..a52816e457 100644 --- a/docs/tutorial/arguments/index.md +++ b/docs/tutorial/arguments/index.md @@ -1,3 +1,5 @@ +# CLI Arguments + In the next few sections we'll see some ways to modify how *CLI arguments* work. We'll create optional *CLI arguments*, we'll add integrated help for *CLI arguments*, etc. diff --git a/docs/tutorial/arguments/optional.md b/docs/tutorial/arguments/optional.md index eb04c73447..e33b9cdc46 100644 --- a/docs/tutorial/arguments/optional.md +++ b/docs/tutorial/arguments/optional.md @@ -1,3 +1,5 @@ +# Optional CLI Arguments + We said before that *by default*: * *CLI options* are **optional** diff --git a/docs/tutorial/arguments/other-uses.md b/docs/tutorial/arguments/other-uses.md index f7f398f341..1870e9c6c3 100644 --- a/docs/tutorial/arguments/other-uses.md +++ b/docs/tutorial/arguments/other-uses.md @@ -1,3 +1,5 @@ +# Other uses + `typer.Argument()` has several other use cases. Such as for data validation, to enable other features, etc. You will see about these use cases later in the docs. diff --git a/docs/tutorial/commands/arguments.md b/docs/tutorial/commands/arguments.md index 9802fdd660..43bc423245 100644 --- a/docs/tutorial/commands/arguments.md +++ b/docs/tutorial/commands/arguments.md @@ -1,3 +1,5 @@ +# Command CLI Arguments + The same way as with a CLI application with a single command, subcommands (or just "commands") can also have their own *CLI arguments*: ```Python hl_lines="7 12" diff --git a/docs/tutorial/commands/callback.md b/docs/tutorial/commands/callback.md index c73925ef2e..ca10243c75 100644 --- a/docs/tutorial/commands/callback.md +++ b/docs/tutorial/commands/callback.md @@ -1,3 +1,5 @@ +# Typer Callback + When you create an `app = typer.Typer()` it works as a group of commands. And you can create multiple commands with it. diff --git a/docs/tutorial/commands/context.md b/docs/tutorial/commands/context.md index e3549b5437..2600225507 100644 --- a/docs/tutorial/commands/context.md +++ b/docs/tutorial/commands/context.md @@ -1,3 +1,5 @@ +# Using the Context + When you create a **Typer** application it uses Click underneath. And every Click application has a special object called a "Context" that is normally hidden. But you can access the context by declaring a function parameter of type `typer.Context`. diff --git a/docs/tutorial/commands/help.md b/docs/tutorial/commands/help.md index 6e4802631a..b9501b72ee 100644 --- a/docs/tutorial/commands/help.md +++ b/docs/tutorial/commands/help.md @@ -1,3 +1,5 @@ +# Command Help + The same as before, you can add help for the commands in the docstrings and the *CLI options*. And the `typer.Typer()` application receives a parameter `help` that you can pass with the main help text for your CLI program: diff --git a/docs/tutorial/commands/index.md b/docs/tutorial/commands/index.md index bd89dcc2a8..d2693849d7 100644 --- a/docs/tutorial/commands/index.md +++ b/docs/tutorial/commands/index.md @@ -1,3 +1,5 @@ +# Commands + We have seen how to create a CLI program with possibly several *CLI options* and *CLI arguments*. But **Typer** allows you to create CLI programs with several commands (also known as subcommands). diff --git a/docs/tutorial/commands/name.md b/docs/tutorial/commands/name.md index 7d3ddc1a5c..4f0faa047b 100644 --- a/docs/tutorial/commands/name.md +++ b/docs/tutorial/commands/name.md @@ -1,3 +1,5 @@ +# Custom Command Name + By default, the command names are generated from the function name. So, if your function is something like: diff --git a/docs/tutorial/commands/one-or-multiple.md b/docs/tutorial/commands/one-or-multiple.md index 857955a57c..5f744c5a2b 100644 --- a/docs/tutorial/commands/one-or-multiple.md +++ b/docs/tutorial/commands/one-or-multiple.md @@ -1,3 +1,5 @@ +# One or Multiple Commands + You might have noticed that if you create a single command, as in the first example: ```Python hl_lines="3 6 12" diff --git a/docs/tutorial/commands/options.md b/docs/tutorial/commands/options.md index 01b4ac44ee..a9c21b66b9 100644 --- a/docs/tutorial/commands/options.md +++ b/docs/tutorial/commands/options.md @@ -1,3 +1,5 @@ +# Command CLI Options + Commands can also have their own *CLI options*. In fact, each command can have different *CLI arguments* and *CLI options*: diff --git a/docs/tutorial/first-steps.md b/docs/tutorial/first-steps.md index 781c2fe558..53dc5eab4d 100644 --- a/docs/tutorial/first-steps.md +++ b/docs/tutorial/first-steps.md @@ -1,3 +1,5 @@ +# First Steps + ## The simplest example The simplest **Typer** file could look like this: diff --git a/docs/tutorial/index.md b/docs/tutorial/index.md index 5179c1b865..8051465b10 100644 --- a/docs/tutorial/index.md +++ b/docs/tutorial/index.md @@ -1,3 +1,5 @@ +# Tutorial - User Guide + ## Python types If you need a refresher about how to use Python type hints, check the first part of FastAPI's Python types intro. diff --git a/docs/tutorial/launch.md b/docs/tutorial/launch.md index 375395177e..935bd7e632 100644 --- a/docs/tutorial/launch.md +++ b/docs/tutorial/launch.md @@ -1,3 +1,5 @@ +# 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: diff --git a/docs/tutorial/multiple-values/arguments-with-multiple-values.md b/docs/tutorial/multiple-values/arguments-with-multiple-values.md index 3736d15e1f..b48484c105 100644 --- a/docs/tutorial/multiple-values/arguments-with-multiple-values.md +++ b/docs/tutorial/multiple-values/arguments-with-multiple-values.md @@ -1,3 +1,5 @@ +# CLI Arguments with Multiple Values + *CLI arguments* can also receive multiple values. You can define the type of a *CLI argument* using `typing.List`. diff --git a/docs/tutorial/multiple-values/index.md b/docs/tutorial/multiple-values/index.md index ee1bfa4da7..b511eef10a 100644 --- a/docs/tutorial/multiple-values/index.md +++ b/docs/tutorial/multiple-values/index.md @@ -1,3 +1,5 @@ +# Multiple Values + There are several ways to declare multiple values for *CLI options* and *CLI arguments*. We'll see them in the next short sections. diff --git a/docs/tutorial/multiple-values/multiple-options.md b/docs/tutorial/multiple-values/multiple-options.md index 9587265315..0c876eab52 100644 --- a/docs/tutorial/multiple-values/multiple-options.md +++ b/docs/tutorial/multiple-values/multiple-options.md @@ -1,3 +1,5 @@ +# Multiple CLI Options + You can declare a *CLI option* that can be used multiple times, and then get all the values. For example, let's say you want to accept several users in a single execution. diff --git a/docs/tutorial/multiple-values/options-with-multiple-values.md b/docs/tutorial/multiple-values/options-with-multiple-values.md index d3b9d54f20..1d3f5deff4 100644 --- a/docs/tutorial/multiple-values/options-with-multiple-values.md +++ b/docs/tutorial/multiple-values/options-with-multiple-values.md @@ -1,3 +1,5 @@ +# CLI Options with Multiple Values + You can also declare a *CLI option* that takes several values of different types. You can set the number of values and types to anything you want, but it has to be a fixed number of values. diff --git a/docs/tutorial/options-autocompletion.md b/docs/tutorial/options-autocompletion.md index 01bd04b805..43777d04fb 100644 --- a/docs/tutorial/options-autocompletion.md +++ b/docs/tutorial/options-autocompletion.md @@ -1,3 +1,5 @@ +# CLI Option autocompletion + As you have seen, apps built with **Typer** have completion in your shell that works when you create a Python package or using the `typer` command. It normally completes *CLI options*, *CLI arguments*, and subcommands (that you will learn about later). diff --git a/docs/tutorial/options/callback-and-context.md b/docs/tutorial/options/callback-and-context.md index 13b15a0dad..249616f072 100644 --- a/docs/tutorial/options/callback-and-context.md +++ b/docs/tutorial/options/callback-and-context.md @@ -1,3 +1,5 @@ +# CLI Option Callback and Context + In some occasions you might want to have some custom logic for a specific *CLI parameter* (for a *CLI option* or *CLI argument*) that is executed with the value received from the terminal. In those cases you can use a *CLI parameter* callback function. diff --git a/docs/tutorial/options/help.md b/docs/tutorial/options/help.md index 7f557976e4..f2ee34db51 100644 --- a/docs/tutorial/options/help.md +++ b/docs/tutorial/options/help.md @@ -1,3 +1,5 @@ +# CLI Options with Help + You already saw how to add a help text for *CLI arguments* with the `help` parameter. Let's now do the same for *CLI options*: diff --git a/docs/tutorial/options/index.md b/docs/tutorial/options/index.md index 13c4505eb3..f71c2167e7 100644 --- a/docs/tutorial/options/index.md +++ b/docs/tutorial/options/index.md @@ -1,3 +1,5 @@ +# CLI Options + In the next short sections we will see how to modify *CLI options* using `typer.Option()`. `typer.Option()` works very similarly to `typer.Argument()`, but has some extra features that we'll see next. diff --git a/docs/tutorial/options/name.md b/docs/tutorial/options/name.md index 77e29b40a6..7ece83f8b5 100644 --- a/docs/tutorial/options/name.md +++ b/docs/tutorial/options/name.md @@ -1,3 +1,5 @@ +# CLI Option Name + By default **Typer** will create a *CLI option* name from the function parameter. So, if you have a function with: diff --git a/docs/tutorial/options/password.md b/docs/tutorial/options/password.md index 26cabb8f88..8601d848b6 100644 --- a/docs/tutorial/options/password.md +++ b/docs/tutorial/options/password.md @@ -1,3 +1,5 @@ +# Password CLI Option and Confirmation Prompt + Apart from having a prompt, you can make a *CLI option* have a `confirmation_prompt=True`: //// tab | Python 3.7+ diff --git a/docs/tutorial/options/prompt.md b/docs/tutorial/options/prompt.md index 5e0bac3eaf..e55a09551e 100644 --- a/docs/tutorial/options/prompt.md +++ b/docs/tutorial/options/prompt.md @@ -1,3 +1,5 @@ +# CLI Option Prompt + It's also possible to, instead of just showing an error, ask for the missing value with `prompt=True`: //// tab | Python 3.7+ diff --git a/docs/tutorial/options/required.md b/docs/tutorial/options/required.md index 0e7260d9dd..4b2c2226eb 100644 --- a/docs/tutorial/options/required.md +++ b/docs/tutorial/options/required.md @@ -1,3 +1,5 @@ +# Required CLI Options + We said before that *by default*: * *CLI options* are **optional** diff --git a/docs/tutorial/options/version.md b/docs/tutorial/options/version.md index 893cf6237d..f76112ce39 100644 --- a/docs/tutorial/options/version.md +++ b/docs/tutorial/options/version.md @@ -1,3 +1,5 @@ +# Version CLI Option, `is_eager` + You could use a callback to implement a `--version` *CLI option*. It would show the version of your CLI program and then it would terminate it. Even before any other *CLI parameter* is processed. diff --git a/docs/tutorial/package.md b/docs/tutorial/package.md index 17ae591445..cb04fd6d2c 100644 --- a/docs/tutorial/package.md +++ b/docs/tutorial/package.md @@ -1,3 +1,5 @@ +# Building a Package + When you create a CLI program with **Typer** you probably want to create your own Python package. That's what allows your users to install it and have it as an independent program that they can use in their terminal. diff --git a/docs/tutorial/parameter-types/bool.md b/docs/tutorial/parameter-types/bool.md index 44ffde49ba..14adc6a6dd 100644 --- a/docs/tutorial/parameter-types/bool.md +++ b/docs/tutorial/parameter-types/bool.md @@ -1,3 +1,5 @@ +# Boolean CLI Options + We have seen some examples of *CLI options* with `bool`, and how **Typer** creates `--something` and `--no-something` automatically. But we can customize those names. diff --git a/docs/tutorial/parameter-types/custom-types.md b/docs/tutorial/parameter-types/custom-types.md index b289af71e4..b048c85bc9 100644 --- a/docs/tutorial/parameter-types/custom-types.md +++ b/docs/tutorial/parameter-types/custom-types.md @@ -1,3 +1,5 @@ +# Custom Types + You can easily use your own custom types in your **Typer** applications. The way to do it is by providing a way to parse input into your own types. diff --git a/docs/tutorial/parameter-types/datetime.md b/docs/tutorial/parameter-types/datetime.md index 566fae0ed3..84f3524eee 100644 --- a/docs/tutorial/parameter-types/datetime.md +++ b/docs/tutorial/parameter-types/datetime.md @@ -1,3 +1,5 @@ +# DateTime + You can specify a *CLI parameter* as a Python `datetime`. Your function will receive a standard Python `datetime` object, and again, your editor will give you completion, etc. diff --git a/docs/tutorial/parameter-types/enum.md b/docs/tutorial/parameter-types/enum.md index 584bc1b43f..288eee5a92 100644 --- a/docs/tutorial/parameter-types/enum.md +++ b/docs/tutorial/parameter-types/enum.md @@ -1,3 +1,5 @@ +# Enum - Choices + To define a *CLI parameter* that can take a value from a predefined set of values you can use a standard Python `enum.Enum`: ```Python hl_lines="1 6 7 8 9 12 13" diff --git a/docs/tutorial/parameter-types/file.md b/docs/tutorial/parameter-types/file.md index 2a91493a43..274962cf07 100644 --- a/docs/tutorial/parameter-types/file.md +++ b/docs/tutorial/parameter-types/file.md @@ -1,3 +1,5 @@ +# File + Apart from `Path` *CLI parameters* you can also declare some types of "files". /// tip diff --git a/docs/tutorial/parameter-types/index.md b/docs/tutorial/parameter-types/index.md index 03694b4e51..f7889944f0 100644 --- a/docs/tutorial/parameter-types/index.md +++ b/docs/tutorial/parameter-types/index.md @@ -1,3 +1,5 @@ +# CLI Parameter Types + You can use several data types for the *CLI options* and *CLI arguments*, and you can add data validation requirements too. ## Data conversion diff --git a/docs/tutorial/parameter-types/number.md b/docs/tutorial/parameter-types/number.md index cf0be9d183..062fa7bce3 100644 --- a/docs/tutorial/parameter-types/number.md +++ b/docs/tutorial/parameter-types/number.md @@ -1,3 +1,5 @@ +# Number + You can define numeric validations with `max` and `min` values for `int` and `float` *CLI parameters*: //// tab | Python 3.7+ diff --git a/docs/tutorial/parameter-types/path.md b/docs/tutorial/parameter-types/path.md index e1f0d3ad7f..0268630bcd 100644 --- a/docs/tutorial/parameter-types/path.md +++ b/docs/tutorial/parameter-types/path.md @@ -1,3 +1,5 @@ +# Path + You can declare a *CLI parameter* to be a standard Python `pathlib.Path`. This is what you would do for directory paths, file paths, etc: diff --git a/docs/tutorial/parameter-types/uuid.md b/docs/tutorial/parameter-types/uuid.md index f7cb6f54b4..afe5986377 100644 --- a/docs/tutorial/parameter-types/uuid.md +++ b/docs/tutorial/parameter-types/uuid.md @@ -1,3 +1,5 @@ +# UUID + /// info A UUID is a "Universally Unique Identifier". diff --git a/docs/tutorial/printing.md b/docs/tutorial/printing.md index ee2173fa2f..75150d329d 100644 --- a/docs/tutorial/printing.md +++ b/docs/tutorial/printing.md @@ -1,3 +1,5 @@ +# Printing and Colors + You can use the normal `print()` to show information on the screen: ```Python hl_lines="5" diff --git a/docs/tutorial/progressbar.md b/docs/tutorial/progressbar.md index 04c2ffbfc9..250ea49382 100644 --- a/docs/tutorial/progressbar.md +++ b/docs/tutorial/progressbar.md @@ -1,3 +1,5 @@ +# Progress Bar + If you are executing an operation that can take some time, you can inform it to the user. 🤓 ## Progress Bar diff --git a/docs/tutorial/prompt.md b/docs/tutorial/prompt.md index ef3c3e0a12..3203edbfa1 100644 --- a/docs/tutorial/prompt.md +++ b/docs/tutorial/prompt.md @@ -1,3 +1,5 @@ +# Ask with Prompt + When you need to ask the user for info interactively you should normally use [*CLI Option*s with Prompt](options/prompt.md){.internal-link target=_blank}, because they allow using the CLI program in a non-interactive way (for example, a Bash script could use it). But if you absolutely need to ask for interactive information without using a *CLI option*, you can use `typer.prompt()`: diff --git a/docs/tutorial/subcommands/add-typer.md b/docs/tutorial/subcommands/add-typer.md index e4f2cb3714..55439acf29 100644 --- a/docs/tutorial/subcommands/add-typer.md +++ b/docs/tutorial/subcommands/add-typer.md @@ -1,3 +1,5 @@ +# Add Typer + We'll start with the core idea. To add a `typer.Typer()` app inside of another. diff --git a/docs/tutorial/subcommands/callback-override.md b/docs/tutorial/subcommands/callback-override.md index 6a2683e9e3..fa82d4ee3b 100644 --- a/docs/tutorial/subcommands/callback-override.md +++ b/docs/tutorial/subcommands/callback-override.md @@ -1,3 +1,5 @@ +# Sub-Typer Callback Override + When creating a **Typer** app you can define a callback function, it always executes and defines the *CLI arguments* and *CLI options* that go before a command. When adding a Typer app inside of another, the sub-Typer can also have its own callback. diff --git a/docs/tutorial/subcommands/index.md b/docs/tutorial/subcommands/index.md index 5a8df35958..86df1af904 100644 --- a/docs/tutorial/subcommands/index.md +++ b/docs/tutorial/subcommands/index.md @@ -1,3 +1,5 @@ +# SubCommands - Command Groups + You read before how to create a program with [Commands](../commands/index.md){.internal-link target=_blank}. Now we'll see how to create a *CLI program* with commands that have their own subcommands. Also known as command groups. diff --git a/docs/tutorial/subcommands/name-and-help.md b/docs/tutorial/subcommands/name-and-help.md index 72f85de9e5..e6d96caa54 100644 --- a/docs/tutorial/subcommands/name-and-help.md +++ b/docs/tutorial/subcommands/name-and-help.md @@ -1,3 +1,5 @@ +# SubCommand Name and Help + When adding a Typer app to another we have seen how to set the `name` to use for the command. For example to set the command to `users`: diff --git a/docs/tutorial/subcommands/nested-subcommands.md b/docs/tutorial/subcommands/nested-subcommands.md index 431496b8c1..c991faa9da 100644 --- a/docs/tutorial/subcommands/nested-subcommands.md +++ b/docs/tutorial/subcommands/nested-subcommands.md @@ -1,3 +1,5 @@ +# Nested SubCommands + We'll now see how these same ideas can be extended for deeply nested commands. Let's imagine that the same *CLI program* from the previous examples now needs to handle `lands`. diff --git a/docs/tutorial/subcommands/single-file.md b/docs/tutorial/subcommands/single-file.md index 88abd9578c..50645267cd 100644 --- a/docs/tutorial/subcommands/single-file.md +++ b/docs/tutorial/subcommands/single-file.md @@ -1,3 +1,5 @@ +# SubCommands in a Single File + In some cases, it's possible that your application code needs to live on a single file. You can still use the same ideas: diff --git a/docs/tutorial/terminating.md b/docs/tutorial/terminating.md index 7380be75f9..a8d0b49fa3 100644 --- a/docs/tutorial/terminating.md +++ b/docs/tutorial/terminating.md @@ -1,3 +1,5 @@ +# Terminating + There are some cases where you might want to terminate a command at some point, and stop all subsequent execution. It could be that your code determined that the program completed successfully, or it could be an operation aborted. diff --git a/docs/tutorial/testing.md b/docs/tutorial/testing.md index 9d4a0975f1..2fc7e54f09 100644 --- a/docs/tutorial/testing.md +++ b/docs/tutorial/testing.md @@ -1,3 +1,5 @@ +# Testing + Testing **Typer** applications is very easy with pytest. Let's say you have an application `app/main.py` with: diff --git a/docs/tutorial/using-click.md b/docs/tutorial/using-click.md index b3ee8f21aa..950531ff7f 100644 --- a/docs/tutorial/using-click.md +++ b/docs/tutorial/using-click.md @@ -1,3 +1,5 @@ +# Using Click + /// warning This is a more advanced topic, if you are starting with **Typer**, feel free to skip it. diff --git a/mkdocs.yml b/mkdocs.yml index 1b78e078c3..2efe674049 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -52,73 +52,73 @@ plugins: nav: - Typer: index.md - - Features: features.md + - features.md - Tutorial - User Guide: - - Tutorial - User Guide - Intro: tutorial/index.md - - First Steps: tutorial/first-steps.md - - Printing and Colors: tutorial/printing.md - - Terminating: tutorial/terminating.md + - tutorial/index.md + - tutorial/first-steps.md + - tutorial/printing.md + - tutorial/terminating.md - CLI Arguments: - - CLI Arguments Intro: tutorial/arguments/index.md - - Optional CLI Arguments: tutorial/arguments/optional.md - - CLI Arguments with Default: tutorial/arguments/default.md - - CLI Arguments with Help: tutorial/arguments/help.md - - CLI Arguments with Environment Variables: tutorial/arguments/envvar.md - - Other uses: tutorial/arguments/other-uses.md + - tutorial/arguments/index.md + - tutorial/arguments/optional.md + - tutorial/arguments/default.md + - tutorial/arguments/help.md + - tutorial/arguments/envvar.md + - tutorial/arguments/other-uses.md - CLI Options: - - CLI Options Intro: tutorial/options/index.md - - CLI Options with Help: tutorial/options/help.md - - Required CLI Options: tutorial/options/required.md - - CLI Option Prompt: tutorial/options/prompt.md - - Password CLI Option and Confirmation Prompt: tutorial/options/password.md - - CLI Option Name: tutorial/options/name.md - - CLI Option Callback and Context: tutorial/options/callback-and-context.md - - Version CLI Option, is_eager: tutorial/options/version.md + - tutorial/options/index.md + - tutorial/options/help.md + - tutorial/options/required.md + - tutorial/options/prompt.md + - tutorial/options/password.md + - tutorial/options/name.md + - tutorial/options/callback-and-context.md + - tutorial/options/version.md - Commands: - - Commands Intro: tutorial/commands/index.md - - Command CLI Arguments: tutorial/commands/arguments.md - - Command CLI Options: tutorial/commands/options.md - - Command Help: tutorial/commands/help.md - - Custom Command Name: tutorial/commands/name.md - - Typer Callback: tutorial/commands/callback.md - - One or Multiple Commands: tutorial/commands/one-or-multiple.md - - Using the Context: tutorial/commands/context.md - - CLI Option autocompletion: tutorial/options-autocompletion.md + - tutorial/commands/index.md + - tutorial/commands/arguments.md + - tutorial/commands/options.md + - tutorial/commands/help.md + - tutorial/commands/name.md + - tutorial/commands/callback.md + - tutorial/commands/one-or-multiple.md + - tutorial/commands/context.md + - tutorial/options-autocompletion.md - CLI Parameter Types: - - CLI Parameter Types Intro: tutorial/parameter-types/index.md - - Number: tutorial/parameter-types/number.md - - Boolean CLI Options: tutorial/parameter-types/bool.md - - UUID: tutorial/parameter-types/uuid.md - - DateTime: tutorial/parameter-types/datetime.md - - Enum - Choices: tutorial/parameter-types/enum.md - - Path: tutorial/parameter-types/path.md - - File: tutorial/parameter-types/file.md - - Custom Types: tutorial/parameter-types/custom-types.md + - tutorial/parameter-types/index.md + - tutorial/parameter-types/number.md + - tutorial/parameter-types/bool.md + - tutorial/parameter-types/uuid.md + - tutorial/parameter-types/datetime.md + - tutorial/parameter-types/enum.md + - tutorial/parameter-types/path.md + - tutorial/parameter-types/file.md + - tutorial/parameter-types/custom-types.md - SubCommands - Command Groups: - - SubCommands - Command Groups - Intro: tutorial/subcommands/index.md - - Add Typer: tutorial/subcommands/add-typer.md - - SubCommands in a Single File: tutorial/subcommands/single-file.md - - Nested SubCommands: tutorial/subcommands/nested-subcommands.md - - Sub-Typer Callback Override: tutorial/subcommands/callback-override.md - - SubCommand Name and Help: tutorial/subcommands/name-and-help.md + - tutorial/subcommands/index.md + - tutorial/subcommands/add-typer.md + - tutorial/subcommands/single-file.md + - tutorial/subcommands/nested-subcommands.md + - tutorial/subcommands/callback-override.md + - tutorial/subcommands/name-and-help.md - Multiple Values: - - Multiple Values Intro: tutorial/multiple-values/index.md - - Multiple CLI Options: tutorial/multiple-values/multiple-options.md - - CLI Options with Multiple Values: tutorial/multiple-values/options-with-multiple-values.md - - CLI Arguments with Multiple Values: tutorial/multiple-values/arguments-with-multiple-values.md - - Ask with Prompt: tutorial/prompt.md - - Progress Bar: tutorial/progressbar.md - - CLI Application Directory: tutorial/app-dir.md - - Launching Applications: tutorial/launch.md - - Testing: tutorial/testing.md - - Using Click: tutorial/using-click.md - - Building a Package: tutorial/package.md + - tutorial/multiple-values/index.md + - tutorial/multiple-values/multiple-options.md + - tutorial/multiple-values/options-with-multiple-values.md + - tutorial/multiple-values/arguments-with-multiple-values.md + - tutorial/prompt.md + - tutorial/progressbar.md + - tutorial/app-dir.md + - tutorial/launch.md + - tutorial/testing.md + - tutorial/using-click.md + - tutorial/package.md - tutorial/exceptions.md - tutorial/typer-command.md - - Alternatives, Inspiration and Comparisons: alternatives.md - - Help Typer - Get Help: help-typer.md - - Development - Contributing: contributing.md - - Release Notes: release-notes.md + - alternatives.md + - help-typer.md + - contributing.md + - release-notes.md markdown_extensions: toc: