Skip to main content

A protocol framework for agent-to-agent communication

Project description

bindu Logo

bindu

GitHub License Hits Python Version Tests Coverage Status PyPI version PyPI Downloads PRs Welcome Join Discord Documentation GitHub stars

โœจ 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

Agent Demo

๐Ÿ“Š Interactive Diagrams

๐Ÿ”„ Sequence Diagram View Interactive Diagram

Open the interactive version of this sequence diagram in MermaidChart

๐Ÿ—๏ธ Orchestration Diagram View Interactive Diagram

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

Star History Chart

Built with โค๏ธ by the bindu team from Amsterdam ๐ŸŒท.

Happy bindu! ๐ŸŒป๐Ÿš€โœจ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bindu-0.3.14.tar.gz (118.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bindu-0.3.14-py3-none-any.whl (145.7 kB view details)

Uploaded Python 3

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

Hashes for bindu-0.3.14.tar.gz
Algorithm Hash digest
SHA256 5e6c2264bfd305122ef1dd804f7ac68edbfcf2fee1d7440030ad17f616c4204d
MD5 6f066e067922b56f3815d2bc7edc3501
BLAKE2b-256 7891fcfc0fb1fbfd014580a0d2151ec05f5e67c32ce11083de820e9e2cd12790

See more details on using hashes here.

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

Hashes for bindu-0.3.14-py3-none-any.whl
Algorithm Hash digest
SHA256 138a33480303cfd4ad43c1eb637b6e4963d9a7797f5ee59fb41c397f1d0eb3f2
MD5 ac5c9cd72b3c8d0a8d8747acbcc92619
BLAKE2b-256 a0cce640df2f9752d5f03d9b8c3abd5253f52dbd35cf811a7a26a9b2fe1ad429

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page