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.78.tar.gz (338.6 kB view details)

Uploaded Source

Built Distribution

autonomy_dev-0.2.78-py3-none-any.whl (355.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: autonomy_dev-0.2.78.tar.gz
  • Upload date:
  • Size: 338.6 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.78.tar.gz
Algorithm Hash digest
SHA256 8f10c1a3302b7efde3090e3e0f8327166543ca3eeb7a335a09b863adb9a83720
MD5 8781214050a752f4640f701498670dbe
BLAKE2b-256 e2eef63d0d7fe9d69bc6d60faf33b9bf247ecb60d1917328dabadb04ab7703cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for autonomy_dev-0.2.78-py3-none-any.whl
Algorithm Hash digest
SHA256 0825701b089ffd0f2058d316c9498d493ef8d3f587443f27d3b9af634c41cdad
MD5 5069f41ffbcd1e8003196589926bbf94
BLAKE2b-256 19a185472ab172ffaed895abb75532ea52582a224443005c0d10a91c6c891d5c

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