a2a-python
Official Python SDK for the Agent2Agent (A2A) Protocol
File Explorer
- SKILL.md
- config.yaml
- advice.md
- allow.txt
- excludes.txt
- line_forbidden.patterns
- patterns.txt
- bug-report.yml
- feature-request.yml
- conventional-commits.yml
- coverage-comment.yaml
- install-smoke.yml
- itk.yaml
- linter.yaml
- nightly.yaml
- python-publish.yml
- release-please.yml
- release-pr-approvals.yml
- run-tck.yaml
- security.yaml
- spelling.yaml
- stale.yaml
- unit-tests.yml
- CODEOWNERS
- conventional-commit-lint.yaml
- dependabot.yml
- PULL_REQUEST_TEMPLATE.md
- extensions.json
- launch.json
- settings.json
- coding_conventions.md
- evidence_rules.md
- mandatory_checks.md
- README.md
- simple_migration.md
- zero_downtime.md
- README.md
- __init__.py
- main.py
- pyproject.toml
- README.md
- run_itk.sh
- scenarios.json
- scenarios_full.json
- uv.lock
- __init__.py
- cli.py
- hello_world_agent.py
- README.md
- docker-compose.test.yml
- format.sh
- gen_proto.sh
- gen_proto_compat.sh
- lint.sh
- run_db_tests.sh
- test_install_smoke.sh
- __init__.py
- user.py
- __init__.py
- credentials.py
- interceptor.py
- __init__.py
- base.py
- grpc.py
- http_helpers.py
- jsonrpc.py
- rest.py
- tenant_decorator.py
- __init__.py
- base_client.py
- card_resolver.py
- client.py
- client_factory.py
- errors.py
- interceptors.py
- optionals.py
- service_parameters.py
- __init__.py
- a2a_v0_3.proto
- a2a_v0_3_pb2.py
- a2a_v0_3_pb2.pyi
- a2a_v0_3_pb2_grpc.py
- buf.lock
- buf.yaml
- context_builders.py
- conversions.py
- extension_headers.py
- grpc_handler.py
- grpc_transport.py
- jsonrpc_adapter.py
- jsonrpc_transport.py
- model_conversions.py
- proto_utils.py
- README.md
- request_handler.py
- rest_adapter.py
- rest_handler.py
- rest_transport.py
- types.py
- versions.py
- __init__.py
- __init__.py
- common.py
- __init__.py
- agent_card.py
- proto_helpers.py
- 38ce57e08137_add_column_protocol_version.py
- 6419d2d130f6_add_columns_owner_last_updated.py
- __init__.py
- __init__.py
- env.py
- migration_utils.py
- README.md
- script.py.mako
- __init__.py
- active_task.py
- active_task_registry.py
- agent_executor.py
- context.py
- request_context_builder.py
- simple_request_context_builder.py
- __init__.py
- event_consumer.py
- event_queue.py
- event_queue_v2.py
- in_memory_queue_manager.py
- queue_manager.py
- __init__.py
- default_request_handler.py
- default_request_handler_v2.py
- grpc_handler.py
- request_handler.py
- response_helpers.py
- __init__.py
- _jsonrpc_schema.py
- _proto_schema.py
- agent_card_routes.py
- common.py
- fastapi_routes.py
- jsonrpc_dispatcher.py
- jsonrpc_routes.py
- rest_dispatcher.py
- rest_routes.py
- __init__.py
- base_push_notification_sender.py
- copying_task_store.py
- database_push_notification_config_store.py
- database_task_store.py
- inmemory_push_notification_config_store.py
- inmemory_task_store.py
- push_notification_config_store.py
- push_notification_sender.py
- result_aggregator.py
- task_manager.py
- task_store.py
- task_updater.py
- __init__.py
- context.py
- id_generator.py
- jsonrpc_models.py
- models.py
- owner_resolver.py
- __init__.py
- a2a_pb2.py
- a2a_pb2.pyi
- a2a_pb2_grpc.py
- __init__.py
- _async_queue_compat.py
- constants.py
- error_handlers.py
- errors.py
- grpc_status.py
- json_utils.py
- proto_utils.py
- signing.py
- task.py
- telemetry.py
- version_validator.py
- __init__.py
- _base.py
- a2a_db_cli.py
- alembic.ini
- py.typed
- __init__.py
- sut_agent.py
- sut_agent_with_vertex_task_store.py
- test_user.py
- __init__.py
- test_grpc_client.py
- test_http_helpers.py
- test_jsonrpc_client.py
- test_rest_client.py
- test_tenant_decorator.py
- test_auth_interceptor.py
- test_base_client.py
- test_base_client_interceptors.py
- test_card_resolver.py
- test_client_factory.py
- test_client_factory_grpc.py
- test_errors.py
- test_optionals.py
- test_service_parameters.py
- __init__.py
- test_context_builders.py
- test_conversions.py
- test_extension_headers.py
- test_grpc_handler.py
- test_grpc_transport.py
- test_jsonrpc_app_compat.py
- test_jsonrpc_transport.py
- test_proto_utils.py
- test_request_handler.py
- test_rest_handler.py
- test_rest_routes_compat.py
- test_rest_transport.py
- test_versions.py
- __init__.py
- __init__.py
- test_common.py
- test_agent_card_display.py
- test_proto_helpers.py
- __init__.py
- base_send_message.py
- __init__.py
- __main__.py
- README.md
- __init__.py
- client_0_3.py
- client_1_0.py
- server_0_3.py
- server_1_0.py
- server_common.py
- test_client_server.py
- test_cross_version_card_validation.py
- validate_agent_cards_030.py
- __init__.py
- agent_app.py
- notifications_app.py
- test_default_push_notification_support.py
- utils.py
- __init__.py
- test_agent_card.py
- test_client_server_integration.py
- test_copying_observability.py
- test_end_to_end.py
- test_samples_smoke.py
- test_scenarios.py
- test_stream_generator_cleanup.py
- test_tenant.py
- test_version_header.py
- test_migration_6419d2d130f6.py
- test_a2a_db_cli.py
- test_env.py
- __init__.py
- test_active_task.py
- test_active_task_registry.py
- test_context.py
- test_simple_request_context_builder.py
- __init__.py
- test_event_consumer.py
- test_event_queue.py
- test_event_queue_v2.py
- test_inmemory_queue_manager.py
- __init__.py
- test_default_request_handler.py
- test_default_request_handler_v2.py
- test_grpc_handler.py
- test_response_helpers.py
- __init__.py
- test_agent_card_routes.py
- test_common.py
- test_fastapi_routes.py
- test_jsonrpc_dispatcher.py
- test_jsonrpc_routes.py
- test_jsonrpc_schema.py
- test_proto_schema.py
- test_rest_dispatcher.py
- test_rest_routes.py
- test_copying_task_store.py
- test_database_push_notification_config_store.py
- test_database_task_store.py
- test_id_generator.py
- test_inmemory_push_notifications.py
- test_inmemory_task_store.py
- test_push_notification_sender.py
- test_result_aggregator.py
- test_task_manager.py
- test_task_updater.py
- test_cross_event_loop_locks.py
- test_integration.py
- test_models.py
- test_owner_resolver.py
- test_constants.py
- test_error_handlers.py
- test_grpc_status.py
- test_json_utils.py
- test_proto_utils.py
- test_signing.py
- test_task.py
- test_telemetry.py
- test_version_validation.py
- __init__.py
- pyproject.toml
- README.md
- test_types.py
- .git-blame-ignore-revs
- .gitignore
- .jscpd.json
- .pre-commit-config.yaml
- .python-version
- .release-please-manifest.json
- AGENTS.md
- buf.compat.gen.yaml
- buf.gen.yaml
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- LICENSE
- pyproject.toml
- README.md
- release-please-config.json
- SECURITY.md
- uv.lock
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
pip install
View Details ▼
pip install
Install Python packages.
pip install {{package1 package2 ...}}
Install one or more packages:
pip install {{package1 package2 ...}} {{[-U|--upgrade]}}
Upgrade all specified packages to the latest version, installing any that are not already present:
pip install {{package}}=={{version}}
Install a specific version of a package:
pip
View Details ▼
pip
Python package manager.
Some subcommands such as `install` have their own usage documentation.
pip install {{package}}
Install a package (see `pip install` for more install examples):
pip install --user {{package}}
Install a package to the user's directory instead of the system-wide default location:
pip install {{[-U|--upgrade]}} {{package}}
Upgrade a package:
uv add
View Details ▼
uv add
Add package dependencies to the `pyproject.toml` file.
Packages are specified according to <https://peps.python.org/pep-0508/>.
uv add {{package}}
Add the latest version of a package:
uv add {{package1 package2 ...}}
Add multiple packages:
uv add {{package>=1.2.3}}
Add a package with a version requirement:
uv run
View Details ▼
uv run
Run a command or script in the project environment.
uv run {{path/to/script.py}}
Run a Python script:
uv run {{[-m|--module]}} {{module_name}}
Run a Python module:
uv run {{[-w|--with]}} {{package}} {{command}}
Run a command with additional packages installed temporarily:
