keystone-engine
Keystone assembler engine
What it is and what it does
Keystone is a multi-platform assembler framework that converts assembly language into machine code for a wide range of CPU architectures. It provides a simple, architecture-neutral API and is implemented in C/C++ with Python bindings, making it suitable for tools that need to generate or analyze machine code across different processors.
The package is thread-safe and supports Arm, Arm64, Ethereum Virtual Machine, Hexagon, Mips, PowerPC, Sparc, SystemZ, and X86 (16/32/64-bit variants). However, the project is no longer maintained—the last release was in 2020—so users should expect no bug fixes, security patches, or compatibility updates for newer Python or operating system versions.
Use it for:
- Generate machine code for reverse-engineering tools or binary analysis frameworks that need to assemble instructions across multiple architectures.
- Build emulators or virtual machines that require dynamic code generation for different CPU instruction sets.
- Create security research tools that analyze or synthesize assembly code for different processors.
- Develop compiler backends or code generation utilities that target multiple architectures from a single codebase.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Keystone is a lightweight assembler framework that translates assembly code into machine instructions across multiple CPU architectures including Arm, Arm64, Mips, PowerPC, Sparc, SystemZ, X86, and others.
No, unless you have a specific legacy project already using it. The package is abandoned (last release 2020-06-21) with no maintenance or security updates. GPLv2 licensing also restricts commercial use unless you purchase a separate license. For new projects, consider actively maintained alternatives.
Install
keystone-engine on PyPI
pip
pip install keystone-engineuv
uv add keystone-enginepoetry
poetry add keystone-engineInstalling keystone-engine
Before you install
Medium install friction due to binary wheels for multiple platforms (macOS, Linux, Windows, 32/64-bit). However, the package is abandoned—last release was 2020-06-21, over 2245 days ago—so no maintenance or security updates are forthcoming.
License in practice
Licensed under GPLv2 (without 'any later version' clause) or a commercial license. GPLv2 requires derivative works to be open source; commercial use in production requires purchasing a separate license from the authors.
Quickstart
from keystone import Ks, KS_ARCH_X86, KS_MODE_32
ks = Ks(KS_ARCH_X86, KS_MODE_32)
encoding, count = ks.asm("mov eax, ebx")
print(encoding)
Requires the native Keystone C library to be installed on the system; pre-built wheels are provided for common platforms but may not work on all architectures or systems.
Verify before relying
- Whether the package works reliably on modern Python versions given its abandonment status.
- Whether pre-built wheels are still compatible with current operating system versions.
- Whether the GPLv2 license restriction applies to your use case or if a commercial license is needed.
Package facts
| License | not declared (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 2,245 days since the last release |
| First released | |
| Downloads | 181,360/month — #10,127 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: keystone_engine-0.9.2-py2.py3-none-macosx_10_14_x86_64.whl; keystone_engine-0.9.2-py2.py3-none-manylinux1_i686.whl; keystone_engine-0.9.2-py2.py3-none-manylinux1_x86_64.whl; keystone_engine-0.9.2-py2.py3-none-win32.whl; keystone_engine-0.9.2-py2.py3-none-win_amd64.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
capstoneCapstone is a disassembly engine that decodes…
permissive · top 5,000 on PyPI
unicornUnicorn is a Python binding for a lightweight…
permissive · top 5,000 on PyPI
pyevmasmpyevmasm assembles and disassembles Ethereum…
permissive · top 15,000 on PyPI
vllm-cpuvllm-cpu provides CPU-optimized inference for…
permissive · top 15,000 on PyPI
keystonemiddlewareProvides authentication and authorization…
permissive · top 15,000 on PyPI
keystoneOpenStack Keystone provides authentication,…
permissive · top 15,000 on PyPI
ropperRopper displays binary file metadata and…
permissive · top 15,000 on PyPI
mnnMNN is a lightweight deep learning inference…
permissive · top 15,000 on PyPI
python-keystoneclientPython client library for authenticating with…
permissive · top 5,000 on PyPI
akracerAKRacer provides precompiled dynamic libraries…
permissive · top 5,000 on PyPI