mirror of
https://github.com/icicle-emu/icicle-python
synced 2026-06-21 13:53:41 +00:00
ba5d00218cab007be3ace4965c6d9ea1b28128a7
icicle-python
This project is an easy-to-use Python wrapper around icicle-emu. You can read more about Icicle in the paper: Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing.
Installation
You can install the latest release from PyPI:
pip install icicle-emu
Development
Note: You need to install Rust 1.90 or higher to build from source.
Install uv
# On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# On macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Build the project
# Clone the repository with submodules
git clone --recursive https://github.com/icicle-emu/icicle-python
cd icicle-python
# Install dependencies and build
uv sync
uv run maturin develop
Running tests
The tests folder contains tests that double as standalone examples. Prefix a function with test_ to automatically run it:
uv run pytest -v
Alternatively you can uv run tests/example.py to run/debug the standalone example.
Building a wheel
uv build
Languages
Rust
68.9%
Python
31.1%