Skip to main content

FSM Composer for open-autonomy framework

Project description

Open Autonomy Compose

A framework for working with FSM based ABCI applications

Install

pip3 install open-autonomy-compose

Setup a new service repository

In an empty directory run

compose new --author=AUTHOR

This will scaffold a service repository with all the latest packages and dependencies.

Generate FSM Specification

If you have an ABCI app composition and you want to generate a specification for the same run

compose fsm from-app PATH_TO_ABCI_APP

Perform consistency checks

To peform consistency check on an ABCI app run

compose check PATH_TO_ABCI_APP

Supported consistency checks

  • SyncDB
    • Pre/Post Conditions for round transitions
    • Static analyser for checking if the required updates are being performed or not

Inspect the ABCI App

To inspect the ABCI app run

compose inspect PATH_TO_ABCI_APP

Running this will start an http server, open the URL for HTTP server and you can inspect the ABCI app in the browser

Scaffolding FSMs

Scaffold an empty ABCI application

compose scaffold --abci/--composition NAME

This will create a skill package in the packages/author/skills/ directory.

You can also use a FSM specification to scaffold using --spec flag.

compose scaffold --abci/--composition --spec=specification.yaml NAME

Check examples/specifications folder for examples.

Development

  • Ensure your machine satisfies the following requirements:

  • Clone the repository:

    git clone git@github.com:valory-xyz/open-autonomy-compose.git
    
  • Create a development environment

    poetry install
    
  • Launch poetry shell in start developing

    poetry shell
    

Cite

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

@misc{open-autonomy-compose,
  Author = {Viraj Patel},
  Title = {Open Autonomy Compose},
  Year = {2023},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_autonomy_compose-0.1.1.tar.gz (503.4 kB view details)

Uploaded Source

Built Distribution

open_autonomy_compose-0.1.1-py3-none-any.whl (540.8 kB view details)

Uploaded Python 3

File details

Details for the file open_autonomy_compose-0.1.1.tar.gz.

File metadata

  • Download URL: open_autonomy_compose-0.1.1.tar.gz
  • Upload date:
  • Size: 503.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.5

File hashes

Hashes for open_autonomy_compose-0.1.1.tar.gz
Algorithm Hash digest
SHA256 528d3411b75dc331fd024cd6bf6b2a80ceb2491957cf3c27f724166281af2d44
MD5 c264482dd54dbe78d9e6872df9b89464
BLAKE2b-256 096b5a511c534eb448591e5ff742291d9b315f988a1e6e979e5cf3dfacb7272b

See more details on using hashes here.

File details

Details for the file open_autonomy_compose-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for open_autonomy_compose-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fb12ef02ab9e7b2f59f8f37e8cb9b242a3b6ba1443c5a38d12b03045541c7d65
MD5 143a34cc5abd403749fe11fef0464267
BLAKE2b-256 56d1cac29647a2411b23ee58176b0e9b6aa00138b246fb734c2528ee4d1c7e28

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page