Skip to main content

Microservices framework designed for asyncio and Python

Project description

Tamarco

Build Status Build Documentation Coverage Quality Gate Status

Microservices framework designed for asyncio and Python.

Features

  • Lifecycle management.
  • Standardized settings via etcd.
  • Automatic logging configuration. Support for sending logs to an ELK stack.
  • Application metrics via Prometheus.
  • Designed for asyncio.
  • Messaging patterns. The framework comes with support for AMQP and Kafka via external resources. The AMQP resource has implemented publish/subscribe, request/response and push/pull patterns.
  • Custom encoders and decoders.
  • Pluging oriented architecture. Anyone can create a new resource to add new functionality. External resources are integrated into the framework transparently for the user.
  • Graceful shutdown.

Resources

The framework allows to write external resources and integrate them in the lifecycle of a microservice easily. List with the available resources:

  • Metrics
  • Registry
  • Status
  • Profiler
  • Memory analizer
  • HTTP
  • Kafka
  • AMQP
  • Postgres (not released yet)
  • Influxdb (not released yet)
  • Redis (not released yet)
  • Websocket (not released yet)

Let us know if you have written a resource.

Documentation

The documentation is available here.

Examples

There are several examples in the examples folder.

To run them, install tamarco, launch the docker-compose (not necessary for all the examples) and run it.

pip install tamarco
docker-compose up -d
python examples/http_resource/microservice.py

Requirements

Support for Python >= 3.6.

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

tamarco-0.1.1.tar.gz (92.3 kB view hashes)

Uploaded Source

Supported by

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