Installation - themanojdesai/python-a2a GitHub Wiki
Installation
Python A2A is designed with a modular architecture that allows you to install only the components you need. The core functionality has minimal dependencies, with optional extras for specific features.
Basic Installation
For the core library with minimal dependencies:
pip install python-a2a
This provides the base functionality for working with the A2A protocol, including models, client, server, and basic utilities.
Recommended Installation with UV
For improved performance and dependency management, we recommend using UV:
uv install python-a2a
Component-Specific Installation
Python A2A uses extras to provide optional components:
Server Components
pip install "python-a2a[server]" # Flask-based server support
LLM Provider Integration
pip install "python-a2a[openai]" # OpenAI integration
pip install "python-a2a[anthropic]" # Anthropic Claude integration
pip install "python-a2a[bedrock]" # AWS Bedrock integration
Protocol and Framework Support
pip install "python-a2a[mcp]" # Model Context Protocol support
pip install "python-a2a[langchain]" # LangChain integration
Complete Installation
For all optional dependencies:
pip install "python-a2a[all]"
Development Installation
For contributors or those who want to modify the library:
git clone https://github.com/themanojdesai/python-a2a.git
cd python-a2a
uv venv
uv install -e ".[dev]"
System Requirements
- Python 3.9+
- Compatible with Windows, macOS, and Linux
Verification
To verify your installation:
import python_a2a
# Should print the current version
print(python_a2a.__version__)
You can also run the included test examples:
python -m examples.getting_started.hello_a2a
Troubleshooting
If you encounter any issues during installation:
- Ensure you have the latest pip version:
pip install --upgrade pip
- Try using a virtual environment:
python -m venv venv && source venv/bin/activate
- Check for conflicting dependencies with
pip check
- See the Known Issues page for common problems
For further assistance, please open an issue on the GitHub repository.