Skip to content

Commit 1cf8185

Browse files
authored
chore(deps): Create all extra to simplify installation and testing (#468)
1 parent eeb8344 commit 1cf8185

File tree

4 files changed

+24
-16
lines changed

4 files changed

+24
-16
lines changed

.github/actions/spelling/allow.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ coc
2626
codegen
2727
coro
2828
datamodel
29+
deepwiki
2930
drivername
3031
DSNs
3132
dunders
@@ -80,5 +81,6 @@ tagwords
8081
taskupdate
8182
testuuid
8283
Tful
84+
tiangolo
8385
typeerror
8486
vulnz

.github/workflows/unit-tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
run: |
5454
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
5555
- name: Install dependencies
56-
run: uv sync --dev --extra sql --extra encryption --extra grpc --extra telemetry
56+
run: uv sync --dev --extra all
5757
- name: Run tests and check coverage
5858
run: uv run pytest --cov=a2a --cov-report term --cov-fail-under=88
5959
- name: Show coverage summary in log

README.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,20 +47,17 @@ Install the core SDK and any desired extras using your preferred package manager
4747
| Feature | `uv` Command | `pip` Command |
4848
| ------------------------ | ------------------------------------------ | -------------------------------------------- |
4949
| **Core SDK** | `uv add a2a-sdk` | `pip install a2a-sdk` |
50+
| **All Extras** | `uv add a2a-sdk[all]` | `pip install a2a-sdk[all]` |
5051
| **HTTP Server** | `uv add "a2a-sdk[http-server]"` | `pip install "a2a-sdk[http-server]"` |
5152
| **gRPC Support** | `uv add "a2a-sdk[grpc]"` | `pip install "a2a-sdk[grpc]"` |
5253
| **OpenTelemetry Tracing**| `uv add "a2a-sdk[telemetry]"` | `pip install "a2a-sdk[telemetry]"` |
53-
54-
#### Database Support
55-
56-
Install the necessary drivers for your chosen SQL database.
57-
58-
| Database | `uv` Command | `pip` Command |
59-
| ------------- | ---------------------------------- | ------------------------------------ |
60-
| **PostgreSQL**| `uv add "a2a-sdk[postgresql]"` | `pip install "a2a-sdk[postgresql]"` |
61-
| **MySQL** | `uv add "a2a-sdk[mysql]"` | `pip install "a2a-sdk[mysql]"` |
62-
| **SQLite** | `uv add "a2a-sdk[sqlite]"` | `pip install "a2a-sdk[sqlite]"` |
63-
| **All SQL Drivers** | `uv add "a2a-sdk[sql]"` | `pip install "a2a-sdk[sql]"` |
54+
| **Encryption** | `uv add "a2a-sdk[encryption]"` | `pip install "a2a-sdk[encryption]"` |
55+
| | | |
56+
| **Database Drivers** | | |
57+
| **PostgreSQL** | `uv add "a2a-sdk[postgresql]"` | `pip install "a2a-sdk[postgresql]"` |
58+
| **MySQL** | `uv add "a2a-sdk[mysql]"` | `pip install "a2a-sdk[mysql]"` |
59+
| **SQLite** | `uv add "a2a-sdk[sqlite]"` | `pip install "a2a-sdk[sqlite]"` |
60+
| **All SQL Drivers** | `uv add "a2a-sdk[sql]"` | `pip install "a2a-sdk[sql]"` |
6461

6562
## Examples
6663

pyproject.toml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,22 @@ classifiers = [
3030

3131
[project.optional-dependencies]
3232
http-server = ["fastapi>=0.115.2", "sse-starlette", "starlette"]
33-
postgresql = ["sqlalchemy[asyncio,postgresql-asyncpg]>=2.0.0"]
34-
mysql = ["sqlalchemy[asyncio,aiomysql]>=2.0.0"]
35-
sqlite = ["sqlalchemy[asyncio,aiosqlite]>=2.0.0"]
36-
sql = ["sqlalchemy[asyncio,postgresql-asyncpg,aiomysql,aiosqlite]>=2.0.0"]
3733
encryption = ["cryptography>=43.0.0"]
3834
grpc = ["grpcio>=1.60", "grpcio-tools>=1.60", "grpcio_reflection>=1.7.0"]
3935
telemetry = ["opentelemetry-api>=1.33.0", "opentelemetry-sdk>=1.33.0"]
36+
postgresql = ["sqlalchemy[asyncio,postgresql-asyncpg]>=2.0.0"]
37+
mysql = ["sqlalchemy[asyncio,aiomysql]>=2.0.0"]
38+
sqlite = ["sqlalchemy[asyncio,aiosqlite]>=2.0.0"]
39+
40+
sql = ["a2a-sdk[postgresql,mysql,sqlite]"]
41+
42+
all = [
43+
"a2a-sdk[http-server]",
44+
"a2a-sdk[sql]",
45+
"a2a-sdk[encryption]",
46+
"a2a-sdk[grpc]",
47+
"a2a-sdk[telemetry]",
48+
]
4049

4150
[project.urls]
4251
homepage = "https://a2a-protocol.org/"

0 commit comments

Comments
 (0)