Introduction
This is tomodachi – used to simplify microservice development in Python.
tomodachi
A framework to quickly create microservices using
asyncio
(async
/await
) on Python 3, with built-in support for HTTP, Websocket connections, AWS SNS+SQS event based messaging and RabbitMQ / AMQP topic exchange pub/sub for optional intra-service communication.

Built on Python 3 and used for fast-paced development
Tomodachi is a tiny framework designed to be used for microservice development by giving services capabilities of listening on HTTP or communicating over event driven message buses like RabbitMQ, AMQP, AWS (Amazon Web Services) SNS+SQS, etc.
It's designed to be extendable to make use of any type of transport layer available.
Usage: tomodachi <command> [options] [arguments]
Options:
-h, --help Show this help message and exit
-v, --version Print tomodachi version
--dependency-versions Print versions of dependencies
Available commands:
---
Command: run
Starts service(s) defined in the .py files specified as <service> argument(s)
$ tomodachi run <service ...> [-c <config-file ...>] [--production]
| --loop [auto|asyncio|uvloop] Event loop implementation [asyncio]
| --production Disable restart on file changes
| -c, --config <files> Use configuration from JSON files
| -l, --log <level>, --log-level <level> Specify log level
>> Version: x.xx.xx
>> Full documentation at: https://tomodachi.dev/docs
Tomodachi [友達] means friends.
A cluster of microservices working together. 🐶😻🦁🐹🦊🐸
Supported protocols / transport layers
tomodachi
comes with some built-in triggers for your code, with the possibility to add additional subscriptions (ways of invoking service tasks / functions) by extending the tomodachi.Invoker
class.
Currently available built-in supported protocols and transport methods:
- HTTP requests – including connection keep-alive
- WebSocket connections
- AWS SNS + SQS event based messaging – incl. message attributes and filter policy support
- RabbitMQ / AMQP pub/sub – topic exchange
- Scheduled function invocations – with cron notation or on timed intervals
Source code / open source / GitHub
Note that
tomodachi
is open source software licensed under theMIT License
and the full source code, releases and the changelog is available at:
- GitHub repository: https://github.com/kalaspuff/tomodachi
- Releases: https://github.com/kalaspuff/tomodachi/releases
- Changelog: https://github.com/kalaspuff/tomodachi/blob/master/CHANGES.rst
Disclaimer
Please note: this library is a work in progress.
Consider
tomodachi
as beta software.tomodachi
is still an experimental project with an unregular release schedule. The package is not yet available as1.0.0
and there may be breaking changes between0.x
versions.
Updated almost 2 years ago