The AEA framework can be used on
- You need Python 3.8, 3.9 or 3.10 on your system.
GCC installation is also required:
Ubuntu/Debian: install Python headers, depending on the Python version you have installed on your machine. For example for Python 3.8:
Windows: install tools for Visual Studio.
Alternatively: Use Docker¶
We also provide a Docker image with all the needed dependencies.
Pull the image:
Run the image with your current local directory mounted as a docker volume. This allows you to keep your agents local while working on them from within the docker container:
Once successfully logged into the docker container, you can follow the rest of the guide the same way as if not using docker.
For Agent Development¶
Create a new working directory. Let's call it
my_aea_projects. This is where you will create your agent projects.
my_aea_projects, add an empty directory called
packages. This is a local registry for your agents' components.
You should now have the following directory structure:
Alternatively, clone a template repo:
Instead of the above, you can clone the template repo as described in
Approach 1 in the development setup guide.
Unless you are using the docker image, we highly recommend using a virtual environment so that your setup is isolated from the rest of your system. This prevents clashes and ensures consistency across dependencies.
You can use any common virtual environment manager for Python, such as
poetry. If you do not have either, install one.
Once installed, create a new virtual environment in the
my_aea_projects directory and enter it:
Use any Python version supported in the command:
The latest version of the Python implementation of the AEA Framework is:
If you are upgrading your AEA project from a previous version of the AEA framework, make sure you check out the upgrading notes.
Install the AEA framework using pip:
To ensure no cache is used, add
--force --no-cache-dir to the installation command.
Install the AEA framework using pipx:
For Contributing to the AEA Framework¶
To contribute to the development of the framework or related tools (e.g. ACN), please refer to the Contribution and Development guides in our GitHub repository.
Other Tools You Might Need¶
Depending on what you want to do, you might need extra tools on your system:
- To use the Agent Communication Network (ACN) for peer-to-peer communication between agents (e.g. using the
fetchai/p2p_libp2pconnection) you will need Golang 1.14.2 or higher.
- The framework uses Google Protocol Buffers for message serialization. If you want to develop protocols, install the protobuf compiler on your system. The version you install must match the
protobuflibrary installed with the project (see pyproject.toml).
- To update fingerprint hashes of packages, you will need the IPFS daemon.