# Install vulture with Homebrew, apt, MacPorts, pacman

Find dead Python code. Version 2.16 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:vulture
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install vulture
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install vulture
```

  Evidence: MacPorts ports tree: devel/vulture/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Debian apt (92%):

```sh
sudo apt install vulture
```

  Evidence: Debian stable package indexes: vulture from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- pacman (92%):

```sh
sudo pacman -S vulture
```

  Evidence: Arch Linux sync databases: vulture from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:vulture
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/vulture>
- **Version:** 2.16
- **Source summary:** Find dead Python code
- **Homepage:** <https://github.com/jendrikseipp/vulture>
- **Repository:** <https://github.com/jendrikseipp/vulture>
- **Upstream docs:** <https://github.com/jendrikseipp/vulture/blob/main/README.md>
- **License:** MIT
- **Source archive:** <https://files.pythonhosted.org/packages/66/3e/4d08c5903b2c0c70cad583c170cc4a663fc6a61e2ad00b711fcda61358cd/vulture-2.16.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- vulture (cli)
- vulture (alias)

## Dependencies

- python@3.14

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.16
- Local data: ok
- Upstream repository: https://github.com/jendrikseipp/vulture
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

Vulture is a Python static-analysis command-line tool for finding unused code. It scans Python files, records defined and used names with the standard-library `ast` module, reports likely unused imports, variables, functions, methods, classes, properties, attributes, and also detects some unreachable code.

### Project history

Vulture has a longer history than its current GitHub repository suggests: PyPI records version 0.1 uploaded on March 17, 2012. The current GitHub repository was created in March 2017 under maintainer Jendrik Seipp, and the package metadata continues to identify him as the author/owner.

The project matured from a small dead-code finder into a production/stable Python quality tool. Its README emphasizes that Python's dynamic nature makes perfect static dead-code detection impossible, so Vulture reports confidence values and provides practical suppression mechanisms rather than pretending to be exact.

The 2.x series made Vulture fit modern Python project workflows: it supports `pyproject.toml` configuration, pre-commit integration, programmatic use, whitelists for false positives, common whitelists in the repository, and output syntax that complements Pyflakes.

### Adoption history

Vulture became a recognizable tool in Python maintenance circles because it addresses a recurring problem in large, long-lived codebases: unused helpers, stale imports, abandoned feature paths, and untested code that ordinary linting or test coverage may not make obvious.

By July 2026, GitHub repository metadata showed more than 4.6k stars, and PyPI listed Vulture 2.16 as the current release, uploaded on March 25, 2026. It also appears in editor and automation workflows through pre-commit hooks, a GitHub Action, and VS Code extension integrations.

### How it is used

Typical usage is `vulture path_or_file`, optionally with directories, a generated whitelist, and a confidence threshold such as `--min-confidence 100`. The tool recommends scanning both a library and its test suite so code used only by tests is seen as used, and then rerunning after deletions because removing one chunk can reveal more dead code.

Vulture's confidence model is part of its identity. It treats unreachable code and unused function or method arguments as 100 percent, imports as 90 percent, and many attributes, classes, functions, methods, properties, and variables as 60 percent. Users tune results with whitelists, excludes, ignored names or decorators, `noqa` compatibility for selected Pyflakes codes, and `pyproject.toml` settings.

### Why package nerds care

For package nerds, Vulture is the small sharp tool between linting and coverage. It is simpler than a whole quality platform, depends mostly on Python's parser, and is valuable in cleanup branches, CI gates, and pre-commit checks where the goal is to find deletion candidates before they fossilize.

### Timeline

- 2012: Vulture 0.1 was uploaded to PyPI on March 17, 2012.
- 2017: The current GitHub repository was created on March 6, 2017.
- 2021: Vulture 2.3 appeared as the example pre-commit hook revision in the README's integration documentation.
- 2026: Vulture 2.16 was uploaded to PyPI on March 25, 2026.

### Related projects

- Vulture is related to Pyflakes, Flake8, Coverage.py, pre-commit, Ruff discussions around dead-code detection, editor extensions that wrap Vulture, and other Python dead-code tools such as uncalled and dead.

### Sources

- <https://api.github.com/repos/jendrikseipp/vulture>
- <https://github.com/astral-sh/ruff/issues/872>
- <https://github.com/jendrikseipp/vulture>
- <https://pypi.org/project/vulture/>
- <https://pypi.org/pypi/vulture/json>
- <https://raw.githubusercontent.com/jendrikseipp/vulture/main/README.md>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: pyproject.toml
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** vulture
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - vulture - 2.14-1: normalized package name match | Debian stable package indexes: vulture from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | scans for unused ("dead") code in a Python program | https://github.com/jendrikseipp/vulture
- Ubuntu apt - vulture - 2.7-2: normalized package name match | Ubuntu 24.04 LTS package indexes: vulture from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | scans for unused ("dead") code in a Python program | https://github.com/jendrikseipp/vulture
- pacman - vulture - 2.16-1: normalized package name match | Arch Linux sync databases: vulture from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Finds dead code in Python projects | https://github.com/jendrikseipp/vulture
- MacPorts - vulture: normalized package name match | MacPorts ports tree: devel/vulture/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [python@3.14](https://www.automicvault.com/pkg/brew/python-3-14/) - Runtime dependency declared by Homebrew.
- [flake8](https://www.automicvault.com/pkg/brew/flake8/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting, python.
- [include-what-you-use](https://www.automicvault.com/pkg/brew/include-what-you-use/) - Shares av.db curated category or tags: cli, code-analysis, code-quality, developer-tools, static-analysis.
- [lizard-analyzer](https://www.automicvault.com/pkg/brew/lizard-analyzer/) - Shares av.db curated category or tags: cli, code-analysis, code-quality, developer-tools, static-analysis.
- [ccheck](https://www.automicvault.com/pkg/brew/ccheck/) - Shares av.db curated category or tags: cli, code-analysis, developer-tools, static-analysis.
- [checkstyle](https://www.automicvault.com/pkg/brew/checkstyle/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting, static-analysis.
- [credo](https://www.automicvault.com/pkg/brew/credo/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting, static-analysis.
- [detekt](https://www.automicvault.com/pkg/brew/detekt/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linting, static-analysis.
- [gnu-complexity](https://www.automicvault.com/pkg/brew/gnu-complexity/) - Shares av.db curated category or tags: cli, code-analysis, developer-tools, static-analysis.
- [vermin](https://www.automicvault.com/pkg/brew/vermin/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, code, developer, developer-tools.
- [cmake-lint](https://www.automicvault.com/pkg/brew/cmake-lint/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, code, developer, developer-tools.

## Combined YAML source

View the package source record on GitHub. [combined/vulture.yml](https://github.com/automic-vault/db/blob/main/combined/vulture.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
