experimental/cpu/: shtab-1.7.1 metadata and description
Automagic shell tab completion for Python CLI applications
author_email | Casper da Costa-Luis <casper.dcl@physics.org> |
classifiers |
|
description_content_type | text/x-rst |
keywords | tab,complete,completion,shell,bash,zsh,argparse |
license | Apache-2.0 |
maintainer_email | Iterative <support@iterative.ai> |
project_urls |
|
provides_extras | dev |
requires_dist |
|
requires_python | >=3.7 |
File | Tox results | History |
---|---|---|
shtab-1.7.1-py3-none-any.whl
|
|
shtab
What: Automatically generate shell tab completion scripts for Python CLI apps
Why: Speed & correctness. Alternatives like argcomplete and pyzshcomplete are slow and have side-effects
How: shtab processes an argparse.ArgumentParser object to generate a tab completion script for your shell
Features
Outputs tab completion scripts for
bash
zsh
tcsh
Supports
Supports arguments, options and subparsers
Supports choices (e.g. --say={hello,goodbye})
Supports file and directory path completion
Supports custom path completion (e.g. --file={*.txt})
Installation
Choose one of:
pip install shtab, or
conda install -c conda-forge shtab
Usage
There are two ways of using shtab:
CLI Usage: shtab’s own CLI interface for external applications
may not require any code modifications whatsoever
end-users execute shtab your_cli_app.your_parser_object
Library Usage: as a library integrated into your CLI application
adds a couple of lines to your application
argument mode: end-users execute your_cli_app --print-completion {bash,zsh,tcsh}
subparser mode: end-users execute your_cli_app completion {bash,zsh,tcsh}
Examples
FAQs
Not working? Check out frequently asked questions.
Alternatives
-
executes the underlying script every time <TAB> is pressed (slow and has side-effects)
only provides bash completion
-
executes the underlying script every time <TAB> is pressed (slow and has side-effects)
only provides zsh completion
-
different framework completely replacing the builtin argparse
solves multiple problems (rather than POSIX-style “do one thing well”)
Contributions
Please do open issues & pull requests! Some ideas:
support fish
support powershell
See CONTRIBUTING.md for more guidance.