Metadata-Version: 2.1
Name: icicle-emu
Version: 0.0.5
Summary: Python bindings for the Icicle emulator.
Home-page: https://github.com/icicle-emu/icicle-python
Project-URL: Bug Tracker, https://github.com/icicle-emu/icicle-python/issues
Classifier: License :: OSI Approved :: Boost Software License 1.0 (BSL-1.0)
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: POSIX
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE

# icicle-python

This project is an easy to use Python wrapper around [icicle-emu](https://github.com/icicle-emu/icicle-emu). You can read more about Icicle in the paper: [Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing](https://arxiv.org/pdf/2301.13346.pdf).

## Installation

You can install the [latest release](https://github.com/icicle-emu/icicle-python/releases) from [PyPI](https://pypi.org/project/icicle-emu):

```
pip -m install icicle-emu
```

## Development

_Note_: You need to install [Rust 1.48](https://rustup.rs) or later to build from source.

Set up a virtual environment:

```shell
python -m venv venv
# macOS/Linux
source venv/bin/activate
# Windows
venv\Scripts\activate.bat
```

Get the dependencies and build:

```shell
pip install -r requirements.txt
python setup.py develop
```
