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

Uploaded Source

Built Distribution

pipeteer-0.3.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.1.tar.gz
  • Upload date:
  • Size: 10.9 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.1.tar.gz
Algorithm Hash digest
SHA256 9e9e09a9614c4225bb50b9d3e0ae8ce9f829ad06fa7dc5b62d7e70a282560119
MD5 9b1cf9fae4fc3cdc5c0f42648fba6f5a
BLAKE2b-256 57a5c9434933a3250da72c095a7ba85bea48c964f7fe9d1beb00fe6473122726

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 15.7 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8e19a580fc0aff0f2c419ee9abd34cbcd6378b5d779d5fdf597fe2009bfdffe1
MD5 45c75d1f2f84f16d685c0aba03162b4d
BLAKE2b-256 a79178f80a22265effe1505984871e49c4e91b012c05e8ae9672107377aa684e

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