Ape Framework is an easy-to-use Web3 development tool. Users can compile, test, and interact with smart contracts all in one command line session. With our modular plugin system, Ape supports multiple contract languages and chains.
Ape is built by ApeWorX LTD.
Join our ApeWorX Discord server to stay up to date on new releases, plugins and tutorials.
If you want to just get started, jump down to the Playing with Ape.
Read our technical documentation to get a deeper understanding of our open source Framework.
Read our academic platform will help you master Ape Framework with tutorials and challenges.
In the latest release, Ape requires:
- Linux or macOS
- Python 3.8 up to 3.11
- Windows: Install Windows Subsystem Linux (WSL)
Check your python version in a terminal with python3 --version
.
There are three ways to install ape: pipx
, pip
, or Docker
.
-
If using
pip
, we advise using the most up-to-date version ofpip
to increase the chance of a successful installation.- See issue ApeWorX#1558.
- To upgrade
pip
from the command line, run:pip install --upgrade pip
.
-
We advise installing in a virtualenv or venv to avoid interfering with OS-level site packages.
-
We advise installing
ape
with recommended pluginspip install eth-ape'[recommended-plugins]'
. -
We advise for macOS users to install virtual env via homebrew.
-
Install
pipx
via their installation instructions orpip
via their installation instructions. -
Install
ape
viapipx install eth-ape
orpip install eth-ape
.
Ape can also run in a docker container.
Please visit our Dockerhub for more details on using Ape with Docker.
docker run \
--volume $HOME/.ape:/home/harambe/.ape \
--volume $HOME/.vvm:/home/harambe/.vvm \
--volume $HOME/.solcx:/home/harambe/.solcx \
--volume $PWD:/home/harambe/project \
apeworx/ape compile
After you installed Ape, you can run ape --version
to make sure it works and is the latest version.
There are two ways to interact with Ape:
Ape is both a CLI tool and a Python SDK.
The CLI tool contains all the Ape commands and the Python SDK contains the classes and types needed to compose scripts, console actions, and tests.
Our list of plugins is the best way to have the most interoperable experience with Web3.
NOTE: If a plugin does not originate from the ApeWorX GitHub Organization, you will get a warning about installing 3rd-party plugins.
Install 3rd party plugins at your own risk.
Additionally, plugins that come bundled with ape
in the core installation cannot be removed and are part of the ape
core software.
-
Learn more about installing plugins from following this installing user guide.
-
Learn more about developing your own plugins from this developing user guide.
In Ape, you will need accounts to make transactions.
You can import or generate accounts using the core accounts
plugin:
ape accounts import acc0 # Will prompt for a private key
ape accounts generate acc1
List all your accounts with the list
command.
ape accounts list
Learn more about accounts in Ape by following the accounts guide.