A2A Agentspeak
AgentSpeak agents on A2A/ACL protocol. (Work in progress).
Features
- Run AgentSpeak agents on an A2A server.
- Describe agent card and skills in an interface file in a dedicated format.
- Targets that are not declared in the interface are private and ignored from incoming messages.
- Relies on A2A-ACL protocol extension that supports tell, achieve, and ask performatives.
- Synchronous answers for ask messages (to consult a belief).
- Asynchronous answers for achieve messages (to request some actions and optionally answer later).
- (Temporary) Two repositories : one to keep track of running agents (hot repository for hot agents) and one to keep track of agents that can be run locally on demand (cold repository for cold agents).
- (Temporary) Hot agent repositories can be accessed by requested interface (formatted, see
samples/llm_req_manager_with_orchestrator_and_hot_repository) or by natural language (interpreted by a LLM, seesamples/llm_req_manager_with_orchestrator_and_repository_and_nl_selection). - (Temporary) Cold agent repositories can be accessed by interface (see
tests/ping_agent_on_cold_repo,tests/cold_agent_on_repo_with_holes, andtests/spawn). - (Temporary) Hot agent repositories can receive failure reports and degrade the reputation of failing agents.
That reputation is taken into account when selecting agents (see
samples/llm_req_manager_with_orchestrator_and_hot_repositoryandsamples/llm_req_manager_with_orchestrator_and_repository_and_nl_selection). - Configuration of agents with customized actions at init time (see
tests/customizable_robot,tests/action, andtests/cold_agent_on_repo_with_holes). - Different codecs can be used to encode/decode the content of the messages (AgentSpeak agents can encode the content of the message differently than Python agents or Java agents).
Examples and Documentation
Some examples are given in the samples and tests directories.
To run the simple example from samples/ping, first run run_receiver_agent.py , then run run_sender_agent.py .
That example does not require access to an LLM.
Requirements
This module relies on the A2A Protocol (package a2a-sdk), the A2A-ACL package (acl-a2a),
and python-agentspeak (package agentspeak).
Optional Requirements
To run the examples that use an LLM, you need:
- the package
mistralaiorlitellmand set your MISTRAL_API_KEY in the environment, - the package
openaiand set your OPENAI_API_KEY in the environment.
General architecture
Metadata
Release files for a2a-agentspeak 0.0.15
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 |
|---|---|---|---|---|
| a2a_agentspeak-0.0.15.tar.gz | 2.4 MB | Without provenance | Details for a2a_agentspeak-0.0.15.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| a2a_agentspeak-0.0.15-py3-none-any.whl | Python 3 | none | any | Details for a2a_agentspeak-0.0.15-py3-none-any.whl |
Total release size: 4.9 MB
Release files / a2a_agentspeak-0.0.15.tar.gz
| Download URL | a2a_agentspeak-0.0.15.tar.gz |
|---|---|
| Size | 2.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0dd45351e9d9ab959e3d100a9dd02d6529733b725ff315dda153bf18e9c2cbb4
|
|
BLAKE2b-256 checksum How to use checksums |
2c942a449b85807c93a37a8a7b3382624b0fbf24410aadfdc98d2397f08f60d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / a2a_agentspeak-0.0.15-py3-none-any.whl
| Download URL | a2a_agentspeak-0.0.15-py3-none-any.whl |
|---|---|
| Size | 2.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e2b01c860f0c711b833d12ccda30356944d54c0efa4028180d2767cacb8682ea
|
|
BLAKE2b-256 checksum How to use checksums |
58ba9ad23aff4dd6872cbf4eed57902f11680943314e18796df098b1712a69f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Security for a2a-agentspeak 0.0.15
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.