Autonomy Dev
Tooling to speed up open-autonomy development.
For detailed instructions please see the Docs.
TLDR
# Install adev
pip install -U "autonomy-dev[all]"
# Make a new agent
adev create author/cool_agent
# Run the new agent
adev run dev author/cool_agent
Requirements
- Python >= 3.10,<3.12
- Poetry >= 1.8.3
- Docker Desktop
Features
- Scaffolding of new repositories, agent, protocols, contracts, connections, skills.
- Linting and formatting tools
- Dependency management tools
- Test suite scaffolding
Creating New Github Projects
We can make an autonomy repo
adev repo scaffold fun_new_hack
cd fun_new_hack
Creating a new Agent
Once we have a new project, we can build new agents from templates
There are a number of templates available and the --help flag will display the available options.
adev create author/cool_agent
By default, we provide a simple server with ping pong via websockets available at localhost:5555
# run the agent and verify the endpoint
adev run author/cool_agent
Creating an Agent Service
Running agents in production requires a service to manage the agent lifecycle. We can convert an agent to a service with the following command.
adev convert agent-to-service author/agent_name author/service_name
Scaffolding of Components
Contracts
We provide tools to scaffold smart contract components from existing deployed contracts. The scaffolding process includes:
- Complete open-aea contract component
- Contract class with auto-generated methods
- Events, Read and Write methods extracted from the contract ABI.
- Type hints and documentation
# Scaffold USDC contract from Base
adev scaffold contract author/usdc \
--address 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 \
--network base
Protocols
Protocols components can be fully scaffolded from a yaml file. The scaffolding process includes:
- Protocol class with auto-generated methods
- Linted and formatted code
- Type hints and documentation
- Test Suite
- Pydantic models for custom types.
adev scaffold protocol auto_dev/data/protocols/examples/balances.yaml
Dependency Management
For projects created with adev, updates to both:
- autonomy packages
- upstream python packages
are automated using as so;
adev deps verify
Release
checkout main
git pull
adev release
Test Coverage
<!-- Pytest Coverage Comment:Begin -->
Name Stmts Miss Cover Missing
--------------------------------------------------------------
auto_dev/__init__.py 0 0 100%
auto_dev/base.py 60 19 68% 66-88
auto_dev/check_dependencies.py 236 236 0% 28-452
auto_dev/cli.py 4 1 75% 9
auto_dev/cli_executor.py 68 36 47% 33-61, 79, 83, 87-89, 92-94, 99-105
auto_dev/constants.py 25 0 100%
auto_dev/enums.py 36 0 100%
auto_dev/exceptions.py 5 0 100%
auto_dev/fmt.py 59 43 27% 16-17, 21-22, 27-45, 50, 60-61, 66-80, 85-97, 102-112
auto_dev/lint.py 7 3 57% 13-27
auto_dev/local_fork.py 52 32 38% 32-33, 37-54, 58-95
auto_dev/test.py 16 13 19% 4, 16-39
auto_dev/utils.py 251 153 39% 76-77, 81, 94-101, 106-151, 167, 180-185, 204-228, 233, 240-242, 247, 252, 257-269, 276-281, 290-293, 298-318, 323-337, 342-348, 370-372, 381, 388-416
--------------------------------------------------------------
TOTAL 819 536 35%
<!-- Pytest Coverage Comment:End -->
Miscillaneous
There are a number of useful command tools available.
-
Dev Tooling: A). linting
adev lintB). formattingadev fmtC). dependency managementadev deps update -
Scaffolding: Tooling to auto generate repositories and components.
Documentation
Running Docs Locally
To run and preview the documentation locally:
# Install mkdocs and required dependencies
pip install mkdocs-material mkdocstrings[python] mkdocs-include-markdown-plugin mkdocs-mermaid2-plugin
# Serve the documentation (available at http://127.0.0.1:8000)
mkdocs serve
This will start a local server and automatically reload when you make changes to the documentation.
Metadata
Release files for autonomy-dev 0.2.161
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| autonomy_dev-0.2.161.tar.gz | 308.6 kB | Without provenance | Details for autonomy_dev-0.2.161.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| autonomy_dev-0.2.161-py3-none-any.whl | Python 3 | none | any | Details for autonomy_dev-0.2.161-py3-none-any.whl |
Total release size: 649.6 kB
Release files / autonomy_dev-0.2.161.tar.gz
| Download URL | autonomy_dev-0.2.161.tar.gz |
|---|---|
| Size | 308.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dbd4461d0ca99b418b5451112c1d02251c418514356aa8c578c82c52e0093774
|
|
BLAKE2b-256 checksum How to use checksums |
22237a9e548eea932cc35d88244c448ed175489cee31e5fcd0bec22406d20cba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / autonomy_dev-0.2.161-py3-none-any.whl
| Download URL | autonomy_dev-0.2.161-py3-none-any.whl |
|---|---|
| Size | 341.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c4caa2310321d90520bd7540b29d32158f120f5f80631a1ce097aa233be4c1b
|
|
BLAKE2b-256 checksum How to use checksums |
1ba93b24dd08ec7f3393170a60873926236a62141bb5c6052ca8309df4ef1350
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for autonomy-dev 0.2.161
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.