idapro
IDA Library Python module
Decision gist · record as of 2026-08-14
Yes, if you already own an IDA Pro license and need programmatic binary analysis in Python. The package has low install friction, no external Python dependencies, active maintenance, and a permissive license. The main blocker is the requirement for a separate IDA Pro installation and the activation step; it is not a standalone tool. For teams doing headless binary analysis at scale, it eliminates GUI overhead. For casual reverse engineering, the activation overhead and IDA Pro cost may not justify it.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- IDA Pro must be installed separately and configured via py-activate-idalib.py activation script (or HCLI) before importing idapro; requires Python >= 3.8
- Low install friction with no runtime dependencies.
- Active maintenance status (latest release 2026-07-15, 30 days ago).
License · maintenance · safety
MIT (permissive) — MIT license (permissive) means you can use, modify, and distribute this wrapper freely. However, the underlying IDA Pro software itself requires a separate commercial license; this package's permissive license does not grant you IDA Pro.
last release 2026-07-15 (30 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,071 downloads/mo, #12,221 on PyPI
Alternatives
Verify before relying
# Install idapro, then run activation script once:
# python /path/to/ida/idalib/python/py-activate-idalib.py
import idapro
if idapro.open_database('binary_file', True) == 0:
kernel_path = idapro.get_ida_install_dir()
print(f"IDA install directory: {kernel_path}")
idapro.close_database(False)- Whether the package works with all IDA Pro versions or only recent ones
- Performance characteristics when analyzing large binaries or in batch processing scenarios
- Compatibility with IDA Pro on non-Windows platforms (Linux/macOS support claims need confirmation)
- Which IDA Python modules are available after importing idapro
What it is and what it does
idapro is a Python wrapper that exposes IDA Pro's binary analysis engine as a standalone package, letting you run IDA's disassembly, type inference, and reverse-engineering capabilities from Python scripts without launching the IDA GUI. After importing idapro, you gain access to IDA's full Python API surface for analyzing functions, segments, types, comments, strings, basic blocks, and disassembly, plus automatic type stubs for IDE autocompletion.
The package acts as a bridge between your Python environment and an existing IDA Pro installation. You configure it once by running an activation script that records IDA's install path, then import idapro to unlock IDA's analysis capabilities in headless mode. It's designed for automation workflows: batch binary analysis, CI/CD integration, or programmatic reverse engineering where the GUI would be overhead.
Use it for
- Automate binary analysis in CI/CD pipelines to extract metadata and function listings without manual IDA GUI interaction
- Batch-process multiple binaries to collect type information, strings, and disassembly for research or threat analysis
- Build custom reverse-engineering tools that leverage IDA's analysis engine as a library rather than reimplementing disassembly
- Integrate IDA analysis into Python-based security workflows for malware analysis or vulnerability research
- Extract and analyze binary metadata programmatically for inventory or compliance tasks
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you already own an IDA Pro license and need programmatic binary analysis in Python.
The package has low install friction, no external Python dependencies, active maintenance, and a permissive license. The main blocker is the requirement for a separate IDA Pro installation and the activation step; it is not a standalone tool. For teams doing headless binary analysis at scale, it eliminates GUI overhead. For casual reverse engineering, the activation overhead and IDA Pro cost may not justify it.
Install
idapro on PyPI
Before you install
Low install friction with no runtime dependencies. Active maintenance status (latest release 2026-07-15, 30 days ago). Requires IDA Pro to be installed separately and configured via activation script or HCLI; this is a wrapper around an external commercial tool rather than a standalone package.
IDA Pro must be installed separately and configured via py-activate-idalib.py activation script (or HCLI) before importing idapro; requires Python >= 3.8
License in practice
MIT license (permissive) means you can use, modify, and distribute this wrapper freely. However, the underlying IDA Pro software itself requires a separate commercial license; this package's permissive license does not grant you IDA Pro.
Quickstart
# Install idapro, then run activation script once:
# python /path/to/ida/idalib/python/py-activate-idalib.py
import idapro
if idapro.open_database('binary_file', True) == 0:
kernel_path = idapro.get_ida_install_dir()
print(f"IDA install directory: {kernel_path}")
idapro.close_database(False)
Verify before relying
- Whether the package works with all IDA Pro versions or only recent ones
- Performance characteristics when analyzing large binaries or in batch processing scenarios
- Compatibility with IDA Pro on non-Windows platforms (Linux/macOS support claims need confirmation)
- Which IDA Python modules are available after importing idapro
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 30 days since the last release |
| First released | |
| Downloads | 116,071 / month, #12,221 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Software Development :: Disassemblers |
Evidence: idapro-0.0.10-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “binary analysis python”
- idaproEnables programmatic binary analysis and reverse engineering by…
- vivisectVivisect is a pure-Python disassembler, debugger, emulator, and…
- angrangr is a binary analysis framework that performs symbolic execution,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Disassemblers packages
pyelftools parses and analyzes ELF binary files and DWARF debugging information in pure Python, with no external dependencies.
Install it if you need to read or analyze ELF binaries or debug information from Python.
Disassembles VBA p-code from Microsoft Office documents to reveal the compiled macro instructions that actually execute, regardless of whether source code is present.
However, do not rely on it for modern Office versions (2010+) without testing—the package is abandoned and has known disassembly gaps in 64-bit Office 2016.
Pwntools is a CTF framework and exploit development library providing tools for writing exploits, assembling/disassembling code, interacting with remote services, and analyzing binaries.
Install it if you work on exploit development, security research, or CTF challenges; skip it if you don't need those capabilities.
Hachoir parses and displays binary files as a tree of typed fields, letting you inspect and edit individual bits, bytes, and structures within any binary stream.
Maps each value in a JSON document to its source location (line, column, character position) and JSON Pointer path, enabling precise error reporting and source-aware JSON processing.
SMDA is a recursive disassembler library that recovers control flow graphs from binary files and memory dumps, supporting x86/x64, AArch64, .NET CIL, and Dalvik bytecode with output as functions, basic blocks, and instruction-level edges.
Install it if you need to extract control flow structure from binaries or memory dumps; avoid it if you only need basic disassembly without CFG analysis or if you…
See also ida-hcli · python-flirt · ida-settings · capstone · evmdasm · chialisp-loader · nvidia-cuda-nvdisasm · viv-utils · binapy