Skip to main content

Simple, explicit durable execution framework.

Project description

Pipeteer

Simple, explicit durable execution framework.

Read the docs

Why Pipeteer?

Use pipeteer if you need...

  • Persistance: your app can stop or crash and resume at any time without losing progress
  • Observability: you can see the state of your app at any time, and modify it programmatically at runtime
  • Exactly-once semantics: your app can be stopped and resumed without dropping or duplicating work
  • Fault tolerance: if a task fails, it'll keep working on other tasks and retry it later
  • Explicit data: pipeteer's high level API is a very thin abstraction over explicit communication using queues

Proof of Concept

from pipeteer import activity, workflow, Context, WorkflowContext

@activity()
async def double(x: int) -> int:
  return 2*x

@activity()
async def inc(x: int) -> int:
  return x + 1

@workflow([double, inc])
async def linear(x: int, ctx: WorkflowContext) -> int:
  x2 = await ctx.call(double, x)
  return await ctx.call(inc, x2)

if __name__ == '__main__':
  ctx = Context.sqlite('workflow.db')
  linear.run_all(ctx)

Project details


Download files

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

Source Distribution

pipeteer-0.3.8.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

pipeteer-0.3.8-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

Details for the file pipeteer-0.3.8.tar.gz.

File metadata

  • Download URL: pipeteer-0.3.8.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for pipeteer-0.3.8.tar.gz
Algorithm Hash digest
SHA256 9bd274eccac6904257745191de585e2a4bb9a35ffcd1660451e2342d15611a53
MD5 6305bf2b53a7a9f31959892cc756b511
BLAKE2b-256 24d1923ac5abf30d579fa3ad5a4e0a70a888665c935c6219a703d761c0ff6fcc

See more details on using hashes here.

File details

Details for the file pipeteer-0.3.8-py3-none-any.whl.

File metadata

  • Download URL: pipeteer-0.3.8-py3-none-any.whl
  • Upload date:
  • Size: 29.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for pipeteer-0.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 8aef1ad5dd033942305a39fbca81f1cd261c8ef145b0d572087369827f1684b7
MD5 be1215efa9461ab8665d88eeca42cb56
BLAKE2b-256 965bd26950ed10a3bc2e3d689f39136c781b4e86d4b178852b3b38f462e48019

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page