skillfed

argcomplete

Bash tab completion for argparse

argcomplete Permissive license Apache Software License Active 1,576 v3.7.2 released

Install

argcomplete on PyPI

pip

pip install argcomplete

uv

uv add argcomplete

poetry

poetry add argcomplete

Package facts

License Apache Software License (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 7 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: argcomplete-3.7.2-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: MacOS :: MacOS XOperating System :: POSIXProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software DevelopmentTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: ShellsTopic :: Terminals

About argcomplete

from the package's own PyPI description — quoted content, verbatim

argcomplete - Bash/zsh tab completion for argparse

Tab complete all the things!

Argcomplete provides easy, extensible command line tab completion of arguments for your Python application.

It makes two assumptions:

  • You're using bash or zsh as your shell (limited support exists for other shells - see below)
  • You're using argparse <http://docs.python.org/3/library/argparse.html>_ to manage your command line arguments/options

Argcomplete is particularly useful if your program has lots of options or subparsers, and if your program can dynamically suggest completions for your argument/option values (for example, if the user is browsing resources over the network).

Installation

::

pip install argcomplete
activate-global-python-argcomplete

See Activating global completion_ below for details about the second step.

Refresh your shell environment (start a new shell).

Synopsis

Add the PYTHON_ARGCOMPLETE_OK marker and a call to argcomplete.autocomplete() to your Python application as follows:

.. code-block:: python

#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import...

Read as markdown · JSON record · Source repository · Homepage · Docs

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

Provides intelligent bash and zsh tab completion for Python applications using argparse, with support for custom completers and dynamic suggestions.

Low friction: pure Python wheel with no runtime dependencies. Actively maintained with a release 7 days ago and 1576 repository stars. Supports Python 3.10–3.14 and PyPy.

Licensed under Apache Software License (permissive), allowing commercial and private use with minimal restrictions.

Usage

pip install argcomplete==3.7.2

#!/usr/bin/env python
# PYTHON_ARGCOMPLETE_OK
import argcomplete, argparse
parser = argparse.ArgumentParser()
argcomplete.autocomplete(parser)
args = parser.parse_args()

Requires Python 3.10 or later. Shell completion registration via activate-global-python-argcomplete or register-python-argcomplete is needed for tab completion to work.

Verdict: Mature, actively maintained library with zero known vulnerabilities and permissive licensing. Low install friction and broad Python version support make it a reliable choice for adding shell completion to argparse-based CLI tools. The only consideration is that shell registration is a separate manual step after installation.

Needs verification

  • Whether custom completers can handle network latency without blocking tab completion responsiveness
  • Compatibility with shells beyond bash and zsh (fact sheet mentions 'limited support' but does not specify which shells)
bash tab completion argparsezsh shell completion pythoncommand line argument completiondynamic shell completionargparse autocompletepython cli completionshell completion framework

Similar packages