Metadata-Version: 2.1
Name: PoolFlow
Version: 0.0.5
Summary: A simple process management library
Home-page: https://victorgarric.github.io/PoolFlow/
Author: Victor Garric
Author-email: victor.garric@gmail.com
License: MIT
Description-Content-Type: text/markdown

# PoolFlow



**A simple process management library**



## Introduction

**PoolFlow** provides simple objects to manage the execution of a variety of tasks and 
its memory usage. The main objective of **PoolFlow** is to perform a lot of scientific calculations
 and manage their successive executions through the subprocess library.

## Schematic principle

The way **PoolFlow** works could be synthesized by the following diagram. A list of jobs is 
given and the `pool` object manage the available virtual memory, considering the maximum estimated
cost of the job given by the user.



``` mermaid
graph LR
A[Job with<br>given cost]-->|Set of parameters|B{Pool};
B-->C[Estimated usage<br>memory];
C-->|Not enough<br>memory|B;
C-->|Memory available<br>and allocated|D[Job is<br>launched];
D-->|Job is done<br>memory est released|B;

```


## Installing 
The only external package **SourceFlow** depends on is `rich`. Install it directly via `pip`:


`pip install PoolFlow`



## [Documentation](https://victorgarric.github.io/PoolFlow/)


## Warning and known issues

**PoolFlow** uses management resources via `resource` native package. Due to the way `resource` work, some limitation
and unlimitation procedures are only available on Unix.

