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:

import typer

app = typer.Typer()

def create(username: str):
    print(f"Creating user: {username}")

def delete(username: str):
    print(f"Deleting user: {username}")

if __name__ == "__main__":
// Check the help for create
$ python create --help

Usage: create [OPTIONS] USERNAME

  --help  Show this message and exit.

// Call it with a CLI argument
$ python create Camila

Creating user: Camila

// The same for delete
$ python delete Camila

Deleting user: Camila


Everything to the right of the command are CLI parameters (CLI arguments and CLI options) for that command.

Technical Details

Actually, it's everything to the right of that command, before any subcommand.

It's possible to have groups of subcommands, it's like if one command also had subcommands. And then those subcommands could have their own CLI parameters, taking their own CLI parameters.

You will see about them later in another section.