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

Uploaded Source

Built Distribution

pipeteer-0.3.2-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.2.tar.gz
  • Upload date:
  • Size: 17.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.2.tar.gz
Algorithm Hash digest
SHA256 4e13d0aa79a9da10943dd09444176aaf9ab64ee6441b3332f01e08836fccbf75
MD5 675b8983723a567dad80e616dc3ce336
BLAKE2b-256 3261610afeab8a17cb6da8251d5e866560563d440924db780a5576f42b05a4f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 27.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 db859a6d1474b5631c43d8bf5f7508d1b497fba580c9f622e3ac5befec9fc89d
MD5 47cf4a7c55b8096ba59aafa96661bf31
BLAKE2b-256 d79707897852b991c9d116b3dcbb73ed3ec350627b2b384d2e497bbf8b4a014c

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