Warning: under development. Some things are a bit messy.
argcomplete - Bash completion for argparse
Argcomplete provides easy and extensible automatic tab completion of arguments and options for your Python script.
It makes two assumptions:
You’re using bash as your shell
You’re using argparse to manage your command line options
Argcomplete is particularly useful if your program has lots of options or subparsers, and if you can suggest completions for your argument/option values (for example, if the user is browsing resources over the network).
Installation
pip install argcomplete
Synopsis
Python code (e.g. my-awesome-script.py):
import argcomplete, argparse parser = argparse.ArgumentParser() ... argcomplete.autocomplete(parser) parser.parse() ...
Shellcode (to be put in e.g. .bashrc):
eval "$(register-python-argcomplete my-awesome-script.py)"
Specifying completers
You can specify custom completion functions for your options and arguments. Completers are called with one argument, the prefix text that all completions should match. Completers should return their completions as a list of strings. An example completer for names of environment variables might look like this:
def EnvironCompleter(text):
return (v for v in os.environ if v.startswith(text))
To specify a completer for an argument or option, set the completer attribute of its associated action. An easy way to do this at definition time is:
from argcomplete.completers import EnvironCompleter
parser = argparse.ArgumentParser()
parser.add_argument("--env-var1").completer = EnvironCompleter
parser.add_argument("--env-var2").completer = EnvironCompleter
argcomplete.autocomplete(parser)
Acknowledgments
Inspired and informed by the optcomplete module by Martin Blais.
Metadata
Release files for argcomplete 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| argcomplete-0.1.3.tar.gz | 5.1 kB | Without provenance | Details |
Release files / argcomplete-0.1.3.tar.gz
| Download URL | argcomplete-0.1.3.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c6e519effc87873613f39cd8ed43ae89fca62309de3e16c9c3f0b04919e646ac
|
|
BLAKE2b-256 checksum How to use checksums |
806402405c50261e23ff22db264f3bc931d2b89a41cc9296bdb3817ea23ec3f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for argcomplete 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.