pypcode
Machine code disassembly and IR translation library
Decision gist · record as of 2026-08-14
Yes, if you need programmatic binary disassembly and IR translation. pypcode is actively maintained, permissively licensed, has no external runtime dependencies, and integrates directly with angr for symbolic execution. Install friction is moderate but manageable via precompiled wheels. No known vulnerabilities. Not necessary if you only need command-line disassembly or don't work with binary analysis.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.12 or later; precompiled wheels available for macOS (x86_64, arm64), Linux (x86_64, aarch64), and Windows (amd64).
- Medium install friction due to compiled wheels for multiple Python versions (3.12–3.14) and architectures.
- Active maintenance with a recent release (90 days ago) and ongoing repository activity; no runtime dependencies to manage.
License · maintenance · safety
BSD-2-Clause AND Apache-2.0 AND Zlib (permissive) — Triple-licensed under BSD-2-Clause, Apache-2.0, and Zlib (permissive). All three are business-friendly; you may use, modify, and distribute the package under any of these terms.
last release 2026-05-16 (90 days) · last repo commit 2026-08-10 · 214 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 296,200 downloads/mo, #7,902 on PyPI
Alternatives
Verify before relying
pip install pypcode
import pypcode
# Use pypcode with angr or standalone for disassembly and IR translation- Specific IR translation capabilities and supported architectures beyond what SLEIGH provides.
- Performance characteristics and scalability for large binaries.
- Integration depth and API stability with angr's symbolic execution framework.
What it is and what it does
pypcode is a Python binding to the SLEIGH disassembly library from Ghidra, enabling programmatic analysis of machine code. It translates binary instructions into an intermediate representation (IR) suitable for further analysis, symbolic execution, or reverse engineering. The library was designed primarily for use with angr, which layers symbolic execution and program analysis on top of pypcode's IR output.
The package supports current Python versions (3.12–3.14) and is distributed as precompiled wheels across major platforms and architectures, eliminating the need to build SLEIGH from source. It has no runtime dependencies beyond Python itself, making installation straightforward. Active maintenance and a growing user base (214 repository stars) suggest stable, ongoing development.
Use it for
- Reverse engineering and analyzing compiled binaries programmatically without manual disassembly.
- Building symbolic execution pipelines with angr using pypcode's IR as the foundation.
- Cross-platform binary analysis workflows that need consistent IR representation across architectures.
- Security research and vulnerability analysis requiring machine code inspection and transformation.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need programmatic binary disassembly and IR translation.
pypcode is actively maintained, permissively licensed, has no external runtime dependencies, and integrates directly with angr for symbolic execution. Install friction is moderate but manageable via precompiled wheels. No known vulnerabilities. Not necessary if you only need command-line disassembly or don't work with binary analysis.
Install
pypcode on PyPI
Before you install
Medium install friction due to compiled wheels for multiple Python versions (3.12–3.14) and architectures. Active maintenance with a recent release (90 days ago) and ongoing repository activity; no runtime dependencies to manage.
Requires Python 3.12 or later; precompiled wheels available for macOS (x86_64, arm64), Linux (x86_64, aarch64), and Windows (amd64).
License in practice
Triple-licensed under BSD-2-Clause, Apache-2.0, and Zlib (permissive). All three are business-friendly; you may use, modify, and distribute the package under any of these terms.
Quickstart
pip install pypcode
import pypcode
# Use pypcode with angr or standalone for disassembly and IR translation
Verify before relying
- Specific IR translation capabilities and supported architectures beyond what SLEIGH provides.
- Performance characteristics and scalability for large binaries.
- Integration depth and API stability with angr's symbolic execution framework.
Package facts
| License | BSD-2-Clause AND Apache-2.0 AND Zlib permissive |
| Python support | Supports the current Python release >=3.12 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 90 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 296,200 / month, #7,902 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: pypcode-4.0.0-cp312-cp312-macosx_10_14_x86_64.whl; pypcode-4.0.0-cp312-cp312-macosx_11_0_arm64.whl; pypcode-4.0.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pypcode-4.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pypcode-4.0.0-cp312-cp312-win_amd64.whl; pypcode-4.0.0-cp313-cp313-macosx_10_14_x86_64.whl; pypcode-4.0.0-cp313-cp313-macosx_11_0_arm64.whl; pypcode-4.0.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pypcode-4.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pypcode-4.0.0-cp313-cp313-win_amd64.whl; pypcode-4.0.0-cp314-cp314-macosx_10_15_x86_64.whl; pypcode-4.0.0-cp314-cp314-macosx_11_0_arm64.whl; pypcode-4.0.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl; pypcode-4.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl; pypcode-4.0.0-cp314-cp314-win_amd64.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 › “ghidra sleigh python binding”
- pypcodepypcode provides machine code disassembly and intermediate…
- pyghidraPyGhidra provides native CPython 3 access to the Ghidra…
- shiboken2Shiboken2 provides Python access to metadata and utilities for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also pyghidra · pyvex · pcodedmp · pyqir · xdis · ethereum-dasm · dncil · qwasm · smda · pyevmasm