Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/angr/angr/llms.txt

Use this file to discover all available pages before exploring further.

This guide covers everything you need to install angr, from basic pip installation to development setup.

Requirements

Before installing angr, ensure you meet these requirements:

Python Version

Python 3.10 or higher is required. angr supports Python 3.10, 3.11, 3.12, and 3.13.
Check your Python version:
python --version
angr has fully transitioned to Python 3 and does not support Python 2. If you need Python 2 support, you must use an older version of angr.

Installation methods

The simplest way to install angr is using pip with a virtual environment:
1

Create a virtual environment

Using venv (built into Python):
python -m venv angr-env
source angr-env/bin/activate  # On Windows: angr-env\Scripts\activate
Or using virtualenvwrapper:
mkvirtualenv --python=$(which python3) angr
2

Install angr

pip install angr
This installs angr with all core dependencies:
  • archinfo - Architecture information and definitions
  • pyvex - Python bindings for VEX IR
  • cle - Binary loader
  • claripy - Constraint solver interface
  • capstone - Disassembly engine
  • pypcode - P-code translation
  • And many more (see Core dependencies below)
3

Verify installation

python -c "import angr; print(angr.__version__)"

Optional dependencies

angr supports several optional features that require additional packages:
For assembling machine code:
pip install angr[keystone]
Or install separately:
pip install keystone-engine
For faster concrete execution using Unicorn:
pip install angr[unicorn]
Or install separately:
pip install unicorn==2.1.4
For storing analysis results in a database:
pip install angr[angrdb]
This installs SQLAlchemy for database operations.
For LLM-powered analysis features:
pip install angr[llm]
This installs pydantic-ai for LLM integration.
For performance monitoring and tracing:
pip install angr[telemetry]

Install all optional dependencies

To install angr with all optional features:
pip install angr[angrdb,keystone,unicorn,llm,telemetry]

Development installation

If you want to contribute to angr or use the latest development version:
1

Clone the repository

git clone https://github.com/angr/angr.git
cd angr
2

Install development dependencies

angr uses uv for development. Install uv first:
pip install uv
Then install angr in development mode:
uv sync
This installs:
  • All core dependencies
  • Development tools (pytest, ruff, coverage, etc.)
  • Documentation tools (sphinx, furo, etc.)
  • All optional dependencies
3

Install from source with pip

Alternatively, use pip in editable mode:
pip install -e .
For development with all extras:
pip install -e ".[angrdb,keystone,unicorn,llm]"
angr includes Rust components that are compiled during installation. Ensure you have a Rust toolchain installed for development builds.

Core dependencies

angr automatically installs these core dependencies:
  • archinfo (9.2.205.dev0) - Architecture definitions
  • pyvex (9.2.205.dev0) - VEX IR lifting
  • cle (9.2.205.dev0) - Binary loading
  • claripy (9.2.205.dev0) - Constraint solving
  • capstone (5.0.6) - Multi-architecture disassembler
  • pypcode (>=3.2.1, <4.0) - P-code translation
  • networkx (>=2.0, !=2.8.1) - Graph algorithms
  • cffi (>=1.14.0) - C Foreign Function Interface
  • cachetools - Caching utilities
  • sortedcontainers - Sorted data structures
  • rich (>=13.1.0) - Rich terminal output
  • GitPython - Git repository interaction
  • psutil - System and process utilities
  • lmdb - Lightning Memory-Mapped Database
  • msgspec - Fast serialization
  • sympy - Symbolic mathematics
  • pycparser (~=3.0) - C code parsing
  • protobuf (>=6.33.0) - Protocol buffers
  • cxxheaderparser - C++ header parsing
  • pydemumble - Symbol demangling
  • mulpyplexer - Multiplexing utilities
  • typing-extensions - Typing backports
  • colorama (Windows only) - Cross-platform colored output

Troubleshooting

Common issues

Solution: Ensure you activated your virtual environment and ran pip install angr.
source angr-env/bin/activate  # Activate your venv
pip install angr
Error: angr requires Python 3.10 or higherSolution: Upgrade Python or use pyenv to install a newer version:
pyenv install 3.12
pyenv global 3.12
Error: Errors building wheels or compiling native extensionsSolution: Install build dependencies:Ubuntu/Debian:
sudo apt-get install python3-dev build-essential
macOS:
xcode-select --install
Windows: Install Microsoft C++ Build Tools
Solution: Capstone is pinned to version 5.0.6. If installation fails, try:
pip install --upgrade pip setuptools wheel
pip install capstone==5.0.6
pip install angr
Issue: Large binaries may consume significant memorySolution: Use auto_load_libs=False when loading binaries:
project = angr.Project('binary', auto_load_libs=False)

Platform-specific notes

Most Linux distributions work out of the box. Install development headers:
# Ubuntu/Debian
sudo apt-get install python3-dev build-essential libffi-dev

# Fedora/RHEL
sudo dnf install python3-devel gcc libffi-devel

Verifying your installation

Run this script to verify all components are working:
import angr
import cle
import pyvex
import claripy
import archinfo

print(f"angr version: {angr.__version__}")
print(f"Architecture support: {archinfo.arch_from_id('AMD64')}")

# Test loading a binary
project = angr.Project('/bin/ls', auto_load_libs=False)
print(f"Successfully loaded: {project.filename}")
print(f"Architecture: {project.arch.name}")
print(f"Entry point: {hex(project.entry)}")

print("\nInstallation successful!")

Getting help

If you encounter issues not covered here:

GitHub Issues

Report bugs or installation problems

Documentation

Browse the official documentation

API Reference

Explore the API documentation

Awesome angr

Community resources and examples

Build docs developers (and LLMs) love