/ape

The smart contract development tool for Pythonistas, Data Scientists, and Security Professionals

Primary LanguagePythonApache License 2.0Apache-2.0

Pypi.org Apache licensed Build Status Discord chat Twitter

Overview

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 get started now, see the Quickstart section.

Documentation

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.

Prerequisite

In the latest release, Ape requires:

  • Linux or macOS
  • Python 3.9 up to 3.12
  • Windows: Install Windows Subsystem Linux (WSL)

Check your python version in a terminal with python3 --version.

Installation

There are three ways to install ape: pipx, pip, or Docker.

Considerations for Installing

  • If using pip, we advise using the most up-to-date version of pip 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 plugins pip install eth-ape'[recommended-plugins]'.

  • We advise for macOS users to install virtual env via homebrew.

Installing with pipx or pip

  1. Install pipx via their installation instructions or pip via their installation instructions.

  2. Install ape via pipx install eth-ape or pip install eth-ape.

Installing with docker

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

Quickstart

After you have installed Ape, run ape --version to verify the installation was successful.

Interact with Ape using either the CLI or Python code.

See the following user-guides for more in-depth tutorials:

Plugin System

Ape's modular plugin system allows users to have an interoperable experience with Web3.

If a plugin does not originate from the [ApeWorX GitHub Organization](https://github.com/ApeWorX?q=ape&type=all), you will get a warning about installing 3rd-party plugins.
Install 3rd party plugins at your own risk.