Skip to content

Commit dc1ecb2

Browse files
authored
Merge branch 'main' into update-agent-card
2 parents 47cb292 + c94d6aa commit dc1ecb2

File tree

71 files changed

+2160
-1297
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2160
-1297
lines changed

.coveragerc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ omit =
44
*/tests/*
55
*/site-packages/*
66
*/__init__.py
7-
*/noxfile.py*
87
src/a2a/grpc/*
98

109
[report]

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# For syntax help see:
55
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners#codeowners-syntax
66

7-
* @a2aproject/google
7+
* @a2aproject/google-a2a-eng

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Before submitting your PR, there are a few things you can do to make sure it goe
99
- `fix:` which represents bug fixes, and correlates to a [SemVer](https://semver.org/) patch.
1010
- `feat:` represents a new feature, and correlates to a SemVer minor.
1111
- `feat!:`, or `fix!:`, `refactor!:`, etc., which represent a breaking change (indicated by the `!`) and will result in a SemVer major.
12-
- [ ] Ensure the tests and linter pass (Run `nox -s format` from the repository root to format)
12+
- [ ] Ensure the tests and linter pass (Run `bash scripts/format.sh` from the repository root to format)
1313
- [ ] Appropriate docs were updated (if necessary)
1414

1515
Fixes #<issue_number_goes_here> 🦕

.github/actions/spelling/allow.txt

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,22 @@
11
ACard
22
AClient
3+
ACMRTUXB
4+
aconnect
5+
adk
36
AError
47
AFast
8+
agentic
59
AGrpc
10+
aio
11+
aiomysql
12+
aproject
613
ARequest
714
ARun
815
AServer
916
AServers
1017
AService
1118
AStarlette
1219
AUser
13-
DSNs
14-
EUR
15-
GBP
16-
GVsb
17-
INR
18-
JPY
19-
JSONRPCt
20-
Llm
21-
POSTGRES
22-
RUF
23-
aconnect
24-
adk
25-
agentic
26-
aio
27-
aiomysql
28-
aproject
2920
autouse
3021
backticks
3122
cla
@@ -35,22 +26,30 @@ codegen
3526
coro
3627
datamodel
3728
drivername
29+
DSNs
3830
dunders
3931
euo
32+
EUR
4033
excinfo
4134
fernet
4235
fetchrow
4336
fetchval
37+
GBP
4438
genai
4539
getkwargs
4640
gle
41+
GVsb
4742
initdb
4843
inmemory
44+
INR
4945
isready
46+
JPY
47+
JSONRPCt
5048
kwarg
5149
langgraph
5250
lifecycles
5351
linting
52+
Llm
5453
lstrips
5554
mockurl
5655
notif
@@ -59,13 +58,17 @@ oidc
5958
opensource
6059
otherurl
6160
postgres
61+
POSTGRES
6262
postgresql
6363
protoc
6464
pyi
6565
pypistats
66+
pyupgrade
6667
pyversions
6768
respx
6869
resub
70+
RUF
71+
SLF
6972
socio
7073
sse
7174
tagwords

.github/actions/spelling/excludes.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@
8686
^\.github/actions/spelling/
8787
^\.github/workflows/
8888
CHANGELOG.md
89-
noxfile.py
9089
^src/a2a/grpc/
9190
^tests/
9291
.pre-commit-config.yaml

.github/workflows/unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ jobs:
5555
run: |
5656
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
5757
- name: Install dependencies
58-
run: uv sync --dev --extra sql --extra encryption
58+
run: uv sync --dev --extra sql --extra encryption --extra grpc
5959
- name: Run tests and check coverage
6060
run: uv run pytest --cov=a2a --cov-report=xml --cov-fail-under=89
6161
- name: Show coverage summary in log

.mypy.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
[mypy]
22
exclude = src/a2a/grpc/
33
disable_error_code = import-not-found,annotation-unchecked,import-untyped
4+
plugins = pydantic.mypy
45

56
[mypy-examples.*]
67
follow_imports = skip

.ruff.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ exclude = [
8181
"node_modules",
8282
"venv",
8383
"*/migrations/*",
84-
"noxfile.py",
8584
"src/a2a/grpc/**",
8685
"tests/**",
8786
]
@@ -137,7 +136,7 @@ inline-quotes = "single"
137136
"PLR2004",
138137
"SLF001",
139138
]
140-
"types.py" = ["D", "E501", "N815"] # Ignore docstring and annotation issues in types.py
139+
"types.py" = ["D", "E501"] # Ignore docstring and annotation issues in types.py
141140
"proto_utils.py" = ["D102", "PLR0911"]
142141
"helpers.py" = ["ANN001", "ANN201", "ANN202"]
143142

CHANGELOG.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Changelog
22

3+
## [0.2.16](https://github.com/a2aproject/a2a-python/compare/v0.2.15...v0.2.16) (2025-07-21)
4+
5+
6+
### Features
7+
8+
* Convert fields in `types.py` to use `snake_case` ([#199](https://github.com/a2aproject/a2a-python/issues/199)) ([0bb5563](https://github.com/a2aproject/a2a-python/commit/0bb55633272605a0404fc14c448a9dcaca7bb693))
9+
10+
11+
### Bug Fixes
12+
13+
* Add deprecation warning for camelCase alias ([#334](https://github.com/a2aproject/a2a-python/issues/334)) ([f22b384](https://github.com/a2aproject/a2a-python/commit/f22b384d919e349be8d275c8f44bd760d627bcb9))
14+
* client should not specify `taskId` if it doesn't exist ([#264](https://github.com/a2aproject/a2a-python/issues/264)) ([97f1093](https://github.com/a2aproject/a2a-python/commit/97f109326c7fe291c96bb51935ac80e0fab4cf66))
15+
16+
## [0.2.15](https://github.com/a2aproject/a2a-python/compare/v0.2.14...v0.2.15) (2025-07-21)
17+
18+
19+
### Bug Fixes
20+
21+
* Add Input Validation for Empty Message Content ([#327](https://github.com/a2aproject/a2a-python/issues/327)) ([5061834](https://github.com/a2aproject/a2a-python/commit/5061834e112a4eb523ac505f9176fc42d86d8178))
22+
* Prevent import grpc issues for Client after making dependencies optional ([#330](https://github.com/a2aproject/a2a-python/issues/330)) ([53ad485](https://github.com/a2aproject/a2a-python/commit/53ad48530b47ef1cbd3f40d0432f9170b663839d)), closes [#326](https://github.com/a2aproject/a2a-python/issues/326)
23+
24+
## [0.2.14](https://github.com/a2aproject/a2a-python/compare/v0.2.13...v0.2.14) (2025-07-18)
25+
26+
27+
### Features
28+
29+
* Set grpc dependencies as optional ([#322](https://github.com/a2aproject/a2a-python/issues/322)) ([365f158](https://github.com/a2aproject/a2a-python/commit/365f158f87166838b55bdadd48778cb313a453e1))
30+
* **spec:** Update A2A types from specification 🤖 ([#325](https://github.com/a2aproject/a2a-python/issues/325)) ([02e7a31](https://github.com/a2aproject/a2a-python/commit/02e7a3100e000e115b4aeec7147cf8fc1948c107))
31+
332
## [0.2.13](https://github.com/a2aproject/a2a-python/compare/v0.2.12...v0.2.13) (2025-07-17)
433

534

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<h2 align="center">
1212
<img src="https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/docs/assets/a2a-logo-black.svg" width="256" alt="A2A Logo"/>
1313
</h2>
14-
<h3 align="center">A Python library that helps run agentic applications as A2AServers following the <a href="https://a2aproject.github.io/A2A">Agent2Agent (A2A) Protocol</a>.</h3>
14+
<h3 align="center">A Python library that helps run agentic applications as A2AServers following the <a href="https://a2a-protocol.org">Agent2Agent (A2A) Protocol</a>.</h3>
1515
</html>
1616

1717
<!-- markdownlint-enable no-inline-html -->
@@ -33,6 +33,12 @@ When you're working within a uv project or a virtual environment managed by uv,
3333
uv add a2a-sdk
3434
```
3535

36+
To install with gRPC support:
37+
38+
```bash
39+
uv add "a2a-sdk[grpc]"
40+
```
41+
3642
To install with database support:
3743

3844
```bash
@@ -57,6 +63,12 @@ If you prefer to use pip, the standard Python package installer, you can install
5763
pip install a2a-sdk
5864
```
5965

66+
To install with gRPC support:
67+
68+
```bash
69+
pip install "a2a-sdk[grpc]"
70+
```
71+
6072
To install with database support:
6173

6274
```bash

0 commit comments

Comments
 (0)