A protocol framework for agent-to-agent communication
Project description
bindu
โจ Imagine a world where AI agents collaborate effortlessly and securelyโno passport ๐ซ, no boundaries ๐.
Thatโs bindu ๐ป.An open source, secured protocol for agent-to-agent communication.
๐ Powered by Decentralised Identifiers (DIDs) ๐, secured conversations with mutual TLS (mTLS) ๐, and a lightweight yet powerful communication protocol built on JSON-RPC 2.0 โก๏ธโbindu is paving the way for the next generation of collaborative AI systems. ๐๐ค
๐ Features
bindu helps your AI agents talk to each other seamlessly:
๐ Super Secure - Your agents exchange secrets safely (with built-in mTLS)
๐งฉ Plug-and-Play - Just decorate your agent and it's ready to communicate
โก Lightning Fast - Quick connections without the weight
๐ Works Everywhere - Connect any agents, regardless of their programming language
๐ Reliable Communication - Messages always arrive correctly and in order
๐ฆ Installation
# Using pip
pip install bindu
# Using uv (recommended)
uv add bindu
๐ Quick Start
๐ช Quick Start with Cookiecutter Template
The fastest way to get started with bindu is using our cookiecutter template:
# Create a new bindu project
uv tool run cookiecutter cookiecutter-bindu/
Follow the interactive prompts:
[1/4] name (pebble_project): my_weather_agent
[2/4] description (): A weather forecasting agent
[3/4] bindu_email (): your.email@example.com
[4/4] Select agent_framework
1 - none
2 - agno
3 - crew
4 - langchain
Choose from [1/2/3/4] (1): 2
After project creation:
๐ Project created successfully!
๐ป Welcome to bindu โ powered by the bindu CLI.
Next steps:
1๏ธโฃ cd 'my_weather_agent'
2๏ธโฃ Set it up using uv: ๐ฆ
uv sync
3๏ธโฃ Run your agent locally: ๐ป
PYTHONPATH=src python3 -m my_weather_agent
or
python3 src/<filename.py>
4๏ธโฃ Deploy your agent: ๐
pebble launch
๐ค Selected agent framework: agno
Need help? See README.md for details. โจ
Setup and run your agent:
# Navigate to your project
cd my_weather_agent
# Create virtual environment
uv venv --python 3.12.9
source .venv/bin/activate
# Install dependencies
uv sync
# Run your agent
uv run src/pebble_agent.py
Your agent will start with full bindu capabilities:
- โ Automatic DID identity generation
- โ Security setup with mTLS certificates
- โ Agent manifest creation
- โ Local server running on http://localhost:8030
- โ OpenInference observability integration
๐ Template Repository: cookiecutter-bindu
Manual Setup - bindufy an Agent
from bindu import bindufy
@bindufy(name="My Agent", description="A simple agent", version="1.0.0")
def my_agent(message: str) -> str:
return "Hello, Agent!"
# You're now ready to communicate securely between agents!
bindufy a Agno Agent
from bindu import bindufy
from agno.agent import Agent
from agno.models.openai import OpenAIChat
@bindufy(name="Agno Agent", description="A helpful assistant", version="1.0.0")
def agno_agent(message: str) -> str:
agent = Agent(
model=OpenAIChat(id="gpt-4o"),
instructions="You are a helpful assistant.",
)
result = agent.run(message)
return result.to_dict()["content"]
# You're now ready to communicate securely between agents!
๐ฅ Agent in Action
๐ Interactive Diagrams
|
Open the interactive version of this sequence diagram in MermaidChart |
Open the interactive version of this orchestration diagram in MermaidChart |
๐ ๏ธ Supported Agent Frameworks
bindu is tested and integrated with popular agent frameworks:
- โ Agno
- ๐ CrewAI (Coming soon)
- ๐ AutoGen (Coming soon)
- ๐ LangChain (Coming soon)
- ๐ LlamaIndex (Coming soon)
Want integration with your favorite framework? Let us know on Discord!
๐ Documentation
For comprehensive documentation, visit docs.bindu.ai
๐งช Testing
bindu is thoroughly tested with a test coverage of over 83%:
# Run tests with coverage
make test
make coverage
๐ค Contributing
We welcome contributions! Here's how to get started:
# Clone the repository
git clone https://github.com/bindu-ai/pebble.git
cd pebble
# Install development dependencies
uv sync --dev
# Install pre-commit hooks
pre-commit install
# Run tests
make test
Please see our Contributing Guidelines for more details.
๐ฅ Maintainers
For more details about maintainership, including how to become a maintainer, see our MAINTAINERS.md file.
๐ License
bindu is proudly open-source and licensed under the MIT License.
๐ป Example Use Cases
bindu is ideal for:
- Multi-Agent Collaboration: Enable efficient, secure teamwork between LLM-driven agents.
- Decentralized Autonomous Systems: Build reliable decentralized AI networks.
- Secure Agent Ecosystems: Create ecosystems where agents from different providers interact seamlessly.
- Distributed AI Workflows: Coordinate agents across distributed computing environments.
๐ Community
We ๐ contributions! Whether you're fixing bugs, improving documentation, or building demos โ your contributions make bindu better.
- Join our Discord for discussions and support
- Star the repository if you find it useful!
๐ง Roadmap
Here's what's next for bindu:
- GRPC transport support
- Integration with Hibiscus (DiD - Decentralized Identifiers, mTLS)
- Detailed tutorials and guides
- Expanded multi-framework support
Suggest features or contribute by joining our Discord!
FAQ
Can bindu be deployed locally? Yes! bindu supports local development as well as cloud-based deployments.
Security:
curl --request POST
--url https://dev-tlzrol0zsxw40ujx.us.auth0.com/oauth/token
--header 'content-type: application/json'
--data '{"client_id":"GGLemeiKL6MfXD7Hy4L4mtz8WNIhRtkS","client_secret":"zXcdPIQRAM9iHzABZtcfaN_2iICW4pfuoyUChIcVDF5488ejtyKG_U_PyWj9kpJT","audience":"https://dev-tlzrol0zsxw40ujx.us.auth0.com/api/v2/","grant_type":"client_credentials"}'
| jq -r '.access_token'
Standard JSON-RPC (-32700 to -32603) โโ -32700: Parse error โโ -32600: Invalid Request โโ -32601: Method not found โโ -32602: Invalid params โโ -32603: Internal error
A2A Official (-32001 to -32007) โโ -32001: TaskNotFoundError โ โโ -32002: TaskNotCancelableError โ โโ -32003: PushNotificationNotSupportedError โ โโ -32004: UnsupportedOperationError โ โโ -32005: ContentTypeNotSupportedError โ โโ -32006: InvalidAgentResponseError โ โโ -32007: AuthenticatedExtendedCardNotConfiguredError โ
Bindu Extensions (-32008 to -32099) โโ -32008: TaskImmutableError (custom) โโ -32009 to -32013: Authentication errors โโ -32020 to -32021: Context errors
โญ Star History
Built with โค๏ธ by the bindu team from Amsterdam ๐ท.
Happy bindu! ๐ป๐โจ
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bindu-0.3.14.tar.gz.
File metadata
- Download URL: bindu-0.3.14.tar.gz
- Upload date:
- Size: 118.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e6c2264bfd305122ef1dd804f7ac68edbfcf2fee1d7440030ad17f616c4204d
|
|
| MD5 |
6f066e067922b56f3815d2bc7edc3501
|
|
| BLAKE2b-256 |
7891fcfc0fb1fbfd014580a0d2151ec05f5e67c32ce11083de820e9e2cd12790
|
File details
Details for the file bindu-0.3.14-py3-none-any.whl.
File metadata
- Download URL: bindu-0.3.14-py3-none-any.whl
- Upload date:
- Size: 145.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
138a33480303cfd4ad43c1eb637b6e4963d9a7797f5ee59fb41c397f1d0eb3f2
|
|
| MD5 |
ac5c9cd72b3c8d0a8d8747acbcc92619
|
|
| BLAKE2b-256 |
a0cce640df2f9752d5f03d9b8c3abd5253f52dbd35cf811a7a26a9b2fe1ad429
|