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

Uploaded Source

Built Distribution

pipeteer-0.3.5-py3-none-any.whl (28.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.5.tar.gz
  • Upload date:
  • Size: 18.4 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.5.tar.gz
Algorithm Hash digest
SHA256 d1785eeff475dfa77586cec16bb5b3dd1b5a1a72df774c851be9ac66c92c46c4
MD5 d661f39e604fb02cdce98eb62a13eac1
BLAKE2b-256 84756039d7a198910bf78d7de48899d3efb0ee234a54511fb7102259bfed1f32

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 28.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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 7316a402b63221ea1e58cec61212eafcaf52daeeee0da02f9342e9197ef08f50
MD5 18231695d8f530fbd149ba8f5d3d579c
BLAKE2b-256 9cbe2f3fa36e47fee85d9856760d4dddd20f7873618fcc31ef7bfd6961d68eda

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