Skip to main content

A collection of tooling to enable open source development of autonomy tools

Project description

Autonomy Dev

Tooling to speed up autonomy development.

Usage

There are a number of useful command tools available.

  • Dev Tooling: linting, formatting and dependency management.

  • Scaffolding: Tooling to auto generate repositories and components.

Create

  • Templated agents for speedy proof of concept and getting started fast.

Scaffolding of Components

Protocols

We provide tools to generate protocols components from specs.

adev create tmp_agent_name -t eightballer/base --force
cd tmp_agent_name
adev scaffold protocol ../specs/protocols/balances.yaml 
aea -s publish --push-missing
...
Starting Auto Dev v0.2.75 ...
Using 32 processes for processing
Setting log level to INFO
Creating agent tmp_agent_name from template eightballer/base
Executing command: ['poetry', 'run', 'autonomy', 'fetch', 'bafybeidohldv57m3jkc33zpgbxukaushmcibmt4ncnsnomd3pvpocxs3ui', '--alias', 'tmp_agent_name']
Command executed successfully.
Agent tmp_agent_name created successfully.
Starting Auto Dev v0.2.75 ...
Using 32 processes for processing
Setting log level to INFO
Read protocol specification: ../specs/protocols/balances.yaml
protolint version 0.50.0(d6a3250)
protolint version 0.50.0(d6a3250)
Updated: /home/eight/Projects/StationsStation/repos/capitalisation_station/tmp_agent_name/protocols/balances/custom_types.py
New protocol scaffolded at /home/eight/Projects/StationsStation/repos/capitalisation_station/tmp_agent_name/protocols/balances

...
# Tests can be run as well;
adev test -p packages/eightballer/protocols/balances
Testing path: `packages/eightballer/protocols/balances/` ⌛
Testing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% -:--:--👌 - packages/eightballer/protocols/balances/
Testing... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:02
Testing completed successfully! 

Contracts

We can scaffold a new contract using the adev scaffold contract command. This will create a new directory with;

  • open-aea contract component
    • open-aea contract component class 🎉
    • open-aea contract component function generation 🚧
    • open-aea contract component test generation 🚧
adev scaffold contract 0xc939df369C0Fc240C975A6dEEEE77d87bCFaC259 beyond_pricer \
      --block-explorer-api-key $BLOCK_EXPLORER_API_KEY \
      --block-explorer-url "https://api-goerli.arbiscan.io"

Installation

pip install autonomy-dev[all]

Release

checkout main
git pull
adev release

Project Status Badges

Code Quality

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

autonomy_dev-0.2.77.tar.gz (336.9 kB view details)

Uploaded Source

Built Distribution

autonomy_dev-0.2.77-py3-none-any.whl (353.7 kB view details)

Uploaded Python 3

File details

Details for the file autonomy_dev-0.2.77.tar.gz.

File metadata

  • Download URL: autonomy_dev-0.2.77.tar.gz
  • Upload date:
  • Size: 336.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for autonomy_dev-0.2.77.tar.gz
Algorithm Hash digest
SHA256 9e87edb6c867aa3a6871f21d9a83ae7dc381d7a536ee5eb2e7bca3511ee6df19
MD5 f1fad35a63d06674919a3ec5f494acb0
BLAKE2b-256 2c234cbf5085ce3d5b0d626c943e30ee7e1d8f12463fff9d498350dbf1b72009

See more details on using hashes here.

File details

Details for the file autonomy_dev-0.2.77-py3-none-any.whl.

File metadata

File hashes

Hashes for autonomy_dev-0.2.77-py3-none-any.whl
Algorithm Hash digest
SHA256 14b65402aa417523a4946a0b7bbda6617c2ce6d505a001d28160aaae1d3d38dd
MD5 58de6a1a1e5d7d80864e68ceca3390bd
BLAKE2b-256 5c1de96aa8685e837ae1849ce32c6c99bf32c892e19fbc1da97b733d8c5b9f0a

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