Competition and Agent Frameworks for the Trading Agents Competition
This repository contains submodules. Clone with recursive strategy:
git clone git@github.com:fetchai/agents-tac.git --recursive && cd agents-tac
-
You have followed the steps under 'Dependencies' and 'Preliminaries' below
-
You have entered the virtual environment and launched the script:
pipenv shell python scripts/launch.py
The controller GUI at http://localhost:8097 provides real time insights.
-
You have followed the steps under 'Dependencies' and 'Preliminaries' below
-
In one terminal, you have built the sandbox and then launched it:
cd sandbox && docker-compose build docker-compose up
-
In another terminal, you have entered the virtual environment and connected a template agent to the sandbox:
pipenv shell python templates/v1/basic.py --name my_agent --gui
The sandbox is starting up:
Once agent is connecting and searching for the competition:
The controller GUI at http://localhost:8097 provides real time insights:
- You have had a look at the documentation and are developing your first agent.
The package documentation introduces the key components of the agent and competition frameworks and helps agent developers getting started. This is required reading material if you want to build your own agent.
The framework specification introduces the agent and competition frameworks and discusses the project vision and components. This is complementary reading material.
The simulation provides code to simulate a competition with a population of baseline agents.
The agent templates provide starting points for agent development.
The competition sandbox provides the code to build the docker image to run the competiton.
data
: default folder for storage of the simulation data.docker-images
: submodule to the docker-imagesdocker-tac-develop
: Docker image for the development of TAC related stuff.docs
: the docs for this project.notebooks
: contains jupyter notebooks with exploratory code.proto
: contains the protobuf schema.sandbox
: setup for using Docker compose.simulation
: contains scripts for simulation of the TAC.tac
: the main folder containing the Python package.templates
: template agents.tests
: tests for the package.
-
All python specific dependencies are specified in the Pipfile (and installed via the commands specified in 'Preliminaries').
-
The package requires that you install Docker and the sanbox requires that you in addition install Docker Compose.
-
The project requires oef-search-pluto which can be pulled here:
docker pull fetchai/oef-search:latest
-
Create and launch a virtual environment:
pipenv --python 3.7 && pipenv shell
-
Install the package:
python setup.py install
The following dependency is only relevant if you intend to contribute to the repository:
- the project uses Google Protocol Buffers compiler for message serialization. A guide on how to install it is found here.
The following steps are only relevant if you intend to contribute to the repository. They are not required for agent development.
-
Clear cache
pipenv --clear
-
Install development dependencies:
pipenv install --dev
-
Install package in (development mode):
pip3 install -e .
-
After changes to the protobuf schema run:
python setup.py protoc
-
To run tests (ensure no oef docker containers are running):
tox -e py37
-
To run linters:
tox -e flake8
-
We recommend you use the latest OEF build:
python oef_search_pluto_scripts/launch.py -c ./oef_search_pluto_scripts/launch_config_latest.json
- Detailed documentation of the OEF Python SDK is available here.