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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 528d3411b75dc331fd024cd6bf6b2a80ceb2491957cf3c27f724166281af2d44 |
|
MD5 | c264482dd54dbe78d9e6872df9b89464 |
|
BLAKE2b-256 | 096b5a511c534eb448591e5ff742291d9b315f988a1e6e979e5cf3dfacb7272b |
File details
Details for the file open_autonomy_compose-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: open_autonomy_compose-0.1.1-py3-none-any.whl
- Upload date:
- Size: 540.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb12ef02ab9e7b2f59f8f37e8cb9b242a3b6ba1443c5a38d12b03045541c7d65 |
|
MD5 | 143a34cc5abd403749fe11fef0464267 |
|
BLAKE2b-256 | 56d1cac29647a2411b23ee58176b0e9b6aa00138b246fb734c2528ee4d1c7e28 |