Skip to content

Commit 9758f78

Browse files
committed
docs: Restructure README
1 parent aac9098 commit 9758f78

File tree

1 file changed

+54
-90
lines changed

1 file changed

+54
-90
lines changed

README.md

Lines changed: 54 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -4,110 +4,63 @@
44
[![PyPI version](https://img.shields.io/pypi/v/a2a-sdk)](https://pypi.org/project/a2a-sdk/)
55
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/a2a-sdk)
66
[![PyPI - Downloads](https://img.shields.io/pypi/dw/a2a-sdk)](https://pypistats.org/packages/a2a-sdk)
7+
[![Python Unit Tests](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/a2aproject/a2a-python/actions/workflows/unit-tests.yml)
8+
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/a2aproject/a2a-python)
79

810
<!-- markdownlint-disable no-inline-html -->
911

10-
<html>
11-
<h2 align="center">
12+
<div align="center">
1213
<img src="https://raw.githubusercontent.com/a2aproject/A2A/refs/heads/main/docs/assets/a2a-logo-black.svg" width="256" alt="A2A Logo"/>
13-
</h2>
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>
15-
</html>
14+
<h3>
15+
A Python library for running agentic applications as A2A Servers, following the <a href="https://a2a-protocol.org">Agent2Agent (A2A) Protocol</a>.
16+
</h3>
17+
</div>
1618

1719
<!-- markdownlint-enable no-inline-html -->
1820

19-
## Installation
21+
---
2022

21-
You can install the A2A SDK using either `uv` or `pip`.
23+
## ✨ Features
2224

23-
## Prerequisites
25+
- **A2A Protocol Compliant:** Build agentic applications that adhere to the Agent2Agent (A2A) Protocol.
26+
- **Extensible:** Easily add support for different communication protocols and database backends.
27+
- **Asynchronous:** Built on modern async Python for high performance.
28+
- **Optional Integrations:** Includes optional support for:
29+
- HTTP servers ([FastAPI](https://fastapi.tiangolo.com/), [Starlette](https://www.starlette.io/))
30+
- [gRPC](https://grpc.io/)
31+
- [OpenTelemetry](https://opentelemetry.io/) for tracing
32+
- SQL databases ([PostgreSQL](https://www.postgresql.org/), [MySQL](https://www.mysql.com/), [SQLite](https://sqlite.org/))
2433

25-
- Python 3.10+
26-
- `uv` (optional, but recommended) or `pip`
27-
28-
### Using `uv`
29-
30-
When you're working within a uv project or a virtual environment managed by uv, the preferred way to add packages is using uv add.
31-
32-
```bash
33-
uv add a2a-sdk
34-
```
35-
36-
To include the optional HTTP server components (FastAPI, Starlette), install the `http-server` extra:
37-
38-
```bash
39-
uv add a2a-sdk[http-server]
40-
```
41-
42-
To install with gRPC support:
43-
44-
```bash
45-
uv add "a2a-sdk[grpc]"
46-
```
47-
48-
To install with OpenTelemetry tracing support:
49-
50-
```bash
51-
uv add "a2a-sdk[telemetry]"
52-
```
53-
54-
To install with database support:
55-
56-
```bash
57-
# PostgreSQL support
58-
uv add "a2a-sdk[postgresql]"
59-
60-
# MySQL support
61-
uv add "a2a-sdk[mysql]"
34+
---
6235

63-
# SQLite support
64-
uv add "a2a-sdk[sqlite]"
36+
## 🚀 Getting Started
6537

66-
# All database drivers
67-
uv add "a2a-sdk[sql]"
68-
```
38+
### Prerequisites
6939

70-
### Using `pip`
71-
72-
If you prefer to use pip, the standard Python package installer, you can install `a2a-sdk` as follows
73-
74-
```bash
75-
pip install a2a-sdk
76-
```
77-
78-
To include the optional HTTP server components (FastAPI, Starlette), install the `http-server` extra:
79-
80-
```bash
81-
pip install a2a-sdk[http-server]
82-
```
83-
84-
To install with gRPC support:
85-
86-
```bash
87-
pip install "a2a-sdk[grpc]"
88-
```
89-
90-
To install with OpenTelemetry tracing support:
40+
- Python 3.10+
41+
- `uv` (recommended) or `pip`
9142

92-
```bash
93-
pip install "a2a-sdk[telemetry]"
94-
```
43+
### 🔧 Installation
9544

96-
To install with database support:
45+
Install the core SDK and any desired extras using your preferred package manager.
9746

98-
```bash
99-
# PostgreSQL support
100-
pip install "a2a-sdk[postgresql]"
47+
| Feature | `uv` Command | `pip` Command |
48+
| ------------------------ | ------------------------------------------ | -------------------------------------------- |
49+
| **Core SDK** | `uv add a2a-sdk` | `pip install a2a-sdk` |
50+
| **HTTP Server** | `uv add "a2a-sdk[http-server]"` | `pip install "a2a-sdk[http-server]"` |
51+
| **gRPC Support** | `uv add "a2a-sdk[grpc]"` | `pip install "a2a-sdk[grpc]"` |
52+
| **OpenTelemetry Tracing**| `uv add "a2a-sdk[telemetry]"` | `pip install "a2a-sdk[telemetry]"` |
10153

102-
# MySQL support
103-
pip install "a2a-sdk[mysql]"
54+
#### Database Support
10455

105-
# SQLite support
106-
pip install "a2a-sdk[sqlite]"
56+
Install the necessary drivers for your chosen SQL database.
10757

108-
# All database drivers
109-
pip install "a2a-sdk[sql]"
110-
```
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]"` |
11164

11265
## Examples
11366

@@ -130,12 +83,23 @@ pip install "a2a-sdk[sql]"
13083

13184
3. You can validate your agent using the agent inspector. Follow the instructions at the [a2a-inspector](https://github.com/a2aproject/a2a-inspector) repo.
13285

133-
You can also find more Python samples [here](https://github.com/a2aproject/a2a-samples/tree/main/samples/python) and JavaScript samples [here](https://github.com/a2aproject/a2a-samples/tree/main/samples/js).
86+
---
87+
88+
## 🌐 More Examples
89+
90+
You can find a variety of more detailed examples in the [a2a-samples](https://github.com/a2aproject/a2a-samples) repository:
91+
92+
- **[Python Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/python)**
93+
- **[JavaScript Examples](https://github.com/a2aproject/a2a-samples/tree/main/samples/js)**
94+
95+
---
96+
97+
## 🤝 Contributing
13498

135-
## License
99+
Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for guidelines on how to get involved.
136100

137-
This project is licensed under the terms of the [Apache 2.0 License](https://raw.githubusercontent.com/a2aproject/a2a-python/refs/heads/main/LICENSE).
101+
---
138102

139-
## Contributing
103+
## 📄 License
140104

141-
See [CONTRIBUTING.md](https://github.com/a2aproject/a2a-python/blob/main/CONTRIBUTING.md) for contribution guidelines.
105+
This project is licensed under the Apache 2.0 License. See the [LICENSE](LICENSE) file for more details.

0 commit comments

Comments
 (0)