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.11.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

pipeteer-0.3.11-py3-none-any.whl (29.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.11.tar.gz
  • Upload date:
  • Size: 19.3 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.11.tar.gz
Algorithm Hash digest
SHA256 2b58543fae41a27c2a83496d6d0c1933086bf4e55fb6339dcc4c7dc4499e35d5
MD5 642f944fbd8b048bf73e5b5eeece2260
BLAKE2b-256 4e3f6db4f347485b1474dceac413bfa8b471876b08a3bded887f29604906854d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.11-py3-none-any.whl
  • Upload date:
  • Size: 29.5 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.11-py3-none-any.whl
Algorithm Hash digest
SHA256 820044aae9d1037e628ea5299186be96a66d691e2eaf3561f125871503c3f490
MD5 fba4d69a1db39baf5762c4c301458dd5
BLAKE2b-256 a32feef55bebf83f17c7510795e272bdcb17254ee3480454deec3973cb5b495c

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