Mahilo

Latest version: v0.5.0

Safety actively analyzes 723217 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.5.0

👀 A Message Protocol, Metrics, Traces and some sweet new endpoints!

With this release, mahilo can now help you see how agents communicate through message tracking, agent metrics and traces of all major events in your mahilo system.

📨 Message Protocol & Broker
Finally tackled one of our biggest challenges - making inter-agent communication more robust and trackable. Now every message between agents:
- Has its own unique identity and signature (using HS256 encryption)
- Can be tracked through its entire lifecycle
- Supports message acknowledgments and retries
- Uses a SQLite store to persist all communications

Here's what a message looks like now:
json
{
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"sender": "agent1",
"recipient": "agent2",
"message_type": "direct",
"payload": "Hello, agent2!",
"timestamp": 1710234567.89,
"correlation_id": "123",
"reply_to": "agent1",
"signature": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9..."
}


🔍 New Message Query Endpoints
All your agent messages are now available through some handy endpoints:
- `/messages` - Get all messages with flexible filtering:
- `?sender=agent1` - Filter by sender
- `?recipient=agent2` - Filter by recipient
- `start_time` and `end_time` - Get messages within a time range
- `/conversations/agent1/agent2` - Quick way to fetch all conversations between two specific agents

📊 OpenTelemetry Integration: See Everything!
Added comprehensive observability with OpenTelemetry! You can now track:
- Message processing times
- Queue sizes
- Retry counts
- Active agents
- And much more!

All these metrics and traces are available through new endpoints:
- `/metrics` - Get all your metrics
- `/traces` - Check out the traces
- `/metrics/prometheus` - Prometheus format (custom implementation to keep dependencies light)

🎙️ Voice Improvements: Smoother Than Ever
Made some serious improvements to the voice interface:
- No more Azure deployment needed - just use your OpenAI key!
- Fixed an annoying event loop starvation bug
- Function calls now work with voice responses
- Much smoother audio output by reusing output streams
- Better voice quality overall

🤔 What's Next?
This release lays the groundwork for some really cool features I'm planning. The message broker and telemetry will help make agent interactions more reliable and observable.

Try it out and let me know what you think! If you run into any issues or have ideas for improvements, don't hesitate to open an issue.

---
As always, thanks for using mahilo! 🙏


PRs
* Improve Realtime API integration (smoother and more powerful) by wjayesh in https://github.com/wjayesh/mahilo/pull/19
* Create a message protocol and broker. Add telemetry 🦸 by wjayesh in https://github.com/wjayesh/mahilo/pull/20
* In-memory exporter and an http endpoint to serve metrics and traces by wjayesh in https://github.com/wjayesh/mahilo/pull/21


**Full Changelog**: https://github.com/wjayesh/mahilo/compare/0.4.2...0.5.0

0.4.2

mahilo has a CLI now! (and easier imports) 🧑‍💻

- Connecting to your mahilo server is easier than ever before and you don't need the `client.py` file. There's a shiny new `connect` command that you can run now.
bash
mahilo connect --agent-name ProductAgent


- In addition, imports are a lot simpler now. Instead of having to import agents and servers from `mahilo.agent` and so on, you can just import everything from mahilo directly.

python
from mahilo import BaseAgent, AgentManager, ServerManager


- pyaudio is no longer needed when running the client, unless you use the `voice` flag, making the installation less painful for new users.


What's Changed
* docs: update README.md by eltociear in https://github.com/wjayesh/mahilo/pull/15
* rm pyaudio installation requirement if voice disabled by wjayesh in https://github.com/wjayesh/mahilo/pull/16
* Add CLI for connection and more direct imports by wjayesh in https://github.com/wjayesh/mahilo/pull/17

New Contributors
* eltociear made their first contribution in https://github.com/wjayesh/mahilo/pull/15

**Full Changelog**: https://github.com/wjayesh/mahilo/compare/0.4.1...0.4.2

0.4.0

🤖 🤗 Bringing Together All Your Agents Using Mahilo

This Christmas, **mahilo** brings together all agents, irrespective of the framework they are written in, using a central **control plane**. You can now register your agents (starting with LangGraph and PydanticAI 🎉) with mahilo to:
- Enable real-time communication with them using voice 🔊 and chat.
- Allow them to talk to each other and share information instead of working in silos.

Going forward, more and more organizations will look to hire specialized agents and it is crucial that they are aware of other agents working alongside them and can learn from them to get better at their own jobs. Mahilo enables this future. More frameworks and proprietary agent services are coming soon, stay tuned! 😉

What's Changed
* Add LangGraph integration by wjayesh in https://github.com/wjayesh/mahilo/pull/12
* Add PydanticAI integration by wjayesh in https://github.com/wjayesh/mahilo/pull/13
* Add the Team Of Agents Examples showing cross framework collaboration by wjayesh in https://github.com/wjayesh/mahilo/pull/14


**Full Changelog**: https://github.com/wjayesh/mahilo/compare/0.3.0...0.4.0

0.3.0

💪 Mahilo is now more flexible and powerful!
Important changes that let you build for a wider range of new use cases by taking away the requirement of a human to be associated with an agent. You can also add custom tools and name your agents!

What's Changed
* Make human interaction optional by wjayesh in https://github.com/wjayesh/mahilo/pull/7
* Ability to add and modify custom tools by wjayesh in https://github.com/wjayesh/mahilo/pull/8
* Add example of multi-agent real estate platform by wjayesh in https://github.com/wjayesh/mahilo/pull/9
* Introduce agent name as primary identifier by wjayesh in https://github.com/wjayesh/mahilo/pull/10


**Full Changelog**: https://github.com/wjayesh/mahilo/compare/0.2.1...0.3.0

0.2.1

😼 New Example: A Story-Weaver Game
I added a fun new example to play with your friends. Check out the README to learn more.

Making it easy to deploy mahilo 👀
I made it easy for multiple mahilo servers to be run on the same machine and added a health check endpoint. This will make it easy to be deployed and served. Something along these lines is also coming soon!

Other improvements
* Add rich logging and improve error handling by wjayesh in https://github.com/wjayesh/mahilo/pull/2
* Increase context, add first version of story weaver and some fixes by wjayesh in https://github.com/wjayesh/mahilo/pull/3
* Add story weaver game example and some session improvements by wjayesh in https://github.com/wjayesh/mahilo/pull/4


**Full Changelog**: https://github.com/wjayesh/mahilo/compare/0.2.0...0.2.1

0.2.0

What's Changed: OpenAI Realtime API General Support 🎉🥳

I recently added Realtime API support to mahilo with the 911 scenario example for the dispatcher agent (see tweet: https://x.com/WJayesh/status/1841497603110043910).

This release adds that support to the library in a general way. Any agents wanting to make use of the voice feature can now pass in the `--voice` flag to the `client.py` file.

There's also a new example now: the 911 scenario where a dispatcher has to talk to a distressed person as well as other humans like police and a medic, all through agents in mahilo.

Note: This currently only works if you have an Azure OpenAI deployment of the new model.

📖 Article about how I built this feature: https://medium.com/wjayesh/building-a-voice-enabled-python-fastapi-app-using-openais-realtime-api-bfdf2947c3e4


**Full Changelog**: https://github.com/wjayesh/mahilo/commits/0.2.0

Links

Releases

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.