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

Uploaded Source

Built Distribution

pipeteer-0.3.14-py3-none-any.whl (30.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.14.tar.gz
  • Upload date:
  • Size: 19.9 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.14.tar.gz
Algorithm Hash digest
SHA256 77b7cae66036cdbf89198b8d8e87956a0e7b56bc90c6aa7dd77846915ea3ba7e
MD5 873deab37f6d6092b56da5b7977a979d
BLAKE2b-256 c06c3cec09eb94388f1626f40e6de2c6a0e4e0f88b887e539867287899e112b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.14-py3-none-any.whl
  • Upload date:
  • Size: 30.1 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.14-py3-none-any.whl
Algorithm Hash digest
SHA256 cdf52a0f89cd3df98f13f0573e63a0119d0bee28ce88b55bd7f1c5b96b99dd37
MD5 56a33c79f30f4e49c757638506f8b303
BLAKE2b-256 ef2eb36d82977588a837d0c99577cd0d53957ea668430dae51232578a87c24f9

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