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

Uploaded Source

Built Distribution

pipeteer-0.3.15-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.15.tar.gz
  • Upload date:
  • Size: 20.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.15.tar.gz
Algorithm Hash digest
SHA256 d11479f613ec09ebdf48e4a3bffb807daa0ee001cdb9335f53da16cc682438e9
MD5 9b4d97b0fb6208846250078f30991dfe
BLAKE2b-256 ec771a3ef13ee678784cbd63ece40cbfbba8351442e4a990bd26de43d9f5ccbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.15-py3-none-any.whl
  • Upload date:
  • Size: 30.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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 58da1a1eb65a0949cebb962db0e8b67252054c317733413cd55e2797f33d0b4e
MD5 2fb8941a14c282e40711052102a46009
BLAKE2b-256 2140613a941dc21fd09219eb5d6de7152b726b3b1bda6e49d385c138d53141fd

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