Observed since 20 Oct, 16:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
a2a-registry
A2A Registry - Protocol buffer definitions and Python client for A2A message registry
A2A Registry is the definitive solution for agent discovery, registration, and management in distributed Agent-to-Agent (A2A) networks. Built on A2A Protocol v0.3.0 and FastA2A standards, it provides a robust, scalable infrastructure for dynamic agent ecosystems.
pip install a2a-registry
# Start with default configuration
a2a-registry serve
# Custom configuration
a2a-registry serve --host 0.0.0.0 --port 8080 --log-level DEBUG
from a2a_registry import A2ARegistryClient
# Initialize client
client = A2ARegistryClient('http://localhost:8000')
# Define and register agent
weather_agent = {
"name": "weather-agent",
"description": "Provides real-time weather information",
"version": "0.420.0",
"protocol_version": "0.3.0",
"preferred_transport": "JSONRPC",
"skills": [
{"id": "get_current_weather", "description": "Current weather data"},
{"id": "get_forecast", "description": "7-day weather forecast"}
]
}
# Register agent
client.register_agent(weather_agent)
# Discover agents
forecast_agents = client.search_agents(skills=['get_forecast'])
For comprehensive guides, API references, and tutorials:
We welcome contributions! Please see our Contributing Guide for details on how to get started.
This project is licensed under the MIT License. See the LICENSE file for details.
Built for the Future of Agent Ecosystems
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
fastapiEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | fastapi>=0.95.0 | runtime |
httpxEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | httpx>=0.28.1 | runtime |
httpx-sseEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | httpx-sse>=0.4.0 | runtime |
pydanticEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pydantic>=2.11.3 | runtime |
sse-starletteEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | sse-starlette | runtime |
starletteEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | starlette | runtime |
protobufEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | protobuf>=5.29.5 | runtime |
google-api-coreEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | google-api-core>=1.26.0 | runtime |
grpcioEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | grpcio>=1.60 | runtime |
grpcio-toolsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | grpcio-tools>=1.60 | runtime |
grpcio_reflectionEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | grpcio_reflection>=1.7.0 | runtime |
fasta2aEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | fasta2a | runtime |
uvicornEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | uvicorn>=0.20.0 | runtime |
clickEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | click>=8.0.0 | runtime |
jsonrpcserverEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | jsonrpcserver>=5.0.0 | runtime |
strawberry-graphqlEnvironment{
"extras": "fastapi",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | strawberry-graphql[fastapi]>=0.234.0 | runtime |
pyjwtEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pyjwt>=2.8.0 | runtime |
redisEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | redis>=5.0.0 | runtime |
sentence-transformersEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | sentence-transformers>=2.2.0 | runtime |
numpyEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | numpy>=1.21.0 | runtime |
faiss-cpuEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | faiss-cpu>=1.7.0 | runtime |
blackEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | black>=23.0.0; extra == "dev" | runtime |
ruffEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | ruff>=0.1.0; extra == "dev" | runtime |
mypyEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mypy>=1.0.0; extra == "dev" | runtime |
mypy-protobufEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mypy-protobuf>=3.4.0; extra == "dev" | runtime |
types-grpcioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | types-grpcio>=1.0.0; extra == "dev" | runtime |
pytestEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest>=7.0.0; extra == "dev" | runtime |
pytest-asyncioEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest-asyncio>=0.21.0; extra == "dev" | runtime |
pytest-covEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pytest-cov>=4.0.0; extra == "dev" | runtime |
buildEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | build>=0.10.0; extra == "dev" | runtime |
twineEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | twine>=4.0.0; extra == "dev" | runtime |
pre-commitEnvironment{
"extras": "",
"marker": "extra == \"dev\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | pre-commit>=3.0.0; extra == "dev" | runtime |
mkdocsEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs>=1.5.0; extra == "docs" | runtime |
mkdocs-materialEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs-material>=9.4.0; extra == "docs" | runtime |
mkdocstringsEnvironment{
"extras": "python",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocstrings[python]>=0.24.0; extra == "docs" | runtime |
mkdocs-gen-filesEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs-gen-files>=0.5.0; extra == "docs" | runtime |
mkdocs-literate-navEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs-literate-nav>=0.6.0; extra == "docs" | runtime |
mkdocs-section-indexEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs-section-index>=0.3.0; extra == "docs" | runtime |
mkdocs-autorefsEnvironment{
"extras": "",
"marker": "extra == \"docs\"",
"requires_python": ">=3.11",
"evaluation": "NOT_EVALUATED"
} | mkdocs-autorefs>=0.5.0; extra == "docs" | runtime |
bdist_wheel · 74.27 KB · Python py3
sdist · 78.57 KB · Python source
Observed since 20 Oct, 16:28 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:e26d4bb970a49f38d78825a079090f6183df4650f12574d5a22a8e8e2bbaad2b