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

Uploaded Source

Built Distribution

pipeteer-0.3.6-py3-none-any.whl (29.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.6.tar.gz
  • Upload date:
  • Size: 19.2 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.6.tar.gz
Algorithm Hash digest
SHA256 1106e5e7964ab94d121e7d8c1c72cce72e71d64456fb2384dd7a71c49b916703
MD5 3bfd366be0a58812c84d018709c59c42
BLAKE2b-256 211bd6bfc8f1afd69c3c2094c5e47d709435e708de71f3c061fcda71b34a7f9a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 29.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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0ceabc0a5e5e582452a3bdad3a4ec7b53026c90c61dc4dd4ce5973cd06bcb80e
MD5 04d354bd0a0cf3695bc616710d6a185a
BLAKE2b-256 2b8bbf1fe3c45354bffa96f357992cc9b6c6232a60438ac593b7d38be73cd852

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