|
15 | 15 | smoke-test. Available profiles: |
16 | 16 | base -- `pip install a2a-sdk` |
17 | 17 | http-server -- `pip install a2a-sdk[http-server]` |
| 18 | + grpc -- `pip install a2a-sdk[grpc]` |
| 19 | + telemetry -- `pip install a2a-sdk[telemetry]` |
| 20 | + sql -- `pip install a2a-sdk[sql]` |
18 | 21 |
|
19 | 22 | Exit codes: |
20 | 23 | 0 - All imports for the profile succeeded |
|
80 | 83 | 'a2a.server.routes.rest_routes', |
81 | 84 | ] |
82 | 85 |
|
| 86 | +# Modules that MUST be importable with only the base + `grpc` extras |
| 87 | +# installed (no `http-server`, `sql`, `signing`, `telemetry`, etc.). |
| 88 | +GRPC_MODULES = [ |
| 89 | + 'a2a.server.request_handlers.grpc_handler', |
| 90 | + 'a2a.client.transports.grpc', |
| 91 | + 'a2a.compat.v0_3.grpc_handler', |
| 92 | + 'a2a.compat.v0_3.grpc_transport', |
| 93 | +] |
| 94 | + |
| 95 | +# Modules that MUST be importable with only the base + `telemetry` |
| 96 | +# extras installed. |
| 97 | +TELEMETRY_MODULES = [ |
| 98 | + 'a2a.utils.telemetry', |
| 99 | +] |
| 100 | + |
| 101 | +# Modules that MUST be importable with only the base + `sql` extras |
| 102 | +# installed (covers postgresql/mysql/sqlite drivers via SQLAlchemy). |
| 103 | +SQL_MODULES = [ |
| 104 | + 'a2a.server.models', |
| 105 | + 'a2a.server.tasks.database_task_store', |
| 106 | + 'a2a.server.tasks.database_push_notification_config_store', |
| 107 | +] |
| 108 | + |
83 | 109 |
|
84 | 110 | PROFILES: dict[str, list[str]] = { |
85 | 111 | 'base': CORE_MODULES, |
86 | 112 | 'http-server': CORE_MODULES + HTTP_SERVER_MODULES, |
| 113 | + 'grpc': CORE_MODULES + GRPC_MODULES, |
| 114 | + 'telemetry': CORE_MODULES + TELEMETRY_MODULES, |
| 115 | + 'sql': CORE_MODULES + SQL_MODULES, |
87 | 116 | } |
88 | 117 |
|
89 | 118 |
|
|
0 commit comments