--- id: keystone-engine version: "0.9.2" license: unclear license_treatment: permissive maintenance: abandoned --- # keystone-engine — Keystone assembler engine License: permissive · Maintenance: abandoned · Downloads: 181.4K/mo ## 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 above — 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 pip install keystone-engine uv add keystone-engine poetry add keystone-engine ## Installing 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: unspecified - Install friction: medium - Maintenance: abandoned - Downloads: 181.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags multi-architecture assembler, assembly to machine code, cross-platform assembler framework, arm x86 mips assembler, bytecode generation assembler, assembler, multi-architecture, abandoned [View on SkillFed](https://skillfed.io/packages/keystone-engine) · [View on PyPI](https://pypi.org/project/keystone-engine/)