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 details)

Uploaded Source

File details

Details for the file tamarco-0.1.1.tar.gz.

File metadata

  • Download URL: tamarco-0.1.1.tar.gz
  • Upload date:
  • Size: 92.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.1

File hashes

Hashes for tamarco-0.1.1.tar.gz
Algorithm Hash digest
SHA256 46a471cc54507bb133a37916daaebb47cb0fabf4bfac02c37dcf45d0d813da0f
MD5 fbc68715c4a7cbc694d8237ac7967403
BLAKE2b-256 91c2bb219b7c4e51eba05a9ebccb4481d63e3aec8210d5af733618ec602d0f3a

See more details on using hashes here.

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