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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.10.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.10.tar.gz
Algorithm Hash digest
SHA256 6748ddbefaa5c780b79c7be76a5005bdfb6401fe4a54615db11f14d38f0280fe
MD5 87087e363d341637be3bfd9ed00c5975
BLAKE2b-256 af0c588114bdb75168514c035806a6278f4808297ed79eb17c78f91f0790ef9b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.10-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.10-py3-none-any.whl
Algorithm Hash digest
SHA256 8d11fa2a5f5b3e38b11542cd1a1484d285d3b215b093a007f315bb71bfbcdf87
MD5 638d9178a5dda713211fff72942a2a53
BLAKE2b-256 c8ad9d64e9b45765be64a7e4d927ef21a33c186417b190bc5bb2989614b896a8

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