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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.9.tar.gz
  • Upload date:
  • Size: 19.3 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.9.tar.gz
Algorithm Hash digest
SHA256 232b61e9f69cb55e9af25f8b68c39b165fbae6587a6a2837c1afb53076bec60b
MD5 dd0bfed8b6bf9b2bcff37bb8c2f9ab50
BLAKE2b-256 9a8771ef8dd402c3666951e6e60c34d3b2be3bc04a600c0478cd321e87209c74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.9-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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 11a29bd8faf3c7d644c3f0ea7b63715a434df888dcccfef0ec1aedbc89c49453
MD5 8309463cc5c44e7bfd27651e3ca71a88
BLAKE2b-256 70520df9f7d8d625f830337d8d2c81a902006c467f4071714c94671f2b107363

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