skillfed

ailment

The angr intermediate language.

ailment v9.2.158 282.9K downloads/30d#8,082 on PyPI33
Permissive license BSD-2-Clause Abandoned released

What it is and what it does

AILment is the intermediate language layer of the angr binary analysis framework. It provides a unified, architecture-agnostic representation of program code and semantics, allowing binary analysis tools to reason about program behavior without being tied to specific CPU instruction sets. The library translates low-level machine code into higher-level IL statements and expressions that can be analyzed, transformed, and reasoned about more easily.

The package is designed as a dependency for angr and related tools that need to work with program semantics at an intermediate level of abstraction. It depends only on typing-extensions and supports Python 3.10 through 3.13. While the repository is now archived and abandoned (no releases for 444 days), the library remains available and may continue to function as a stable dependency if you are already using angr.

Use it for:

  • Building custom binary analysis tools that need a unified IL representation across multiple CPU architectures.
  • Analyzing program semantics without writing architecture-specific code by working with angr's IL abstractions.
  • Extending angr's analysis capabilities with custom IL transformations or analyses.
  • Reverse-engineering or security research that requires cross-platform program representation.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

AILment provides the intermediate language (IL) representation used by the angr binary analysis framework to represent and manipulate program semantics across different CPU architectures.

Yes, if you are already using angr or building tools that depend on it—AILment is a stable, low-friction library with no known vulnerabilities and permissive licensing. No, if you are evaluating it as a standalone tool or for new projects—the abandoned status and 444-day release gap mean no active maintenance or bug fixes. Install only as a transitive dependency or for existing angr-based workflows.

Install

ailment on PyPI

pip

pip install ailment

uv

uv add ailment

poetry

poetry add ailment

Installing ailment

Before you install

Low install friction with a single lightweight dependency. However, the repository is archived and marked abandoned, with no releases for 444 days despite a final commit in May 2025—maintenance is effectively stalled.

License in practice

BSD-2-Clause is permissive and poses no restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install ailment

from ailment.statement import Assignment
from ailment.expression import BinOp

Requires Python 3.10 or later.

Verify before relying

  • Whether the abandoned status affects compatibility with current angr releases or if it remains functional as a stable dependency.
  • Whether the 444-day gap since the last release indicates active maintenance or if the final commit represents only archival cleanup.

Package facts

License BSD-2-Clause (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 1 — typing-extensions
Maintenance abandoned — 444 days since the last release
Last repo commit (repository archived)
First released
Downloads 282,880/month — #8,082 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ailment-9.2.158-py3-none-any.whl

Programming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13

Tags

angr intermediate languagebinary analysis IL representationprogram semantics abstractioncross-architecture code analysisangr IL library
binary-analysisintermediate-language

More Software Development packages