Skip to main content

FlowTask

FlowTask is a plugin-based, component-driven task execution framework for create complex Tasks.

FlowTask runs Tasks defined in JSON, YAML or TOML files, any Task is a combination of Components, and every component in the Task run sequentially or depend of others, like a DAG.

Can create a Task combining Commands, Shell scripts and other specific Components (as TableInput: Open a Table using a datasource, DownloadFromIMAP: Download a File from a IMAP Folder, and so on), any Python Callable can be a Component inside a Task, or can extends UserComponent to build your own componets.

Every designed Task can run from CLI, programmatically, via RESTful API (using our aioHTTP-based Handler), called by WebHooks or even dispatched to a external Worker using our built-in Scheduler.

Quickstart

pip install flowtask

Tasks can organizated into directory structure like this:

tasks / ├── programs / ├── test / ├── tasks /

The main reason of this structure, is maintain organized several tasks by tenant/program, avoiding filling a directory with several task files.

FlowTask support "TaskStorage", a Task Storage is the main repository for tasks, main Task Storage is a directory in any filesystem path (optionally you can syncronize that path using git), but Tasks can be saved onto a Database or a S3 bucket.

Dependencies

  • aiohttp (Asyncio Web Framework and Server) (required by navigator)
  • AsyncDB
  • QuerySource
  • Navigator-api
  • (Optional) Qworker (for distributing asyncio Tasks on distributed workers).

Features

  • Component-based Task execution framework with several components covering several actions (download files, create pandas dataframes from files, mapping dataframe columns to a json-dictionary, etc)
  • Built-in API for execution of Tasks.

How I run a Task?

Can run a Task from CLI:

task --program=test --task=example

on CLI, you can pass an ENV (enviroment) to change the environment file on task execution.

ENV=dev task --program=test --task=example

or Programmatically:

from flowtask import Task
import asyncio

task = Task(program='test', task='example')
results = asyncio.run(task.run())
# we can alternatively, using the execution mode of task object:
results = asyncio.run(task())

Requirements

Contribution guidelines

Please have a look at the Contribution Guide

  • Writing tests
  • Code review
  • Other guidelines

Who do I talk to?

  • Repo owner or admin
  • Other community or team contact

License

Navigator is licensed under Apache 2.0 License. See the LICENSE file for more details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flowtask-5.12.12.tar.gz (1.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

flowtask-5.12.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

flowtask-5.12.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

flowtask-5.12.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

File details

Details for the file flowtask-5.12.12.tar.gz.

File metadata

  • Download URL: flowtask-5.12.12.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for flowtask-5.12.12.tar.gz
Algorithm Hash digest
SHA256 497b30e01052a2bc5c054fd3335ddcbef8b8b7162c92ece97acff0ea5e514d73
MD5 bef36277b18697c7c781cb912f842544
BLAKE2b-256 4d0464cc3587ee549fd6ebd85b377570f1880732199f04168dacc9626d342889

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowtask-5.12.12.tar.gz:

Publisher: release.yml on phenobarbital/flowtask

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowtask-5.12.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for flowtask-5.12.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 cf7b8b00ebfe1b1e2f6c05d7b46f6e3b4b17b6624203ee9b57e393c2237b9c88
MD5 009cd2d48cf1c69124ccf934e046836b
BLAKE2b-256 f09e83e1d17a9d7157fcd81c0052ac7264db5797f3c0e04734114a59055546ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowtask-5.12.12-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on phenobarbital/flowtask

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowtask-5.12.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for flowtask-5.12.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 498ab587e0d6f2c9dc3dcbd8cb2c187a19c8ad8de341060ff04b7d5f1826b6b0
MD5 d1b6ff4ec1f86ea7e313c5f3d92a5a47
BLAKE2b-256 300df34d296bcb5723aa06047fb406fa41a8a158ade30d8903978be60b714b9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowtask-5.12.12-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on phenobarbital/flowtask

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowtask-5.12.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for flowtask-5.12.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 31bfbc14281c03e65ad4ea55ebd007f3494889274f8d23dc799fee326c0ec3bb
MD5 3edd8a3c49d1bb1fac9fabae77cb80c7
BLAKE2b-256 9ecce0cc604c9cc42d05e137f5fa1c78d17871947a6f90c13e671df3248bee5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowtask-5.12.12-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:

Publisher: release.yml on phenobarbital/flowtask

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

5.12.14

4 files

5.12.13

4 files

This release

5.12.12 This release

4 files

5.12.11

4 files

5.12.9

4 files

5.12.8

4 files

5.12.7

4 files

5.12.6

4 files

5.12.5

4 files

5.12.4

4 files

5.12.3

4 files

5.12.2

4 files

5.12.1

4 files

5.12.0

4 files

5.11.11

4 files

5.11.10

4 files

5.11.9

4 files

5.11.8

4 files

5.11.7

4 files

5.11.6

4 files

5.11.2

3 files

5.11.1

3 files

5.11.0

3 files

5.10.4

3 files

5.10.3

3 files

5.10.2

3 files

5.10.0

3 files

5.9.51

3 files

5.9.50

3 files

5.9.49

3 files

5.9.48

3 files

5.9.47

3 files

5.9.46

3 files

5.9.45

3 files

5.9.44

3 files

5.9.43

3 files

5.9.42

3 files

5.9.41

3 files

5.9.40

3 files

5.9.39

3 files

5.9.38

3 files

5.9.37

3 files

5.9.36

3 files

5.9.35

3 files

5.9.34

3 files

5.9.33

3 files

5.9.32

3 files

5.9.31

3 files

5.9.30

3 files

5.9.29

3 files

5.9.28

3 files

5.9.27

3 files

5.9.26

3 files

5.9.25

3 files

5.9.24

3 files

5.9.23

3 files

5.9.22

3 files

5.9.21

3 files

5.9.19

3 files

5.9.18

3 files

5.9.17

3 files

5.9.16

3 files

5.9.15

3 files

5.9.14

3 files

5.9.12

3 files

5.9.11

3 files

5.9.10

3 files

5.9.9

3 files

5.9.8

3 files

5.9.7

3 files

5.9.6

3 files

5.9.5

3 files

5.9.4

3 files

5.9.3

3 files

5.9.1

3 files

5.9.0

3 files

5.8.23

4 files

5.8.22

4 files

5.8.21

4 files

5.8.20

4 files

5.8.19

4 files

5.8.18

4 files

5.8.17

4 files

5.8.16

4 files

5.8.15

4 files

5.8.14

4 files

5.8.13

4 files

5.8.12

4 files

5.8.11

4 files

5.8.10

4 files

5.8.9

4 files

5.8.8

4 files

5.8.7

4 files

5.8.6

4 files

5.8.5

4 files

5.8.4

4 files

5.8.3

4 files

5.8.2

4 files

5.8.1

4 files

5.8.0

4 files

5.7.21

4 files

5.7.19

4 files

5.7.18

4 files

5.7.17

4 files

5.7.16

4 files

5.7.15

4 files

5.7.14

4 files

5.7.13

4 files

5.7.12

4 files

5.7.11

4 files

5.7.10

4 files

5.7.9

4 files

5.7.8

4 files

5.7.7

4 files

5.7.6

4 files

5.7.5

4 files

5.7.4

4 files

5.7.3

4 files

5.7.2

4 files

5.7.1

4 files

5.7.0

4 files

5.6.20

4 files

5.6.19

4 files

5.6.18

4 files

5.6.17

4 files

5.6.16

4 files

5.6.15

4 files

5.6.14

4 files

5.6.13

4 files

5.6.12

4 files

5.6.11

4 files

5.6.10

4 files

5.6.9

4 files

5.6.8

4 files

5.6.7

4 files

5.6.6

4 files

5.6.5

4 files

5.6.4

4 files

5.6.3

4 files

5.6.2

4 files

5.6.1

4 files

5.6.0

4 files

5.5.21

4 files

5.5.20

4 files

5.5.19

4 files

5.5.18

4 files

5.5.17

4 files

5.5.15

4 files

5.5.14

4 files

5.5.12

4 files

5.5.10

4 files

5.5.9

4 files

5.5.8

4 files

5.5.7

4 files

5.5.6

4 files

5.5.5

4 files

5.5.4

4 files

5.5.3

4 files

5.5.1

4 files

5.5.0

4 files

5.4.17

4 files

5.4.16

4 files

5.4.15

4 files

5.4.14

4 files

5.4.12

4 files

5.4.11

4 files

5.4.10

4 files

5.4.9

4 files

5.4.8

4 files

5.4.7

4 files

5.4.6

4 files

5.4.5

4 files

5.4.4

3 files

5.4.3

3 files

5.4.2

3 files

5.4.1

3 files

5.3.8

3 files

5.3.7

3 files

5.3.6

3 files

5.3.5

3 files

5.3.4

3 files

5.3.3

2 files

5.3.2

3 files

5.3.1

3 files

5.3.0

3 files

5.2.81

3 files

5.2.80

3 files

5.2.78

3 files

5.2.77

3 files

5.2.76

3 files

5.2.75

3 files

5.2.74

3 files

5.2.73

3 files

5.2.72

3 files

5.2.71

3 files

5.2.70

3 files

5.2.69

3 files

5.2.68

3 files

5.2.67

3 files

5.2.66

3 files

5.2.65

3 files

5.2.64

3 files

5.2.63

3 files

5.2.62

3 files

5.2.60

3 files

5.2.59

3 files

5.2.58

3 files

5.2.57

3 files

5.2.56

3 files

5.2.55

3 files

5.2.54

3 files

5.2.53

3 files

5.2.52

3 files

5.2.51

3 files

5.2.50

3 files

5.2.49

3 files

5.2.48

3 files

5.2.47

3 files

5.2.46

3 files

5.2.45

3 files

5.2.44

3 files

5.2.43

3 files

5.2.42

3 files

5.2.41

3 files

5.2.40

3 files

5.2.39

3 files

5.2.38

3 files

5.2.37

3 files

5.2.36

3 files

5.2.35

3 files

5.2.34

3 files

5.2.33

3 files

5.2.32

3 files

5.2.31

3 files

5.2.30

3 files

5.2.29

3 files

5.2.28

3 files

5.2.27

3 files

5.2.26

3 files

5.2.25

3 files

5.2.24

3 files

5.2.23

3 files

5.2.22

3 files

5.2.21

3 files

5.2.20

3 files

5.2.19

3 files

5.2.18

3 files

5.2.17

3 files

5.2.16

3 files

5.2.15

3 files

5.2.14

3 files

5.2.13

3 files

5.2.12

2 files

5.2.11

3 files

5.2.10

3 files

5.2.9

3 files

5.2.8

3 files

5.2.7

3 files

5.2.6

3 files

5.2.5

3 files

5.2.4

3 files

5.2.2

3 files

5.2.1

3 files

5.2.0

3 files

5.1.28

3 files

5.1.27

3 files

5.1.26

3 files

5.1.25

3 files

5.1.24

3 files

5.1.23

3 files

5.1.21

3 files

5.1.20

3 files

5.1.19

3 files

5.1.18

3 files

5.1.17

3 files

5.1.16

3 files

5.1.15

3 files

5.1.14

3 files

5.1.13

3 files

5.1.12

3 files

5.1.11

3 files

5.1.10

3 files

5.1.9

3 files

5.1.8

3 files

5.1.7

3 files

5.1.6

3 files

5.1.5

3 files

5.1.4

3 files

5.1.3

3 files

5.1.2

3 files

5.1.1

3 files

5.1.0

3 files

5.0.28

3 files

5.0.27

3 files

5.0.26

3 files

5.0.25

3 files

5.0.24

3 files

5.0.23

3 files

5.0.22

3 files

5.0.21

3 files

5.0.20

3 files

5.0.19

3 files

5.0.18

3 files

5.0.17

3 files

5.0.16

3 files

5.0.15

3 files

5.0.14

3 files

5.0.13

3 files

5.0.12

3 files

5.0.11

3 files

5.0.10

3 files

5.0.9

3 files

5.0.8

3 files

5.0.7

3 files

5.0.6

3 files

5.0.5

3 files

5.0.4

3 files

5.0.3

3 files

5.0.2

3 files

5.0.1

3 files

5.0.0

3 files

4.7.12

3 files

4.7.11

3 files

4.7.10

3 files

4.7.9

3 files

4.7.7

3 files

4.7.6

3 files

4.7.5

3 files

4.7.4

3 files

4.7.3

3 files

4.7.2

3 files

4.7.1

3 files

4.7.0

3 files

4.6.14

3 files

4.6.13

3 files

4.6.12

3 files

4.6.11

3 files

4.6.10

3 files

4.6.9

3 files

4.6.8

3 files

4.6.7

3 files

4.6.6

3 files

4.6.5

3 files

4.6.4

3 files

4.6.3

3 files

4.6.2

3 files

4.6.1

3 files

4.6.0

3 files

4.5.30

3 files

4.5.29

3 files

4.5.28

3 files

4.5.27

3 files

4.5.26

3 files

4.5.25

3 files

4.5.24

3 files

4.5.23

3 files

4.5.22

3 files

4.5.21

3 files

4.5.20

3 files

4.5.19

3 files

4.5.18

3 files

4.5.16

3 files

4.5.15

3 files

4.5.14

3 files

4.5.13

3 files

4.5.12

3 files

4.5.11

3 files

4.5.10

3 files

4.5.9

3 files

4.5.8

3 files

4.5.7

3 files

4.5.6

3 files

4.5.5

3 files

4.5.4

3 files

4.5.3

3 files

4.5.1

3 files

4.5.0

3 files

4.4.14

3 files

4.4.13

3 files

4.4.12

3 files

4.4.11

3 files

4.4.10

3 files

4.4.9

3 files

4.4.8

3 files

4.4.7

3 files

4.4.6

3 files

4.4.5

3 files

4.4.4

3 files

4.4.2

3 files

4.4.1

3 files

4.4.0

3 files

4.3.51

3 files

4.3.50

3 files

4.3.49

3 files

4.3.48

3 files

4.3.47

3 files

4.3.46

3 files

4.3.45

3 files

4.3.44

3 files

4.3.43

3 files

4.3.40

3 files

4.3.39

3 files

4.3.38

3 files

4.3.37

3 files

4.3.36

3 files

4.3.35

3 files

4.3.34

3 files

4.3.33

3 files

4.3.32

3 files

4.3.31

3 files

4.3.30

3 files

4.3.23

3 files

4.3.22

3 files

4.3.21

3 files

4.3.20

3 files

4.3.19

3 files

4.3.18

3 files

4.3.17

3 files

4.3.16

3 files

4.3.15

3 files

4.3.14

3 files

4.3.13

3 files

4.3.12

3 files

4.3.10

3 files

4.3.9

3 files

4.3.8

3 files

4.3.7

3 files

4.3.5

3 files

4.3.4

2 files

4.3.3

2 files

4.3.2

2 files

4.3.1

2 files

4.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page