Metadata-Version: 2.1
Name: hdp-cairo-dev
Version: 0.0.16
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiofiles==23.2.1
Requires-Dist: typeguard==2.13.3
Requires-Dist: protobuf==3.20.3
Requires-Dist: inquirer
Requires-Dist: python-dotenv==1.0.1
Requires-Dist: pysha3
Requires-Dist: web3==7.4.0
Requires-Dist: black
Requires-Dist: poseidon-py
Requires-Dist: trie==3.0.1
Requires-Dist: sympy==1.12.1

# hdp-cairo-dev

The `hdp-cairo-dev` Python package abstracts all necessary Python dependencies and supported custom modules for Cairo1 Sierra files. It provides a convenient setup for a complete cairo-run environment, enabling the execution of the [Herodotus Data Processor (HDP)](https://docs.herodotus.dev/herodotus-docs/developers/herodotus-data-processor-hdp).

To fully utilize the `hdp-cairo-dev` package and run HDP, two additional components are required:

1. **Locate the Compiled HDP Cairo Program**: Ensure the `hdp.json` file is in the directory from which cairo-run is expected to be executed.
2. **Install the `cairo1-run` Rust Binary**: Obtain this from the [`cairo-vm/cairo1-run`](https://github.com/lambdaclass/cairo-vm/tree/main/cairo1-run) repository.

### Package Components:

- **Tools**: This package includes class definitions and functionalities for fetching `Blocks` and `Transactions`, along with a set of utilities for developers.
- **hdp_bootloader**: A fine-tuned implementation of the Cairo0 bootloader for HDP, enabling dynamic loading of Cairo1 bytecode modules. This allows for the definition of aggregate functions in the Cairo1 language.
- **Compiled Cairo1 Modules**: A set of compiled Cairo1 modules used as aggregate functions within the HDP function set.

---

Herodotus Dev Ltd - 2024
