# Orchestrator-Core
<p align="center"><em>Production ready Orchestration Framework to manage product lifecyle and workflows. Easy to use, Built on top of FastAPI</em></p>

<p align="center">
    <a href="https://pepy.tech/project/orchestrator-core" target="_blank">
    <img src="https://pepy.tech/badge/orchestrator-core/month" alt="Downloads">
    </a>
    <a href="https://codecov.io/gh/workfloworchestrator/orchestrator-core" target="_blank">
    <img src="https://codecov.io/gh/workfloworchestrator/orchestrator-core/branch/main/graph/badge.svg?token=5ANQFI2DHS" alt="Coverage">
    </a>
    <a href="https://pypi.org/project/orchestrator-core" target="_blank">
    <img src="https://img.shields.io/pypi/v/orchestrator-core?color=%2334D058&label=pypi%20package" alt="Pypi">
    </a>
</p>
<br>
<br>
__The orchestrator core is a project developed by [SURF](https://www.surf.nl) to facilitate the orchestration of services.
Together with [ESnet](https://www.es.net) this project has been opensourced in [the commons conservancy](https://commonsconservancy.org)
to help facilitate collaboration. We invite all who are interested to take a look and to contribute!__

## Orchestration
When do you orchestrate and when do you automate? The answer is you probably need both. Automation helps you execute repetetive
tasks reliably and easily, Orchestration adds a layer and allows you to add more intelligence to the tasks you need to automate and 
to have a complete audit log of changes.

> #### Orchestrate[*](https://www.lexico.com/en/definition/orchestrate) - Transitive Verb
> /ˈôrkəˌstrāt/ /ˈɔrkəˌstreɪt/
>
>   1: Arrange or score (music) for orchestral performance.
>
>   *‘the song cycle was stunningly arranged and orchestrated’*
>
>   2:  Arrange or direct the elements of (a situation) to produce a desired effect, especially surreptitiously.
>
>   *‘the developers were able to orchestrate a favorable media campaign’*

## Project Goal
This **orchestrator-core** provides a framework through which you can manage service orchestration for your end users. It enables you to
define products to which users can subscribe, and helps you intelligently manage the lifecycle of **Creation**, **Modification**,
**Termination** and **Validation** of a customer subscription.

## Usage
{%
    include-markdown "../README.md"
    start="## Usage"
%}
