Skip to content

valory-xyz/open-autonomy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Autonomy Framework

PyPI PyPI - Python Version PyPI - Wheel License Downloads

Sanity checks and tests Codecov flake8 mypy Black mypy

Open Autonomy is a framework for the creation of agent services: off-chain autonomous services which run as a multi-agent-system (MAS) and offer enhanced functionalities on-chain. Agent services expand the range of operations that traditional smart contracts provide, making it possible to execute arbitrarily complex operations (such as machine-learning algorithms). Most importantly, agent services are decentralized, trust-minimized, transparent, and robust.

Get started developing agent services

Read the Open Autonomy documentation to learn more about agent services. Follow the set up and quick start guides to start building your own services.

For developers contributing to the framework: install from source

  • Ensure your machine satisfies the following requirements:

  • Clone the repository:

    git clone [email protected]:valory-xyz/open-autonomy.git
    
  • Pull pre-built images:

    docker pull valory/autonolas-registries:latest
    docker pull valory/acn-node:latest
    docker pull valory/contracts-amm:latest
    docker pull valory/safe-contract-net:latest
    docker pull valory/slow-tendermint-server:0.1.0
    
  • Create and launch a virtual environment. Also, run this during development, every time you need to re-create and launch the virtual environment and update the dependencies:

    make new_env && pipenv shell
    

    ℹ️ Note: we are using atheris in order to perform fuzzy testing. The dependency is not listed in the Pipfile because it is not supported on Windows. If you need to run or implement a fuzzy test, please manually install the dependency. If you are developing on Mac, please follow the extra steps described here.

  • Fetch packages:

    autonomy packages sync --update-packages
    

Cite

If you are using our software in a publication, please consider to cite it with the following BibTex entry:

@misc{open-autonomy,
  Author = {David Minarsch and Marco Favorito and Viraj Patel and Adamantios Zaras and David Vilela Freire and Michiel Karrenbelt and 8baller and Ardian Abazi and Yuri Turchenkov and José Moreira Sánchez},
  Title = {Open Autonomy Framework},
  Year = {2021},
}