Skip to main content

Coworks is a unified compositional microservices framework using Flask/Airflow on AWS serverless technologies.

Project description

CoWorks Logo

Maintenance Build Status Documentation Status Codecov Python Versions Licence

CoWorks is a unified serverless microservices framework based on AWS technologies (API Gateway, AWS Lambda), the Flask framework (Flask/Click) and the Airflow platform.

The aim of this project is to offer a very simplified experience of microservices. For such purpose, we divided the CoWorks framework in two levels:

Small technical microservice

TechMicroservice are each composed of simple python Flask application and deployed as a serverless Lambda. Each TechMicroService is an atomic component or atomic microservice. These microservices may be called synchronously or asynchronously.

Functional business service

biz are composite business services, which are Airflow DAGs providing orchestration of atomic microservices or components (aka: TechMicroService).

To get started with CoWorks, first follow the Installation Guide. Then you can get a quickstart on TechMicroService Quickstart. Once familiar with TechMicroService, you can continue with BizMicroService Quickstart.

Data model

The data model shared between those services may be structured with pydantic and using the JSON:API specification. You can install this data protocol for CoWorks with: pip install coworks[jsonapi-sqlalchemy].

Documentation

  • Setup and installation: Installation

  • Complete reference guide: Documentation.

  • Samples:
    • layers : Get available CoWorks lambda layers: CoWorks layers.

    • website : Very simple website done as a simple microservice: Website.

  • Read FAQ for other information.

Contributing

We work hard to provide a high-quality and useful framework, and we greatly value feedback and contributions from our community. Whether it’s a new feature, correction, or additional documentation, we welcome your pull requests. Please submit any issues or pull requests through GitHub.

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

coworks-0.9.4a3.tar.gz (72.1 kB view hashes)

Uploaded Source

Built Distribution

coworks-0.9.4a3-py3-none-any.whl (74.0 kB view hashes)

Uploaded Python 3

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