Skip to main content

pypipegraph

Build status: Build Status
Documentation https://pypipegraph.readthedocs.io/en/latest/
Code style Code style: black](https://github.com/ambv/black)

Introduction

pypipegraph: is an MIT-licensed library for constructing a workflow piece by piece and executing just the parts of it that need to be (re-)done. It supports using multiple cores (SMP) and (eventually, alpha code right now) machines (cluster) and is a hybrid between a dependency tracker (think 'make') and a cluster engine.

More specifically, you construct Jobs, which encapsulate output (i.e. stuff that needs to be done), invariants (which force re-evaluation of output jobs if they change), and stuff inbetween (e.g. load data from disk).

From your point of view, you create a pypipegraph, you create jobs, chain them together, then ask the pypipegraph to run. It examines all jobs for their need to run (either because the have not been finished, or because they have been invalidated), distributes them across multiple python instances, and get's them executed in a sensible order.

It is robust against jobs dying for whatever reason (only the failed job and everything 'downstream' will be affected, independend jobs will continue running), allows you to resume at any point 'in between' jobs, and isolates jobs against each other.

pypipegraph supports Python 3 only.

30 second summary

    pypipegraph.new_pipeline()
    output_filenameA = 'sampleA.txt'
    def do_the_work():
        op = open(output_filename, 'wb').write("hello world")
    jobA = pypipegraph.FileGeneratingJob(output_filenameA, do_the_work)
    output_filenameB = 'sampleB.txt'
    def do_the_work():
         op = open(output_filenameB, 'wb').write(open(output_filenameA, 'rb').read() + ",  once again")
    jobB = pypipegraph.FileGeneratingJob(output_filenameB, do_the_work)
    jobB.depends_on(jobA)
    pypipegraph.run()
    print('the pipegraph is done and has returned control to you.')
    print('sampleA.txt contains "hello world"')
    print('sampleB.txt contains "hello world, once again")

Release files for pypipegraph 0.197

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pypipegraph 0.197
File Size Uploaded
pypipegraph-0.197.tar.gz 51.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pypipegraph 0.197
File Interpreter ABI Platform
pypipegraph-0.197-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 110.9 kB

Release files / pypipegraph-0.197.tar.gz

Download URL pypipegraph-0.197.tar.gz
Size 51.0 kB
Tags Source
SHA-256 checksum
How to use checksums
c7b52289b597702b0bc0934a71858c5c7b2ab77a4221bbf936841dc7a883fb6a
BLAKE2b-256 checksum
How to use checksums
6681a6392bd9698f995f35c11386e87e93e5c073ea94d6439bca1ab60828de9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.6

Release files / pypipegraph-0.197-py2.py3-none-any.whl

Download URL pypipegraph-0.197-py2.py3-none-any.whl
Size 59.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
289b257b7afb83c5da38b6467403a76139696d4f5cd03a23b1b50d091e4b47a9
BLAKE2b-256 checksum
How to use checksums
25811475601d682a572df173a89529255910c545c79ff54030c722e9ed2966ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.50.1 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.197 This release

2 release files

0.196

1 release file

0.195

1 release file

0.194

1 release file

0.193

2 release files

0.192

2 release files

0.191

1 release file

0.190

1 release file

0.189

1 release file

0.188

1 release file

0.187

1 release file

0.185

1 release file

0.184

1 release file

0.183

1 release file

0.182

1 release file

0.181

1 release file

0.180

1 release file

0.178

1 release file

0.177

1 release file

0.175

1 release file

0.174

1 release file

0.173

1 release file

0.172

1 release file

0.171

1 release file

0.170

1 release file

0.160

1 release file

0.159

1 release file

0.158

1 release file

0.157

1 release file

0.156

1 release file

0.151

1 release file

0.128

1 release file

0.126

1 release file

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