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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: pipeteer-0.3.13.tar.gz
  • Upload date:
  • Size: 19.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.13.tar.gz
Algorithm Hash digest
SHA256 c833a2734d2754f6f13152e036aa68f01af723b43dfcf84ceeb6bfe2bfc8e1ff
MD5 4ca50f13cc1b235b7144efad107e0029
BLAKE2b-256 59a68e9362b9d3181f11a22e45438ba3b5a631e53b41e87b1cb8b006c746d101

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pipeteer-0.3.13-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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 2bbf9a0abad8f2b224ef3b27fdff880b5465d75e4cd4c661412d6573c1e51000
MD5 e82d3087cdcdcd058314197e1b5b5393
BLAKE2b-256 4334c5025b2b14dbb4c4093276501246c41c349f0b616fc4b443c32595d8366a

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