Metadata-Version: 2.1
Name: eth-ape
Version: 0.6.1
Summary: Ape Ethereum Framework
Home-page: https://apeworx.io
Author: ApeWorX Ltd.
Author-email: admin@apeworx.io
License: Apache-2.0
Project-URL: Documentation, https://docs.apeworx.io/ape/
Project-URL: Funding, https://gitcoin.co/grants/5958/ape-maintenance-fund
Project-URL: Source, https://github.com/ApeWorX/ape
Project-URL: Tracker, https://github.com/ApeWorX/ape/issues
Project-URL: Twitter, https://twitter.com/ApeFramework
Description: # 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 or later
        - **Windows**: Install Windows Subsystem Linux [(WSL)](https://docs.microsoft.com/en-us/windows/wsl/install) with Python 3.8 or later
        
        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 contianer.
        
        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 it 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](docs/userguides/developing_plugins.md).
        
        ### 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).
        
Keywords: ethereum
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8,<3.11
Description-Content-Type: text/markdown
Provides-Extra: test
Provides-Extra: lint
Provides-Extra: doc
Provides-Extra: release
Provides-Extra: dev
Provides-Extra: recommended-plugins
