ailment
The angr intermediate language.
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 ailmentuv
uv add ailmentpoetry
poetry add ailmentInstalling 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
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
angrangr is a binary analysis framework that…
permissive · top 5,000 on PyPI
archinfoProvides architecture-specific metadata and…
permissive · top 5,000 on PyPI
nvidia-cuda-tileirasProvides a portable intermediate representation…
unclear · top 5,000 on PyPI
bfiA pure-Python interpreter for Brainfuck that…
permissive · top 15,000 on PyPI
dncildncil is a Python library for disassembling…
permissive · top 15,000 on PyPI
claripyClaripy is an abstraction layer for constraint…
permissive · top 5,000 on PyPI
cleCLE loads binary executables and shared…
permissive · top 5,000 on PyPI
pyvexPyVEX provides Python bindings to libVEX,…
copyleft · top 15,000 on PyPI
xdslxDSL is a Python framework for building…
permissive · top 15,000 on PyPI
angr-dataProvides bundled data files—function and type…
permissive · top 15,000 on PyPI