ape-cairo: A compiler plugin for the cairo programming language
Project description
Ape Cairo
Ape compiler plugin around the Cairo language.
Dependencies
- python3 version 3.7 or greater, python3-dev
Installation
via pip
You can install the latest release via pip
:
pip install ape-cairo
via setuptools
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/<PYPI_NAME>.git
cd ape-cairo
python3 setup.py install
Quick Usage
In a project directory where there are .cairo
files in your contracts/
directory, run the compile
command:
ape compile
Configure Dependencies
You can configure dependencies, such as from GitHub
, using your ape-config.yaml
file.
There are two things you need to add:
- Add your dependency to Ape's root
dependencies:
key to trigger downloading and compiling it. - Configure the
ape-cairo
plugin to load that dependency in your project.
For more information on dependencies, see this guide.
Your resulting ape-config.yaml
will look something like:
dependencies:
- name: OpenZeppelinCairo
github: OpenZeppelin/cairo-contracts
version: 0.1.0
contracts_folder: src
cairo:
dependencies:
- OpenZeppelinCairo@0.1.0
NOTE: We are changing the contracts/
folder to be src
for this dependency.
Now, in my contracts/
folder, I can import from openzeppelin
:
from openzeppelin.token.erc20.library import (
ERC20_name,
ERC20_symbol,
ERC20_totalSupply,
ERC20_decimals,
ERC20_balanceOf,
ERC20_allowance,
ERC20_mint,
ERC20_burn,
ERC20_initializer,
ERC20_approve,
ERC20_increaseAllowance,
ERC20_decreaseAllowance,
ERC20_transfer,
ERC20_transferFrom
)
Development
This project is in development and should be considered a beta. Things might not be in their final state and breaking changes may occur. Comments, questions, criticisms and pull requests are welcomed.
License
This project is licensed under the Apache 2.0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ape_cairo-0.3.0a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03087a3d7b645168094ea849ecc82fe636114e266ea848cbfee18466dfbd9199 |
|
MD5 | 7af0e0dee110d19051d5893abf457d1b |
|
BLAKE2b-256 | ccf6ce65c20676818d73cf54d2f4304ed6acd9fa5d9eac0932e5adcc76897f13 |