eth-ape


Nameeth-ape JSON
Version 0.6.10 PyPI version JSON
download
home_pagehttps://apeworx.io
SummaryApe Ethereum Framework
upload_time2023-05-25 21:44:42
maintainer
docs_urlNone
authorApeWorX Ltd.
requires_python>=3.8,<4
licenseApache-2.0
keywords ethereum
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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](https://www.apeworx.io/).

Join our [ApeWorX Discord server](https://discord.gg/apeworx) 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](#playing-with-ape).

## Documentation

Read our [technical documentation](https://docs.apeworx.io/ape/stable/) to get a deeper understanding of our open source Framework.

Read our [academic platform](https://academy.apeworx.io/) will help you master Ape Framework with tutorials and challenges.

## Prerequisite

In the latest release, Ape requires:

- Linux or macOS
- Python 3.8 up to 3.11
- **Windows**: Install Windows Subsystem Linux [(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install)

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:

- We advise installing in a [virtualenv](https://pypi.org/project/virtualenv/) or [venv](https://docs.python.org/3/library/venv.html) 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](https://formulae.brew.sh/formula/virtualenv).

### via `pipx` or `pip`

1. Install `pipx` via their [installation instructions](https://pypa.github.io/pipx/) or `pip` via their [installation instructions](https://pip.pypa.io/en/stable/cli/pip_install/).

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

### via `docker`

Ape can also run in a docker container.

Please visit our [Dockerhub](https://hub.docker.com/repository/docker/apeworx/ape) for more details on using Ape with Docker.

```bash
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 \
--workdir /home/harambe/project \
apeworx/ape compile
```

## Playing with Ape

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:

- [CLI Reference](https://docs.apeworx.io/ape/latest/index.html)

- [Python Reference](https://docs.apeworx.io/ape/latest/index.html)

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.

## **Ape Modular Plugin System:**

Our [list of plugins](https://www.apeworx.io/#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](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.

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](https://docs.apeworx.io/ape/stable/userguides/installing_plugins.html).

- Learn more about **developing** your own plugins from this [developing user guide](https://docs.apeworx.io/ape/stable/userguides/developing_plugins.html).

### Accounts

In Ape, you will need accounts to make transactions.
You can import or generate accounts using the core `accounts` plugin:

```bash
ape accounts import acc0   # Will prompt for a private key
ape accounts generate acc1
```

List all your accounts with the `list` command.

```bash
ape accounts list
```

Learn more about accounts in Ape by following the [accounts guide](https://docs.apeworx.io/ape/stable/userguides/accounts.html).

### Plugins

Add any plugins you may need, such as `vyper`.

```bash
ape plugins list -a
ape plugins install vyper
ape plugins list -a
```

## Projects

When using Ape, you generally will work with a project.

Learn more about smart-contract **projects** from this [projects guide](https://docs.apeworx.io/ape/stable/userguides/projects.html).

### Compiling

You can compile contracts within the `contracts/` directory of your project.
The `--size` option will display you the size of the contract.

```bash
ape compile --size
```

Learn more about compiling in Ape by following the [compile guide](https://docs.apeworx.io/ape/stable/userguides/compile.html).

### Testing

Use Ape to test your smart-contract projects.
Provide the same arguments to `pytest` as you would to the `ape test` command.

For example:

```bash
ape test -k test_only_one_thing
```

Visit the [testing guide](https://docs.apeworx.io/ape/stable/userguides/testing.html) to learn more about testing using Ape.

### Console

Ape provides an `IPython` interactive console with useful pre-defined locals to interact with your project.
To interact with a deployed contract in a local environment, start by opening the console:

```bash
ape console --network ethereum:mainnet:infura
```

Visit [Ape Console](https://docs.apeworx.io/ape/stable/commands/console.html) to learn how to use Ape Console.

### Scripts

If you want to run specific files in a `scripts/` directory, you can do it using the `ape run` command.

```bash
# This command will run a file named deploy in the scripts/ directory
$ ape run deploy
```

Learn more about scripting using Ape by following the [scripting guide](https://docs.apeworx.io/ape/stable/userguides/scripts.html).

### Logging

To enable debug logging, run your command with the `--verbosity` flag using `DEBUG` as the value:

```bash
ape --verbosity DEBUG run
```

### Networks

You can work with registered networks, providers, and blockchain ecosystems (like Ethereum):

```python
from ape import networks
with networks.ethereum.mainnet.use_provider("infura"):
    ...  # Work with the infura provider here
```

To learn more about networks in Ape, see [this guide](https://docs.apeworx.io/ape/stable/commands/networks.html).

            

Raw data

            {
    "_id": null,
    "home_page": "https://apeworx.io",
    "name": "eth-ape",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4",
    "maintainer_email": "",
    "keywords": "ethereum",
    "author": "ApeWorX Ltd.",
    "author_email": "admin@apeworx.io",
    "download_url": "https://files.pythonhosted.org/packages/22/53/e7d8ca9dd1d1c1f24c7f96818d7e4b47b359164d3e4356d81ac7107777a9/eth-ape-0.6.10.tar.gz",
    "platform": null,
    "description": "# Overview\n\n**Ape Framework** is an easy-to-use Web3 development tool.\nUsers can compile, test, and interact with smart contracts all in one command line session.\nWith our **modular plugin system**, Ape supports multiple contract languages and chains.\n\nApe is built by [ApeWorX LTD](https://www.apeworx.io/).\n\nJoin our [ApeWorX Discord server](https://discord.gg/apeworx) to stay up to date on new releases, plugins and tutorials.\n\nIf you want to just get started, jump down to the [Playing with Ape](#playing-with-ape).\n\n## Documentation\n\nRead our [technical documentation](https://docs.apeworx.io/ape/stable/) to get a deeper understanding of our open source Framework.\n\nRead our [academic platform](https://academy.apeworx.io/) will help you master Ape Framework with tutorials and challenges.\n\n## Prerequisite\n\nIn the latest release, Ape requires:\n\n- Linux or macOS\n- Python 3.8 up to 3.11\n- **Windows**: Install Windows Subsystem Linux [(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install)\n\nCheck your python version in a terminal with `python3 --version`.\n\n## Installation\n\nThere are three ways to install ape: `pipx`, `pip`, or `Docker`.\n\n### Considerations for Installing:\n\n- We advise installing in a [virtualenv](https://pypi.org/project/virtualenv/) or [venv](https://docs.python.org/3/library/venv.html) to avoid interfering with *OS-level site packages*.\n\n- We advise installing **`ape`** with recommended plugins `pip install eth-ape'[recommended-plugins]'`.\n\n- We advise for **macOS** users to install virtual env via [homebrew](https://formulae.brew.sh/formula/virtualenv).\n\n### via `pipx` or `pip`\n\n1. Install `pipx` via their [installation instructions](https://pypa.github.io/pipx/) or `pip` via their [installation instructions](https://pip.pypa.io/en/stable/cli/pip_install/).\n\n2. Install **`ape`** via `pipx install eth-ape` or `pip install eth-ape`.\n\n### via `docker`\n\nApe can also run in a docker container.\n\nPlease visit our [Dockerhub](https://hub.docker.com/repository/docker/apeworx/ape) for more details on using Ape with Docker.\n\n```bash\ndocker run \\\n--volume $HOME/.ape:/home/harambe/.ape \\\n--volume $HOME/.vvm:/home/harambe/.vvm \\\n--volume $HOME/.solcx:/home/harambe/.solcx \\\n--volume $PWD:/home/harambe/project \\\n--workdir /home/harambe/project \\\napeworx/ape compile\n```\n\n## Playing with Ape\n\nAfter you installed Ape, you can run `ape --version` to make sure it works and is the latest version.\n\nThere are two ways to interact with Ape:\n\n- [CLI Reference](https://docs.apeworx.io/ape/latest/index.html)\n\n- [Python Reference](https://docs.apeworx.io/ape/latest/index.html)\n\nApe is both a CLI tool and a Python SDK.\n\nThe CLI tool contains all the Ape commands and the Python SDK contains the classes and types needed to compose scripts, console actions, and tests.\n\n## **Ape Modular Plugin System:**\n\nOur [list of plugins](https://www.apeworx.io/#plugins) is the best way to have the most interoperable experience with Web3.\n\n**NOTE**: 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.\n\nInstall 3rd party plugins at your own risk.\n\nAdditionally, plugins that come bundled with **`ape`** in the core installation cannot be removed and are part of the **`ape`** core software.\n\n- Learn more about **installing** plugins from following this [installing user guide](https://docs.apeworx.io/ape/stable/userguides/installing_plugins.html).\n\n- Learn more about **developing** your own plugins from this [developing user guide](https://docs.apeworx.io/ape/stable/userguides/developing_plugins.html).\n\n### Accounts\n\nIn Ape, you will need accounts to make transactions.\nYou can import or generate accounts using the core `accounts` plugin:\n\n```bash\nape accounts import acc0   # Will prompt for a private key\nape accounts generate acc1\n```\n\nList all your accounts with the `list` command.\n\n```bash\nape accounts list\n```\n\nLearn more about accounts in Ape by following the [accounts guide](https://docs.apeworx.io/ape/stable/userguides/accounts.html).\n\n### Plugins\n\nAdd any plugins you may need, such as `vyper`.\n\n```bash\nape plugins list -a\nape plugins install vyper\nape plugins list -a\n```\n\n## Projects\n\nWhen using Ape, you generally will work with a project.\n\nLearn more about smart-contract **projects** from this [projects guide](https://docs.apeworx.io/ape/stable/userguides/projects.html).\n\n### Compiling\n\nYou can compile contracts within the `contracts/` directory of your project.\nThe `--size` option will display you the size of the contract.\n\n```bash\nape compile --size\n```\n\nLearn more about compiling in Ape by following the [compile guide](https://docs.apeworx.io/ape/stable/userguides/compile.html).\n\n### Testing\n\nUse Ape to test your smart-contract projects.\nProvide the same arguments to `pytest` as you would to the `ape test` command.\n\nFor example:\n\n```bash\nape test -k test_only_one_thing\n```\n\nVisit the [testing guide](https://docs.apeworx.io/ape/stable/userguides/testing.html) to learn more about testing using Ape.\n\n### Console\n\nApe provides an `IPython` interactive console with useful pre-defined locals to interact with your project.\nTo interact with a deployed contract in a local environment, start by opening the console:\n\n```bash\nape console --network ethereum:mainnet:infura\n```\n\nVisit [Ape Console](https://docs.apeworx.io/ape/stable/commands/console.html) to learn how to use Ape Console.\n\n### Scripts\n\nIf you want to run specific files in a `scripts/` directory, you can do it using the `ape run` command.\n\n```bash\n# This command will run a file named deploy in the scripts/ directory\n$ ape run deploy\n```\n\nLearn more about scripting using Ape by following the [scripting guide](https://docs.apeworx.io/ape/stable/userguides/scripts.html).\n\n### Logging\n\nTo enable debug logging, run your command with the `--verbosity` flag using `DEBUG` as the value:\n\n```bash\nape --verbosity DEBUG run\n```\n\n### Networks\n\nYou can work with registered networks, providers, and blockchain ecosystems (like Ethereum):\n\n```python\nfrom ape import networks\nwith networks.ethereum.mainnet.use_provider(\"infura\"):\n    ...  # Work with the infura provider here\n```\n\nTo learn more about networks in Ape, see [this guide](https://docs.apeworx.io/ape/stable/commands/networks.html).\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Ape Ethereum Framework",
    "version": "0.6.10",
    "project_urls": {
        "Documentation": "https://docs.apeworx.io/ape/",
        "Funding": "https://gitcoin.co/grants/5958/ape-maintenance-fund",
        "Homepage": "https://apeworx.io",
        "Source": "https://github.com/ApeWorX/ape",
        "Tracker": "https://github.com/ApeWorX/ape/issues",
        "Twitter": "https://twitter.com/ApeFramework"
    },
    "split_keywords": [
        "ethereum"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8f6595a92ad55728fdb68c5a8a2f4f79efdc7df02ee3dd54366661bca3c2b2d5",
                "md5": "bc30be76031b044edd8ed80e78fdfcea",
                "sha256": "c7153620a840fee054aabdfe2ccd49c9f33cb300b63879dadc9191bf1847774f"
            },
            "downloads": -1,
            "filename": "eth_ape-0.6.10-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc30be76031b044edd8ed80e78fdfcea",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4",
            "size": 239156,
            "upload_time": "2023-05-25T21:44:40",
            "upload_time_iso_8601": "2023-05-25T21:44:40.814206Z",
            "url": "https://files.pythonhosted.org/packages/8f/65/95a92ad55728fdb68c5a8a2f4f79efdc7df02ee3dd54366661bca3c2b2d5/eth_ape-0.6.10-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2253e7d8ca9dd1d1c1f24c7f96818d7e4b47b359164d3e4356d81ac7107777a9",
                "md5": "d89e865f69fe43e1174c80ced5f769ae",
                "sha256": "b1cc962ab330bafbe2a1f8dd63d06f91d1d51c46f148c16388a7bc782a7f9d57"
            },
            "downloads": -1,
            "filename": "eth-ape-0.6.10.tar.gz",
            "has_sig": false,
            "md5_digest": "d89e865f69fe43e1174c80ced5f769ae",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4",
            "size": 1085124,
            "upload_time": "2023-05-25T21:44:42",
            "upload_time_iso_8601": "2023-05-25T21:44:42.855464Z",
            "url": "https://files.pythonhosted.org/packages/22/53/e7d8ca9dd1d1c1f24c7f96818d7e4b47b359164d3e4356d81ac7107777a9/eth-ape-0.6.10.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-25 21:44:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ApeWorX",
    "github_project": "ape",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "eth-ape"
}
        
Elapsed time: 0.10814s