Holehe Prerequisites: Complete Installation Requirements for the OSINT Tool
The only hard prerequisite for installing holehe is Python 3.7 or newer, with additional requirements depending on whether you use PyPI, GitHub source, or Docker.
Holehe is a Python-based OSINT (Open Source Intelligence) tool developed by megadose that checks if an email address is registered on various websites. This guide covers every installation path and its specific dependencies based on the actual source code in the megadose/holehe repository.
Python Version Requirement
All installation methods require Python 3 ≥ 3.7. This is explicitly declared in setup.py at line 11, where the python_requires field enforces this minimum version.
No other system-level dependencies are needed—the tool relies entirely on Python packages that pip can install automatically.
PyPI Installation Prerequisites
The simplest approach uses pip to install holehe directly from PyPI.
Requirements:
- Python 3.7+
- pip (bundled with modern Python distributions)
Runtime dependencies (installed automatically by pip):
| Package | Purpose |
|---|---|
termcolor |
Colored terminal output |
bs4 |
HTML parsing via BeautifulSoup |
httpx |
Asynchronous HTTP client |
trio |
Async concurrency framework |
tqdm |
Progress bars for long operations |
colorama |
Cross-platform terminal color support |
These six packages are defined in the install_requires list in setup.py[setup py line 11].
Install with:
pip3 install holehe
GitHub Source Installation Prerequisites
For development, customization, or the latest unreleased changes, install from source.
Requirements:
- Python 3.7+
- pip
- Git (to clone the repository)
Installation steps:
git clone https://github.com/megadose/holehe.git
cd holehe/
python3 setup.py install
Running python3 setup.py install triggers the same dependency resolution as the PyPI method, pulling in the six required packages from setup.py.
Docker Installation Prerequisites
For containerized deployment or isolated environments, use the provided Dockerfile.
Requirement:
- Docker (any recent version)
The Dockerfile builds a self-contained image that includes:
- Python runtime
- All holehe dependencies
- The holehe application code
Build and run:
docker build . -t my-holehe-image
docker run my-holehe-image holehe test@gmail.com
The Docker approach eliminates any need to manage Python versions or virtual environments locally.
Verifying Your Installation
After installation, confirm holehe is available:
holehe --help
The CLI entry point is defined in holehe/core.py, which exposes the holehe command for checking email addresses across supported platforms.
Summary
- Minimum requirement: Python 3.7 or newer for all installation methods
- PyPI route: Python 3.7+ and pip; dependencies auto-installed
- Source route: Add Git to the PyPI requirements
- Docker route: Only Docker engine needed; no local Python required
- Core dependencies (
termcolor,bs4,httpx,trio,tqdm,colorama) are declared insetup.pyand resolved automatically
Frequently Asked Questions
What Python version do I need for holehe?
Holehe requires Python 3.7 or newer. This is enforced in setup.py through the python_requires='>=3.7' declaration. The tool will not install on Python 2 or Python 3.6 and earlier.
Do I need to install dependencies manually?
No. Whether using pip3 install holehe or python3 setup.py install, pip automatically resolves and installs the six required packages: termcolor, bs4, httpx, trio, tqdm, and colorama.
Can I run holehe without installing Python?
Yes. The Docker method requires only a Docker engine. The Dockerfile packages the Python runtime and all dependencies internally, so no local Python installation is necessary.
Where are the installation requirements defined?
The authoritative source is setup.py at the repository root. Line 11 contains both the python_requires field and the install_requires list specifying all runtime dependencies. Installation instructions are also documented in README.md.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →