Skip to content

Commit

Permalink
Merge pull request #2062 from fetchai/feature/0.8.0
Browse files Browse the repository at this point in the history
AEA-1171 Feature/0.8.0
  • Loading branch information
DavidMinarsch authored Dec 16, 2020
2 parents 12e1223 + c3665ef commit 80cf59d
Show file tree
Hide file tree
Showing 344 changed files with 4,074 additions and 2,205 deletions.
26 changes: 26 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Release History

## 0.8.0 (2020-12-17)

- Adds support for protocol dialogue rules validation
- Fixes url forwarding in http server connection
- Revises protocols to correctly define terminal states
- Adds a build command
- Adds build command support for libp2p connection
- Adds multiple fixes to libp2p connection
- Adds prometheus connection and protocol
- Adds tests for confirmation AW1 skill
- Adds oracle demo docs
- Replaces pickle with protobuf in all protocols
- Refactors oef models to account for semantic irregularities
- Updates docs for demos relying on Ganache
- Adds generic storage support
- Adds configurable dialogue offloading
- Fixes transaction generation on confirmation bugs
- Fixes transaction processing order in all buyer skills
- Extends ledger api protocol to query ledger state
- Adds remove-key command in CLI
- Multiple tac stability fixes
- Adds support for configurable error handler
- Multiple additional tests to improve stability
- Multiple docs updates based on user feedback
- Multiple additional tests and test stability fixes

## 0.7.5 (2020-11-25)

- Adds AW3 AEAs
Expand Down
2 changes: 1 addition & 1 deletion aea/__version__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
__title__ = "aea"
__description__ = "Autonomous Economic Agent framework"
__url__ = "https://github.com/fetchai/agents-aea.git"
__version__ = "0.7.5"
__version__ = "0.8.0"
__author__ = "Fetch.AI Limited"
__license__ = "Apache-2.0"
__copyright__ = "2019 Fetch.AI Limited"
2 changes: 1 addition & 1 deletion aea/connections/scaffold/connection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ type: connection
description: The scaffold connection provides a scaffold for a connection to be implemented
by the developer.
license: Apache-2.0
aea_version: '>=0.7.0, <0.8.0'
aea_version: '>=0.8.0, <0.9.0'
fingerprint:
__init__.py: QmZvYZ5ECcWwqiNGh8qNTg735wu51HqaLxTSifUxkQ4KGj
connection.py: QmcSunS5gm2sxatq52AEhywtr3f2LaLqnK1xmdxwM7qZ2b
Expand Down
2 changes: 1 addition & 1 deletion aea/contracts/scaffold/contract.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version: 0.1.0
type: contract
description: The scaffold contract scaffolds a contract to be implemented by the developer.
license: Apache-2.0
aea_version: '>=0.7.0, <0.8.0'
aea_version: '>=0.8.0, <0.9.0'
fingerprint:
__init__.py: QmPBwWhEg3wcH1q9612srZYAYdANVdWLDFWKs7TviZmVj6
contract.py: QmQ8tVoA33z1Tg6KjsGuk3KUeu21ygntr8TCTFmVc2JqwT
Expand Down
2 changes: 1 addition & 1 deletion aea/protocols/scaffold/protocol.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version: 0.1.0
type: protocol
description: The scaffold protocol scaffolds a protocol to be implemented by the developer.
license: Apache-2.0
aea_version: '>=0.7.0, <0.8.0'
aea_version: '>=0.8.0, <0.9.0'
fingerprint:
__init__.py: Qmc9Ln8THrWmwou4nr3Acag7vcZ1fv8v5oRSkCWtv1aH6t
message.py: QmWPrVTSHeKANCaVA4VaQyMGLix7yiMALbytsKZppAG2VU
Expand Down
2 changes: 1 addition & 1 deletion aea/skills/scaffold/skill.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version: 0.1.0
type: skill
description: The scaffold skill is a scaffold for your own skill implementation.
license: Apache-2.0
aea_version: '>=0.7.0, <0.8.0'
aea_version: '>=0.8.0, <0.9.0'
fingerprint:
__init__.py: QmYRssFqDqb3uWDvfoXy93avisjKRx2yf9SbAQXnkRj1QB
behaviours.py: QmNgDDAmBzWBeBF7e5gUCny38kdqVVfpvHGaAZVZcMtm9Q
Expand Down
2 changes: 1 addition & 1 deletion benchmark/run_from_branch.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ pip install pipenv
# this is to install benchmark dependencies
pipenv install --dev --skip-lock
# this is to install the AEA in the Pipenv virtual env
pipenv run pip install --upgrade aea[all]=="0.7.5"
pipenv run pip install --upgrade aea[all]=="0.8.0"

chmod +x benchmark/checks/run_benchmark.sh
echo "Start the experiments."
Expand Down
2 changes: 1 addition & 1 deletion deploy-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ ENV PYTHONPATH "$PYTHONPATH:/usr/lib/python3.7/site-packages"
RUN apk add --no-cache go

RUN pip install --upgrade pip
RUN pip install --upgrade --force-reinstall aea[all]==0.7.5
RUN pip install --upgrade --force-reinstall aea[all]==0.8.0

# COPY ./packages /home/packages # enable to add packages dir
WORKDIR home
Expand Down
2 changes: 1 addition & 1 deletion deploy-image/docker-env.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# Swap the following lines if you want to work with 'latest'
DOCKER_IMAGE_TAG=fetchai/aea-deploy:0.7.5
DOCKER_IMAGE_TAG=fetchai/aea-deploy:0.8.0
# DOCKER_IMAGE_TAG=fetchai/aea-deploy:latest

DOCKER_BUILD_CONTEXT_DIR=..
Expand Down
2 changes: 1 addition & 1 deletion develop-image/docker-env.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

# Swap the following lines if you want to work with 'latest'
DOCKER_IMAGE_TAG=fetchai/aea-develop:0.7.5
DOCKER_IMAGE_TAG=fetchai/aea-develop:0.8.0
# DOCKER_IMAGE_TAG=aea-develop:latest

DOCKER_BUILD_CONTEXT_DIR=..
Expand Down
4 changes: 2 additions & 2 deletions docs/agent-vs-aea.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ We run the agent from a different thread so that we can still use the main threa
We use the input and output text files to send an envelope to our agent and receive a response
``` python
# Create a message inside an envelope and get the stub connection to pass it into the agent
message_text = b"my_agent,other_agent,fetchai/default:0.9.0,\x12\r\x08\x01*\t*\x07\n\x05hello,"
message_text = b"my_agent,other_agent,fetchai/default:0.10.0,\x12\r\x08\x01*\t*\x07\n\x05hello,"

with open(INPUT_FILE, "wb") as f:
write_with_lock(f, message_text)
Expand Down Expand Up @@ -256,7 +256,7 @@ def run():
time.sleep(3)

# Create a message inside an envelope and get the stub connection to pass it into the agent
message_text = b"my_agent,other_agent,fetchai/default:0.9.0,\x12\r\x08\x01*\t*\x07\n\x05hello,"
message_text = b"my_agent,other_agent,fetchai/default:0.10.0,\x12\r\x08\x01*\t*\x07\n\x05hello,"

with open(INPUT_FILE, "wb") as f:
write_with_lock(f, message_text)
Expand Down
10 changes: 10 additions & 0 deletions docs/api/abstract_agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,16 @@ dict of kwargs

Return list of connections.

<a name="aea.abstract_agent.AbstractAgent.storage_uri"></a>
#### storage`_`uri

```python
| @abstractproperty
| storage_uri() -> Optional[str]
```

Return storage uri.

<a name="aea.abstract_agent.AbstractAgent.exception_handler"></a>
#### exception`_`handler

Expand Down
13 changes: 12 additions & 1 deletion docs/api/aea.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ This class implements an autonomous economic agent.
#### `__`init`__`

```python
| __init__(identity: Identity, wallet: Wallet, resources: Resources, loop: Optional[AbstractEventLoop] = None, period: float = 0.05, execution_timeout: float = 0, max_reactions: int = 20, decision_maker_handler_class: Optional[Type[DecisionMakerHandler]] = None, skill_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, connection_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, loop_mode: Optional[str] = None, runtime_mode: Optional[str] = None, default_ledger: Optional[str] = None, currency_denominations: Optional[Dict[str, str]] = None, default_connection: Optional[PublicId] = None, default_routing: Optional[Dict[PublicId, PublicId]] = None, connection_ids: Optional[Collection[PublicId]] = None, search_service_address: str = DEFAULT_SEARCH_SERVICE_ADDRESS, **kwargs, ,) -> None
| __init__(identity: Identity, wallet: Wallet, resources: Resources, loop: Optional[AbstractEventLoop] = None, period: float = 0.05, execution_timeout: float = 0, max_reactions: int = 20, error_handler_class: Optional[Type[AbstractErrorHandler]] = None, decision_maker_handler_class: Optional[Type[DecisionMakerHandler]] = None, skill_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, connection_exception_policy: ExceptionPolicyEnum = ExceptionPolicyEnum.propagate, loop_mode: Optional[str] = None, runtime_mode: Optional[str] = None, default_ledger: Optional[str] = None, currency_denominations: Optional[Dict[str, str]] = None, default_connection: Optional[PublicId] = None, default_routing: Optional[Dict[PublicId, PublicId]] = None, connection_ids: Optional[Collection[PublicId]] = None, search_service_address: str = DEFAULT_SEARCH_SERVICE_ADDRESS, storage_uri: Optional[str] = None, **kwargs, ,) -> None
```

Instantiate the agent.
Expand All @@ -40,12 +40,23 @@ Instantiate the agent.
- `default_routing`: dictionary for default routing.
- `connection_ids`: active connection ids. Default: consider all the ones in the resources.
- `search_service_address`: the address of the search service used.
- `storage_uri`: optional uri to set generic storage
- `kwargs`: keyword arguments to be attached in the agent context namespace.

**Returns**:

None

<a name="aea.aea.AEA.get_build_dir"></a>
#### get`_`build`_`dir

```python
| @classmethod
| get_build_dir(cls) -> str
```

Get agent build directory.

<a name="aea.aea.AEA.context"></a>
#### context

Expand Down
69 changes: 69 additions & 0 deletions docs/api/aea_builder.md
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,24 @@ Set decision maker handler class.

self

<a name="aea.aea_builder.AEABuilder.set_error_handler"></a>
#### set`_`error`_`handler

```python
| set_error_handler(error_handler_dotted_path: str, file_path: Path) -> "AEABuilder"
```

Set error handler class.

**Arguments**:

- `error_handler_dotted_path`: the dotted path to the error handler
- `file_path`: the file path to the file which contains the error handler

**Returns**:

self

<a name="aea.aea_builder.AEABuilder.set_skill_exception_policy"></a>
#### set`_`skill`_`exception`_`policy

Expand Down Expand Up @@ -392,6 +410,21 @@ Set the runtime mode.

self

<a name="aea.aea_builder.AEABuilder.set_storage_uri"></a>
#### set`_`storage`_`uri

```python
| set_storage_uri(storage_uri: Optional[str]) -> "AEABuilder"
```

Set the storage uri.

:param storage uri: storage uri

**Returns**:

self

<a name="aea.aea_builder.AEABuilder.set_search_service_address"></a>
#### set`_`search`_`service`_`address

Expand Down Expand Up @@ -518,6 +551,23 @@ Set a default ledger API to use.

the AEABuilder

<a name="aea.aea_builder.AEABuilder.set_build_entrypoint"></a>
#### set`_`build`_`entrypoint

```python
| set_build_entrypoint(build_entrypoint: Optional[str]) -> "AEABuilder"
```

Set build entrypoint.

**Arguments**:

- `build_entrypoint`: path to the builder script.

**Returns**:

the AEABuilder

<a name="aea.aea_builder.AEABuilder.set_currency_denominations"></a>
#### set`_`currency`_`denominations

Expand Down Expand Up @@ -737,6 +787,25 @@ Remove protocol.

the AEABuilder

<a name="aea.aea_builder.AEABuilder.call_all_build_entrypoints"></a>
#### call`_`all`_`build`_`entrypoints

```python
| call_all_build_entrypoints()
```

Call all the build entrypoints.

<a name="aea.aea_builder.AEABuilder.run_build_for_component_configuration"></a>
#### run`_`build`_`for`_`component`_`configuration

```python
| @classmethod
| run_build_for_component_configuration(cls, config: ComponentConfiguration, logger: Optional[logging.Logger] = None) -> None
```

Run a build entrypoint script for component configuration.

<a name="aea.aea_builder.AEABuilder.install_pypi_dependencies"></a>
#### install`_`pypi`_`dependencies

Expand Down
13 changes: 12 additions & 1 deletion docs/api/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ This class provides an abstract base class for a generic agent.
#### `__`init`__`

```python
| __init__(identity: Identity, connections: List[Connection], loop: Optional[AbstractEventLoop] = None, period: float = 1.0, loop_mode: Optional[str] = None, runtime_mode: Optional[str] = None, logger: Logger = _default_logger) -> None
| __init__(identity: Identity, connections: List[Connection], loop: Optional[AbstractEventLoop] = None, period: float = 1.0, loop_mode: Optional[str] = None, runtime_mode: Optional[str] = None, storage_uri: Optional[str] = None, logger: Logger = _default_logger) -> None
```

Instantiate the agent.
Expand All @@ -29,6 +29,7 @@ Instantiate the agent.
- `period`: period to call agent's act
- `loop_mode`: loop_mode to choose agent run loop.
- `runtime_mode`: runtime mode to up agent.
- `storage_uri`: optional uri to set generic storage

**Returns**:

Expand All @@ -44,6 +45,16 @@ None

Return list of connections.

<a name="aea.agent.Agent.storage_uri"></a>
#### storage`_`uri

```python
| @property
| storage_uri() -> Optional[str]
```

Return storage uri.

<a name="aea.agent.Agent.active_connections"></a>
#### active`_`connections

Expand Down
10 changes: 10 additions & 0 deletions docs/api/components/base.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,16 @@ Get the directory. Raise error if it has not been set yet.

Set the directory. Raise error if already set.

<a name="aea.components.base.Component.build_directory"></a>
#### build`_`directory

```python
| @property
| build_directory() -> Optional[str]
```

Get build directory for the component.

<a name="aea.components.base.load_aea_package"></a>
#### load`_`aea`_`package

Expand Down
Loading

0 comments on commit 80cf59d

Please sign in to comment.