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

Uploaded Source

Built Distribution

pipeteer-0.3.12-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.12.tar.gz
  • Upload date:
  • Size: 19.8 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.12.tar.gz
Algorithm Hash digest
SHA256 eb6725c9bc8867a713dde2581657b5c9e182e50ebc18d53a3f75a0d0b2fc9e4b
MD5 dc51dc3e399674d267fc03efaa67704e
BLAKE2b-256 8a25607118e3eb575c284a93e3f76a5f146475c28f2ad8594aa7c0492798dc2c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.12-py3-none-any.whl
  • Upload date:
  • Size: 30.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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 8051217497acf89df21c77bdb5c93999b5af5663f77791ec3f418b63c85a4f9b
MD5 f55e1ab98b9d5ecc29004da8f3d9b771
BLAKE2b-256 7e9c0897e1bfc5afbb83df01aa0ca507021c7766223ea057311b0d2d9c37d735

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