-
-
Notifications
You must be signed in to change notification settings - Fork 845
Closed
Labels
questionQuestion or problemQuestion or problem
Description
First Check
- I added a very descriptive title to this issue.
- I used the GitHub search to find a similar issue and didn't find it.
- I searched the Typer documentation, with the integrated search.
- I already searched in Google "How to X in Typer" and didn't find any information.
- I already read and followed all the tutorial in the docs and didn't find an answer.
- I already checked if it is not related to Typer but to Click.
Example Code
Example 1
I expect help when invoked with no args
import typer
cli = typer.Typer(no_args_is_help=True)
if __name__ == "__main__":
cli()Actually raises an exception
$ python cli.py
AssertionError: Could not get a command for this Typer instance
Example 2
I expect help when invoked with no args
import typer
cli = typer.Typer(no_args_is_help=True)
@cli.command("1")
def _1():
print(1)
if __name__ == "__main__":
cli()Actually prints "1"
$ python cli.py
1
Example 3
I expect help when invoked with no args
import typer
cli = typer.Typer(no_args_is_help=True)
@cli.command("1")
def _1():
print(1)
@cli.command("2")
def _2():
print(2)
if __name__ == "__main__":
cli()Works as expected (though this breaks code relying on the behaviour of the 1-command typer app)
$ python cli.py
Usage: cli.py [OPTIONS] COMMAND [ARGS]...
Options:
--install-completion [bash|zsh|fish|powershell|pwsh]
Install completion for the specified shell.
--show-completion [bash|zsh|fish|powershell|pwsh]
Show completion for the specified shell, to
copy it or customize the installation.
--help Show this message and exit.
Commands:
1
2
Description
When no_args_is_help=True is set on my Typer application, I expect that the application will print the help text when it is called with no arguments.
When 2+ commands are registered, no_args_is_help works as expected.
However, there are two cases where this does not hold:
- When there are 0 commands registered on the application, an exception is raised
- When there is 1 command registered on the application, the command is called in lieu of printing the help text.
Operating System
macOS
Typer Version
0.6.1
Python Version
3.9.12
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
questionQuestion or problemQuestion or problem