Metadata-Version: 2.1
Name: fastflows
Version: 0.1.2
Summary: FastFlows is a FastAPI server & command line tool to comunicate with Prefect 2.0 as a Workflow manager (and in future other systems like Pygeoapi, for example) to deploy, run, track flows and more.
Home-page: https://github.com/geobeyond/fastflows
License: MIT
Author: Francesco Bartoli
Author-email: francesco.bartoli@geobeyond.it
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 1 - Planning
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Dist: fastapi-opa (>=1.3.7,<2.0.0)
Requires-Dist: fsspec (>=2022.7.1,<2023.0.0)
Requires-Dist: httpx (>=0.23.0,<0.24.0)
Requires-Dist: loguru (>=0.6.0,<0.7.0)
Requires-Dist: mangum (>=0.15.0,<0.16.0)
Requires-Dist: pydantic[dotenv] (>=1.9.1,<2.0.0)
Requires-Dist: python-slugify (>=6.1.2,<7.0.0)
Requires-Dist: rich (>=12.4.4,<13.0.0)
Requires-Dist: s3fs (>=2022.7.1,<2023.0.0)
Requires-Dist: typer (>=0.6.1,<0.7.0)
Requires-Dist: uvicorn (>=0.17.6,<0.19.0)
Project-URL: Documentation, https://github.com/geobeyond/fastflows
Project-URL: Repository, https://github.com/geobeyond/fastflows
Description-Content-Type: text/markdown

## Run FastFlow server

FastFlows is a FastAPI server & command line tool to comunicate with Prefect 2.0 as a Workflow manager to deploy, run, track flows and more.

To start work with FastFlows you should define at least 2 environment variables:

```console

    # Prefect API Server address
    PREFECT_URI=http://localhost:4200

    # Path to folder with flows
    FLOWS_HOME=flows

```

If you want to define variables with env prefix, for example, like 'LOCAL_PREFECT_URI' or 'DEV_PREFECT_URI' you can use environment variable 'ENV_NAME'

If Fastflow will see 'ENV_NAME' variable in environment - it will search for variables with prefix defined in this ENV_NAME, for example:

if ENV_NAME = 'LOCAL'

Fastflows will read variables like LOCAL_PREFECT_URI and LOCAL_FLOWS_HOME,

if ENV_NAME = 'dev', then fastflow will expect variables like 'dev_PREFECT_URI' and 'dev_FLOWS_HOME'

### How to run FastFlows with Prefect cluster

#### with Kubernetes

- [Kube instructions](docker/README.md)
- [Kubernetes configuration](docker/kube-infra/)

#### with Docker-Compose

- [Docker-Compose readme](docker/README.md)
- [Docker-compose YAML](docker/docker-compose.yml)

### Run cli

```console

    fastflows --help

```

### Flows Deployment

#### Auto deployment

Deployment of Flows can be done by FastFlows automatically: if there is a new flow or changes in FLOWS_HOME directory - FastFlow create new deployment. To disable auto deployment set env variable to 0

```console

    FASTFLOWS_AUTO_DEPLOYMENT = 0

```

