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

Uploaded Source

Built Distribution

pipeteer-0.3.4-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.4.tar.gz
  • Upload date:
  • Size: 18.0 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.4.tar.gz
Algorithm Hash digest
SHA256 85da39b447ba52a3cae19756022d2b54fd8b7502fbff085698e1afe1d8be2a7a
MD5 b9e24cd5b06968995ff9738b7a4dbf61
BLAKE2b-256 82aeccd247cc39d60aa588d407bfbc654aac481593e355719a3d7525856ccfca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 27.9 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4cb5d455200b4e2111b93d983e0fef8046440691927524a1e4e6588bdb40b700
MD5 c5f775d3fd7821b13a072f4729b9c663
BLAKE2b-256 7f3e1200d9397d57ae18e3fb5abd74a57609e0ccb92bcaabf34b40f86529bb16

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