open-aea-cli-benchmark 2.1.0rc6__tar.gz → 2.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/MANIFEST.in +1 -1
  2. {open_aea_cli_benchmark-2.1.0rc6/open_aea_cli_benchmark.egg-info → open_aea_cli_benchmark-2.2.0}/PKG-INFO +8 -1
  3. open_aea_cli_benchmark-2.2.0/README.md +45 -0
  4. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/__init__.py +1 -0
  5. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_communication/__init__.py +1 -0
  6. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_startup/__init__.py +1 -0
  7. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_agent_construction_time/__init__.py +1 -0
  8. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_decision_maker/__init__.py +21 -0
  9. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_dialogues_memory_usage/__init__.py +21 -0
  10. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_mem_usage/__init__.py +21 -0
  11. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_messages_memory_usage/__init__.py +21 -0
  12. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_multiagent/__init__.py +21 -0
  13. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_multiagent_http_dialogues/__init__.py +21 -0
  14. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_proactive/__init__.py +21 -0
  15. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_reactive/__init__.py +21 -0
  16. open_aea_cli_benchmark-2.2.0/aea_cli_benchmark/case_tx_generate/__init__.py +21 -0
  17. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/docker_image.py +11 -3
  18. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/core.py +11 -2
  19. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0/open_aea_cli_benchmark.egg-info}/PKG-INFO +8 -1
  20. open_aea_cli_benchmark-2.2.0/open_aea_cli_benchmark.egg-info/requires.txt +7 -0
  21. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/setup.py +16 -7
  22. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/tests/__init__.py +1 -0
  23. open_aea_cli_benchmark-2.1.0rc6/README.md +0 -59
  24. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_decision_maker/__init__.py +0 -20
  25. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_dialogues_memory_usage/__init__.py +0 -20
  26. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_mem_usage/__init__.py +0 -20
  27. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_messages_memory_usage/__init__.py +0 -20
  28. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_multiagent/__init__.py +0 -20
  29. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_multiagent_http_dialogues/__init__.py +0 -20
  30. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_proactive/__init__.py +0 -20
  31. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_reactive/__init__.py +0 -20
  32. open_aea_cli_benchmark-2.1.0rc6/aea_cli_benchmark/case_tx_generate/__init__.py +0 -20
  33. open_aea_cli_benchmark-2.1.0rc6/open_aea_cli_benchmark.egg-info/requires.txt +0 -2
  34. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/LICENSE +0 -0
  35. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_communication/case.py +0 -0
  36. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_communication/command.py +0 -0
  37. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_communication/utils.py +0 -0
  38. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_startup/case.py +0 -0
  39. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_startup/command.py +0 -0
  40. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_acn_startup/utils.py +0 -0
  41. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_agent_construction_time/case.py +0 -0
  42. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_agent_construction_time/command.py +0 -0
  43. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_decision_maker/case.py +0 -0
  44. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_decision_maker/command.py +0 -0
  45. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_dialogues_memory_usage/case.py +0 -0
  46. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_dialogues_memory_usage/command.py +0 -0
  47. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_mem_usage/case.py +0 -0
  48. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_mem_usage/command.py +0 -0
  49. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_messages_memory_usage/case.py +0 -0
  50. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_messages_memory_usage/command.py +0 -0
  51. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_multiagent/case.py +0 -0
  52. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_multiagent/command.py +0 -0
  53. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_multiagent_http_dialogues/case.py +0 -0
  54. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_multiagent_http_dialogues/command.py +0 -0
  55. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_proactive/case.py +0 -0
  56. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_proactive/command.py +0 -0
  57. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_reactive/case.py +0 -0
  58. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_reactive/command.py +0 -0
  59. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/case.py +0 -0
  60. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/command.py +0 -0
  61. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/core.py +0 -0
  62. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/dialogues.py +0 -0
  63. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/case_tx_generate/ledger_utils.py +0 -0
  64. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/py.typed +0 -0
  65. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/aea_cli_benchmark/utils.py +0 -0
  66. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/open_aea_cli_benchmark.egg-info/SOURCES.txt +0 -0
  67. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/open_aea_cli_benchmark.egg-info/dependency_links.txt +0 -0
  68. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/open_aea_cli_benchmark.egg-info/entry_points.txt +0 -0
  69. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/open_aea_cli_benchmark.egg-info/top_level.txt +0 -0
  70. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/pyproject.toml +0 -0
  71. {open_aea_cli_benchmark-2.1.0rc6 → open_aea_cli_benchmark-2.2.0}/setup.cfg +0 -0
@@ -1,4 +1,4 @@
1
- include README.md LICENSE HISTORY.md
1
+ include README.md LICENSE
2
2
 
3
3
  recursive-include aea_cli_benchmark
4
4
  recursive-include tests *
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-aea-cli-benchmark
3
- Version: 2.1.0rc6
3
+ Version: 2.2.0
4
4
  Summary: CLI extension for AEA framework benchmarking.
5
5
  Author: Valory AG
6
6
  License: Apache-2.0
@@ -21,17 +21,24 @@ Classifier: Programming Language :: Python :: 3.14
21
21
  Classifier: Topic :: Communications
22
22
  Classifier: Topic :: Internet
23
23
  Classifier: Topic :: Software Development
24
+ Requires-Python: >=3.10,<3.15
24
25
  Description-Content-Type: text/markdown
25
26
  License-File: LICENSE
26
27
  Requires-Dist: open-aea<3.0.0,>=2.0.0
27
28
  Requires-Dist: psutil<6.0.0,>=5.7.0
29
+ Requires-Dist: click<8.4.0,>=8.1.0
30
+ Requires-Dist: cosmpy<0.12,>=0.11.0
31
+ Provides-Extra: tx-generate
32
+ Requires-Dist: docker==7.1.0; extra == "tx-generate"
28
33
  Dynamic: author
29
34
  Dynamic: classifier
30
35
  Dynamic: description
31
36
  Dynamic: description-content-type
32
37
  Dynamic: license
33
38
  Dynamic: license-file
39
+ Dynamic: provides-extra
34
40
  Dynamic: requires-dist
41
+ Dynamic: requires-python
35
42
  Dynamic: summary
36
43
 
37
44
  CLI extension for AEA framework benchmarking.
@@ -0,0 +1,45 @@
1
+ # AEA CLI Benchmark Plug-in
2
+
3
+ CLI extension for benchmarking the AEA framework. Adds an `aea benchmark` command group that runs performance benchmark cases covering agent construction, message throughput, memory usage, decision maker, ACN, and related scenarios.
4
+
5
+ ## Installation and usage
6
+
7
+ Make sure you have `aea` installed.
8
+
9
+ Then, install the plug-in:
10
+ ```bash
11
+ pip install open-aea-cli-benchmark
12
+ ```
13
+
14
+ The `tx-generate` case spins up a dockerised fetchai ledger node and is therefore an optional extra. Install it with:
15
+ ```bash
16
+ pip install "open-aea-cli-benchmark[tx-generate]"
17
+ ```
18
+ Without the `[tx-generate]` extra the `tx-generate` command is not registered and the rest of the benchmark commands work as normal.
19
+
20
+ Now you should be able to run `aea benchmark`:
21
+
22
+ ```bash
23
+ Usage: aea benchmark [OPTIONS] COMMAND [ARGS]...
24
+
25
+ Run one of the performance benchmarks.
26
+
27
+ Options:
28
+ --help Show this message and exit.
29
+
30
+ Commands:
31
+ acn-communication ACN end-to-end message throughput
32
+ acn-startup ACN node startup time
33
+ agent-construction-time Time to construct an AEA instance
34
+ decision-maker Decision maker throughput
35
+ dialogues-memory-usage Memory footprint of dialogue state
36
+ mem-usage Agent memory usage under load
37
+ messages-memory-usage Memory footprint of messages
38
+ multiagent Multi-agent throughput
39
+ multiagent-http-dialogues Multi-agent HTTP dialogue throughput
40
+ proactive Proactive skill behaviour benchmark
41
+ reactive Reactive skill handler benchmark
42
+ tx-generate Transaction generation throughput (requires the [tx-generate] extra)
43
+ ```
44
+
45
+ Run any command with `--help` for per-case options.
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # ------------------------------------------------------------------------------
3
3
  #
4
+ # Copyright 2021-2026 Valory AG
4
5
  # Copyright 2018-2021 Fetch.AI Limited
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # ------------------------------------------------------------------------------
3
3
  #
4
+ # Copyright 2021-2026 Valory AG
4
5
  # Copyright 2018-2021 Fetch.AI Limited
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # ------------------------------------------------------------------------------
3
3
  #
4
+ # Copyright 2021-2026 Valory AG
4
5
  # Copyright 2018-2021 Fetch.AI Limited
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # ------------------------------------------------------------------------------
3
3
  #
4
+ # Copyright 2021-2026 Valory AG
4
5
  # Copyright 2018-2021 Fetch.AI Limited
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -0,0 +1,21 @@
1
+ # -*- coding: utf-8 -*-
2
+ # ------------------------------------------------------------------------------
3
+ #
4
+ # Copyright 2021-2026 Valory AG
5
+ # Copyright 2018-2021 Fetch.AI Limited
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ # ------------------------------------------------------------------------------
20
+
21
+ """This module contains the implementation of `benchmark` cli command."""
@@ -19,6 +19,7 @@
19
19
  # ------------------------------------------------------------------------------
20
20
  """This module contains testing utilities."""
21
21
 
22
+ import json
22
23
  import logging
23
24
  import os
24
25
  import re
@@ -34,7 +35,9 @@ from docker import DockerClient
34
35
  from docker.models.containers import Container
35
36
 
36
37
  from aea.exceptions import enforce
37
- from aea.helpers import http_requests as requests
38
+ from aea.helpers.constants import NETWORK_REQUEST_DEFAULT_TIMEOUT
39
+ from aea.helpers.http_requests import get as http_get
40
+ from aea.helpers.http_requests import post as http_post
38
41
 
39
42
  logger = logging.getLogger(__name__)
40
43
 
@@ -168,7 +171,12 @@ class GanacheDockerImage(DockerImage):
168
171
  request = dict(jsonrpc=2.0, method="web3_clientVersion", params=[], id=1)
169
172
  for i in range(max_attempts):
170
173
  try:
171
- response = requests.post(f"{self._addr}:{self._port}", json=request)
174
+ response = http_post(
175
+ f"{self._addr}:{self._port}",
176
+ data=json.dumps(request).encode(),
177
+ headers={"Content-Type": "application/json"},
178
+ timeout=NETWORK_REQUEST_DEFAULT_TIMEOUT,
179
+ )
172
180
  enforce(response.status_code == 200, "")
173
181
  return True
174
182
  except Exception:
@@ -264,7 +272,7 @@ class FetchLedgerDockerImage(DockerImage):
264
272
  for i in range(max_attempts):
265
273
  try:
266
274
  url = f"{self._addr}:{self._port}/net_info?"
267
- response = requests.get(url)
275
+ response = http_get(url, timeout=NETWORK_REQUEST_DEFAULT_TIMEOUT)
268
276
  enforce(response.status_code == 200, "")
269
277
  return True
270
278
  except Exception:
@@ -47,7 +47,15 @@ from aea_cli_benchmark.case_multiagent_http_dialogues.command import (
47
47
  )
48
48
  from aea_cli_benchmark.case_proactive.command import main as case_proactive
49
49
  from aea_cli_benchmark.case_reactive.command import main as case_reactive
50
- from aea_cli_benchmark.case_tx_generate.command import main as case_tx_generate
50
+
51
+ # case_tx_generate depends on `docker`, which is an optional extra
52
+ # (`aea-cli-benchmark[tx-generate]`). Skip registering the command if
53
+ # the dependency is missing rather than breaking every other benchmark
54
+ # case at import time.
55
+ try:
56
+ from aea_cli_benchmark.case_tx_generate.command import main as case_tx_generate
57
+ except ImportError: # pragma: no cover - exercised when docker is not installed
58
+ case_tx_generate = None
51
59
 
52
60
  from aea.helpers.yaml_utils import yaml_dump_all, yaml_load_all
53
61
 
@@ -75,7 +83,8 @@ benchmark.add_command(case_mulltiagent)
75
83
  benchmark.add_command(case_proactive)
76
84
 
77
85
  benchmark.add_command(case_reactive)
78
- benchmark.add_command(case_tx_generate)
86
+ if case_tx_generate is not None:
87
+ benchmark.add_command(case_tx_generate)
79
88
  benchmark.add_command(case_acn_startup)
80
89
  benchmark.add_command(case_acn_communication)
81
90
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-aea-cli-benchmark
3
- Version: 2.1.0rc6
3
+ Version: 2.2.0
4
4
  Summary: CLI extension for AEA framework benchmarking.
5
5
  Author: Valory AG
6
6
  License: Apache-2.0
@@ -21,17 +21,24 @@ Classifier: Programming Language :: Python :: 3.14
21
21
  Classifier: Topic :: Communications
22
22
  Classifier: Topic :: Internet
23
23
  Classifier: Topic :: Software Development
24
+ Requires-Python: >=3.10,<3.15
24
25
  Description-Content-Type: text/markdown
25
26
  License-File: LICENSE
26
27
  Requires-Dist: open-aea<3.0.0,>=2.0.0
27
28
  Requires-Dist: psutil<6.0.0,>=5.7.0
29
+ Requires-Dist: click<8.4.0,>=8.1.0
30
+ Requires-Dist: cosmpy<0.12,>=0.11.0
31
+ Provides-Extra: tx-generate
32
+ Requires-Dist: docker==7.1.0; extra == "tx-generate"
28
33
  Dynamic: author
29
34
  Dynamic: classifier
30
35
  Dynamic: description
31
36
  Dynamic: description-content-type
32
37
  Dynamic: license
33
38
  Dynamic: license-file
39
+ Dynamic: provides-extra
34
40
  Dynamic: requires-dist
41
+ Dynamic: requires-python
35
42
  Dynamic: summary
36
43
 
37
44
  CLI extension for AEA framework benchmarking.
@@ -0,0 +1,7 @@
1
+ open-aea<3.0.0,>=2.0.0
2
+ psutil<6.0.0,>=5.7.0
3
+ click<8.4.0,>=8.1.0
4
+ cosmpy<0.12,>=0.11.0
5
+
6
+ [tx-generate]
7
+ docker==7.1.0
@@ -20,23 +20,32 @@
20
20
  # ------------------------------------------------------------------------------
21
21
  """Setup script for the plug-in."""
22
22
 
23
- from setuptools import find_packages # type: ignore
24
- from setuptools import setup # type: ignore
23
+ from setuptools import find_packages, setup # type: ignore
25
24
 
26
25
  setup(
27
26
  name="open-aea-cli-benchmark",
28
- version="2.1.0rc6",
27
+ version="2.2.0",
29
28
  author="Valory AG",
30
29
  license="Apache-2.0",
31
30
  description="CLI extension for AEA framework benchmarking.",
32
31
  long_description="CLI extension for AEA framework benchmarking.",
33
32
  long_description_content_type="text/markdown",
34
- packages=find_packages(
35
- where=".", include=["aea_cli_benchmark", "aea_cli_benchmark.*"]
36
- ),
33
+ packages=find_packages(include=["aea_cli_benchmark*"]),
37
34
  package_data={"aea_cli_benchmark": ["py.typed"]},
38
35
  entry_points={"aea.cli": ["benchmark = aea_cli_benchmark.core:benchmark"]},
39
- install_requires=["open-aea>=2.0.0, <3.0.0", "psutil>=5.7.0, <6.0.0"],
36
+ python_requires=">=3.10,<3.15",
37
+ install_requires=[
38
+ "open-aea>=2.0.0, <3.0.0",
39
+ "psutil>=5.7.0, <6.0.0",
40
+ "click>=8.1.0,<8.4.0",
41
+ "cosmpy>=0.11.0,<0.12",
42
+ ],
43
+ extras_require={
44
+ # Optional: required only for the `tx-generate` benchmark case,
45
+ # which spins up a dockerised fetchai ledger node. Pin kept in
46
+ # sync with the other plugins (ledger-ethereum, ledger-fetchai).
47
+ "tx-generate": ["docker==7.1.0"],
48
+ },
40
49
  classifiers=[
41
50
  "Environment :: Console",
42
51
  "Environment :: Web Environment",
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  # ------------------------------------------------------------------------------
3
3
  #
4
+ # Copyright 2021-2026 Valory AG
4
5
  # Copyright 2018-2021 Fetch.AI Limited
5
6
  #
6
7
  # Licensed under the Apache License, Version 2.0 (the "License");
@@ -1,59 +0,0 @@
1
- # AEA CLI IPFS Plug-in
2
-
3
- IPFS command to publish and download directories.
4
-
5
- ## Installation and usage
6
-
7
- Make sure you have `aea` installed.
8
-
9
- Then, install the plug-in:
10
- ``` bash
11
- pip install aea-cli-ipfs
12
- ```
13
-
14
- Now you should be able to run `aea ipfs`.
15
-
16
- ``` bash
17
- Usage: aea ipfs [OPTIONS] COMMAND [ARGS]...
18
-
19
- IPFS Commands
20
-
21
- Options:
22
- --help Show this message and exit.
23
-
24
- Commands:
25
- add Add directory to ipfs, if not directory specified the current...
26
- download Download directory by it's hash, if not target directory...
27
- remove Remove a directory from ipfs by it's hash.
28
-
29
-
30
-
31
- Usage: aea ipfs add [OPTIONS] [DIR_PATH]
32
-
33
- Add directory to ipfs, if not directory specified the current one will be
34
- added.
35
-
36
- Options:
37
- -p, --publish
38
- --help Show this message and exit.
39
-
40
-
41
-
42
- Usage: aea ipfs remove [OPTIONS] hash_id
43
-
44
- Remove a directory from ipfs by it's hash.
45
-
46
- Options:
47
- --help Show this message and exit.
48
-
49
-
50
-
51
- Usage: aea ipfs download [OPTIONS] hash_id [TARGET_DIR]
52
-
53
- Download directory by it's hash, if not target directory specified will
54
- use current one.
55
-
56
- Options:
57
- --help Show this message and exit.
58
-
59
- ```
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,20 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # ------------------------------------------------------------------------------
3
- #
4
- # Copyright 2018-2021 Fetch.AI Limited
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
- # ------------------------------------------------------------------------------
19
-
20
- """This module contains the implementation of `benchmark` cli command."""
@@ -1,2 +0,0 @@
1
- open-aea<3.0.0,>=2.0.0
2
- psutil<6.0.0,>=5.7.0