Skip to main content

dispatch logo

dispatch-py

Docs PyPI Test PyPI version Reference

Python package to develop applications with Dispatch.

What is Dispatch?

Dispatch is a cloud service for developing scalable and reliable applications in Python, including:

  • Event-Driven Architectures
  • Background Jobs
  • Transactional Workflows
  • Multi-Tenant Data Pipelines

Dispatch differs from alternative solutions by allowing developers to write simple Python code: it has a minimal API footprint, which usually only requires using a function decorator (no complex framework to learn), failure recovery is built-in by default for transient errors like rate limits or timeouts, with a zero-configuration model.

To get started, follow the instructions to sign up for Dispatch 🚀.

Installation

Installing the Dispatch CLI

As a pre-requisite, we recommend installing the Dispatch CLI to simplify the configuration and execution of applications that use Dispatch. On macOS, this can be done easily using Homebrew:

brew tap dispatchrun/dispatch
brew install dispatch

Alternatively, you can download the latest dispatch binary from the Releases page.

Note that this step is optional, applications that use Dispatch can run without the CLI, passing configuration through environment variables or directly in the code. However, the CLI automates the onboarding flow and simplifies the configuration, so we recommend starting with it.

Installing the Dispatch SDK

:warning: The Dispatch SDK requires Python 3.8 or higher.

The Python package is published on PyPI as dispatch-py, to install:

pip install dispatch-py

:bulb: The Python SDK has integrations with FastAPI, Flask, or the standard http.server package.

For requests to integrate other frameworks, open an issue on [GitHub](https://github.com/dispatchrun/dispatch-py/issues/new

Usage

Writing Dispatch Applications

The following snippet shows how to write a very simple Dispatch application that does the following:

  1. declare a dispatch function named greet which can run asynchronously
  2. schedule a call to greet with the argument World
  3. run until all dispatched calls have completed
# main.py
import dispatch

@dispatch.function
def greet(msg: str):
    print(f"Hello, ${msg}!")

dispatch.run(greet('World'))

Obviously, this is just an example, a real application would perform much more interesting work, but it's a good start to get a sense of how to use Dispatch.

Running Dispatch Applications

The simplest way to run a Dispatch application is to use the Dispatch CLI, first we need to login:

dispatch login

Then we are ready to run the example program we wrote above:

dispatch run -- python3 main.py

Writing Transactional Applications with Dispatch

The @dispatch.function decorator can also be applied to Python coroutines (a.k.a. async functions), in which case each await point becomes a durability step in the execution. If the awaited operation fails, it is automatically retried, and the parent function is paused until the result are available or a permanent error is raised.

@dispatch.function
async def pipeline(msg):
    # Each await point is a durability step, the functions can be run across the
    # fleet of service instances and retried as needed without losing track of
    # progress through the function execution.
    msg = await transform1(msg)
    msg = await transform2(msg)
    await publish(msg)

@dispatch.function
async def publish(msg):
    # Each dispatch function runs concurrently to the others, even if it does
    # blocking operations like this POST request, it does not prevent other
    # concurrent operations from carrying on in the program.
    r = requests.post("https://somewhere.com/", data=msg)
    r.raise_for_status()

@dispatch.function
async def transform1(msg):
    ...

@dispatch.function
async def transform2(msg):
    ...

This model is composable and can be used to create fan-out/fan-in control flows. gather can be used to wait on multiple concurrent calls:

from dispatch import gather

@dispatch.function
async def process(msgs):
    concurrent_calls = [transform(msg) for msg in msgs]
    return await gather(*concurrent_calls)

@dispatch.function
async def transform(msg):
    ...

Dispatch converts Python coroutines to Distributed Coroutines, which can be suspended and resumed on any instance of a service across a fleet. For a deep dive on these concepts, read our blog post on Distributed Coroutines with a Native Python Extension and Dispatch.

Integration with FastAPI

Many web applications written in Python are developed using FastAPI. Dispatch can integrate with these applications by instantiating a dispatch.fastapi.Dispatch object. When doing so, the Dispatch functions declared by the program can be invoked remotely over the same HTTP interface used for the FastAPI handlers.

The following code snippet is a complete example showing how to install a Dispatch instance on a FastAPI server:

from fastapi import FastAPI
from dispatch.fastapi import Dispatch
import requests

app = FastAPI()
dispatch = Dispatch(app)

@dispatch.function
def publish(url, payload):
    r = requests.post(url, data=payload)
    r.raise_for_status()

@app.get('/')
def root():
    publish.dispatch('https://httpstat.us/200', {'hello': 'world'})
    return {'answer': 42}

In this example, GET requests on the HTTP server dispatch calls to the publish function. The function runs concurrently to the rest of the program, driven by the Dispatch SDK.

Integration with Flask

Dispatch can also be integrated with web applications built on Flask.

The API is nearly identical to FastAPI above, instead use:

from flask import Flask
from dispatch.flask import Dispatch

app = Flask(__name__)
dispatch = Dispatch(app)

Configuration

The Dispatch CLI automatically configures the SDK, so manual configuration is usually not required when running Dispatch applications. However, in some advanced cases, it might be useful to explicitly set configuration options.

In order for Dispatch to interact with functions remotely, the SDK needs to be configured with the address at which the server can be reached. The Dispatch API Key must also be set, and optionally, a public signing key should be configured to verify that requests originated from Dispatch. These configuration options can be passed as arguments to the the Dispatch constructor, but by default they will be loaded from environment variables:

Environment Variable Value Example
DISPATCH_API_KEY d4caSl21a5wdx5AxMjdaMeWehaIyXVnN
DISPATCH_ENDPOINT_URL https://service.domain.com
DISPATCH_VERIFICATION_KEY -----BEGIN PUBLIC KEY-----...

Serialization

Dispatch uses the pickle library to serialize coroutines.

Serialization of coroutines is enabled by a CPython extension.

The user must ensure that the contents of their stack frames are serializable. That is, users should avoid using variables inside coroutines that cannot be pickled.

If a pickle error is encountered, serialization tracing can be enabled with the DISPATCH_TRACE=1 environment variable to debug the issue. The stacks of coroutines and generators will be printed to stdout before the pickle library attempts serialization.

For help with a serialization issues, please submit a GitHub issue.

Examples

Check out the examples directory for code samples to help you get started with the SDK.

Contributing

Contributions are always welcome! Would you spot a typo or anything that needs to be improved, feel free to send a pull request.

Pull requests need to pass all CI checks before getting merged. Anything that isn't a straightforward change would benefit from being discussed in an issue before submitting a change.

Remember to be respectful and open minded!

Release files for dispatch-py 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dispatch-py 0.8.0
File Size Uploaded
dispatch_py-0.8.0.tar.gz 86.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dispatch-py 0.8.0
File
dispatch_py-0.8.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
dispatch_py-0.8.0-cp312-cp312-win32.whl CPython 3.12 CPython 3.12 Windows x86-32 Details
dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ x86-64 Details
dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_s390x.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ IBM System/390x Details
dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_ppc64le.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ PowerPC 64-le Details
dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_i686.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ x86-32 Details
dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_aarch64.whl CPython 3.12 CPython 3.12 Linux musl 1.1+ ARM64 Details
dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ IBM System/390x Details
dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ PowerPC 64-le Details
dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32, Linux glibc 2.5+ x86-32 Details
dispatch_py-0.8.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
dispatch_py-0.8.0-cp312-cp312-macosx_10_9_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.9+ x86-64 Details
dispatch_py-0.8.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
dispatch_py-0.8.0-cp311-cp311-win32.whl CPython 3.11 CPython 3.11 Windows x86-32 Details
dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-64 Details
dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_s390x.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ IBM System/390x Details
dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_ppc64le.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ PowerPC 64-le Details
dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_i686.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ x86-32 Details
dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_aarch64.whl CPython 3.11 CPython 3.11 Linux musl 1.1+ ARM64 Details
dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ IBM System/390x Details
dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ PowerPC 64-le Details
dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-64, Linux glibc 2.17+ x86-64 Details
dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.5+ x86-32, Linux glibc 2.17+ x86-32 Details
dispatch_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
dispatch_py-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 3.8 MB

Release files / dispatch_py-0.8.0.tar.gz

Download URL dispatch_py-0.8.0.tar.gz
Size 86.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0be51268edac03f68dcd18e93a1f690cd780541fd4ea2c443015909efa2786c4
BLAKE2b-256 checksum
How to use checksums
5c4daa1c6278e035ea7e2f8f9829c950fa09ddcbc875b3a2cecd853277129ce2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-win_amd64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-win_amd64.whl
Size 115.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
50365bafb08a6c76ec7d1e33554523edf5410f284fe1b7db1320f4fb1ba7eb8a
BLAKE2b-256 checksum
How to use checksums
830face3af052e4214fa064afb33f621ac73ce719a9afd8fdf4c1ffd3a0144fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-win32.whl

Download URL dispatch_py-0.8.0-cp312-cp312-win32.whl
Size 115.1 kB
Tags CPython 3.12 Windows x86-32
SHA-256 checksum
How to use checksums
a0a23a75c151633aedbade4431961e98ffab4f30cba4ccfe46d500087cfa156d
BLAKE2b-256 checksum
How to use checksums
aea6d7615943f292572d81f872c78267a8a56101721cca84fc11d7fcaf10222d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_x86_64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_x86_64.whl
Size 141.0 kB
Tags CPython 3.12 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
d6b80f4f8110bbd90b0d3be2d66f311434c06edfc850cd5bb873301cc5fbc004
BLAKE2b-256 checksum
How to use checksums
c9f65b2cbc3ee579bdfb91b6d67a083614f5f82b3eb34487a71aaf0697d2a254
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_s390x.whl

Download URL dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_s390x.whl
Size 140.6 kB
Tags CPython 3.12 Linux musl 1.1+ IBM System/390x
SHA-256 checksum
How to use checksums
40f2d50c58e49a9a3fb14acb240b5f058a91e21bd578cc270d52d532f8adcfd9
BLAKE2b-256 checksum
How to use checksums
a3f4ae7771f2a6dcd07fc9103d3b32a7725f0ea12c38cbf01ec039d1426c38e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_ppc64le.whl

Download URL dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_ppc64le.whl
Size 142.3 kB
Tags CPython 3.12 Linux musl 1.1+ PowerPC 64-le
SHA-256 checksum
How to use checksums
4b7020c3676baffc992d43dc5ce7f616048b8effef8866fcdf8f0d6bdc51cee2
BLAKE2b-256 checksum
How to use checksums
72ce0a6ab08e98897f135d6eecf9baec581feac1b6219ec7b648d34a88f69afb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_i686.whl

Download URL dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_i686.whl
Size 139.3 kB
Tags CPython 3.12 Linux musl 1.1+ x86-32
SHA-256 checksum
How to use checksums
fdc714e1c22b0edf475c4edc821d72f34daf2c6701ea6262dc25158de47b273d
BLAKE2b-256 checksum
How to use checksums
321b6fedd0f34eb7bc92526827f0439b8f177124cdcc17f0d98bf2f0693316e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_aarch64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-musllinux_1_1_aarch64.whl
Size 141.2 kB
Tags CPython 3.12 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
b2faacde3fd9b2af6a4ff96365242ad03efcb07e3efd56e464092026bbc06ec3
BLAKE2b-256 checksum
How to use checksums
ec32c66cd159ea8897f20e9fe607cfbf4f409ad4f0010cae2e1e6f10cae1bdc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 137.4 kB
Tags CPython 3.12 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
a31adc2bb3f4bafb54fc0e2290527e9ef29646e31d880842ce8d383379988a7e
BLAKE2b-256 checksum
How to use checksums
762be9ec1564823c73b4cd5bd73133a4cae6bc7cc4d19a335309b9f638bf5a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 138.8 kB
Tags CPython 3.12 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
79412093828c666633e90aab1c39105b1bfe2fdd50a904f2813009d8a1762791
BLAKE2b-256 checksum
How to use checksums
84e61e539d1625f756eb80083ace73114113e1b14f1542b113962da6b7c746df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 138.2 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8609691a2db78e3634afecd9e9e372b85641a11b2ee61462d41910112c564814
BLAKE2b-256 checksum
How to use checksums
9a506d1ce9586cf9650c28a8b3d0280ff116e09cfcac57f7c546f86356ba1206
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 137.5 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
0852c4a6b823a00e8e1231e439aad85fd7ea77117457b686ff9bf4d323827173
BLAKE2b-256 checksum
How to use checksums
9552ffcf6528e443f7cb917cec7c77c5e0b6f4d3f0f1fd4b6d12937db9f07d7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL dispatch_py-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 135.7 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
6861dc404e6099992b76bc54cacc44e7b0415a0cf31613493d05cb6ee6f0908f
BLAKE2b-256 checksum
How to use checksums
97a2d7c12cc93de2a4b4b9db34943c007a2f74035421afc1802e0f216adfd3d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Size 113.7 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
24348d2a0e4512cf7c3cdea021695b37af185be3a9cc236932528694f8eb04a0
BLAKE2b-256 checksum
How to use checksums
53224ceace0fdaa4e13ac99dc279f8407b01b552d857b185a101b95b6cef8748
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp312-cp312-macosx_10_9_x86_64.whl

Download URL dispatch_py-0.8.0-cp312-cp312-macosx_10_9_x86_64.whl
Size 113.3 kB
Tags CPython 3.12 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
2bcebafb78429f3c15c6d2f4929ea428a329d7848691ac64c6bd87cd04a1c511
BLAKE2b-256 checksum
How to use checksums
379256b09f9f5cdd7ff3df0fa329551db19c13067a35f58ddf8a8514cd7845cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-win_amd64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-win_amd64.whl
Size 115.8 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4c4cdd9d92a4f9397bb6fbc501fb782e45df42228dcf423005f353ed4f996b1f
BLAKE2b-256 checksum
How to use checksums
d7e3cd2c2649e9bfb555acaefdb99677e53a7769b2005e49e7efbd2d3ad1fc82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-win32.whl

Download URL dispatch_py-0.8.0-cp311-cp311-win32.whl
Size 115.0 kB
Tags CPython 3.11 Windows x86-32
SHA-256 checksum
How to use checksums
3b2febc024e9e8bb95f92f5103f07f9340febc8d6b63f4d2a85b93f5af8933ea
BLAKE2b-256 checksum
How to use checksums
9bf211c45bb9586be5bdf525e6ed0b1b86a9e9b5bd702920f5812df3c0d0a45e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl
Size 140.2 kB
Tags CPython 3.11 Linux musl 1.1+ x86-64
SHA-256 checksum
How to use checksums
5bc46efa48b359ec79eea84b276068b89b9c473cd5a340539a93af320ca912fb
BLAKE2b-256 checksum
How to use checksums
027e05e6e022e3db00e49f4502d82a6759afa82a677bab4df1cac3fdf2e72e30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_s390x.whl

Download URL dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_s390x.whl
Size 139.7 kB
Tags CPython 3.11 Linux musl 1.1+ IBM System/390x
SHA-256 checksum
How to use checksums
c83173e23dbb9ffe7888e866769978a75a7c03b19a4b290b9dcda17424cfb309
BLAKE2b-256 checksum
How to use checksums
9ae95ae903801703adc91451aa1dec989812563548a972da96ecba8c6ae63a8b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_ppc64le.whl

Download URL dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_ppc64le.whl
Size 142.0 kB
Tags CPython 3.11 Linux musl 1.1+ PowerPC 64-le
SHA-256 checksum
How to use checksums
0d52b2c6e2907e76490a0cf5dff3ace63ab053f432926f8811d608d27d48a32a
BLAKE2b-256 checksum
How to use checksums
0aaec788d9282ec849bfa748d33cc6ca7fe9fb515c522c2144de3b48db98a934
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_i686.whl

Download URL dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_i686.whl
Size 138.7 kB
Tags CPython 3.11 Linux musl 1.1+ x86-32
SHA-256 checksum
How to use checksums
8cac39af650a833531033b2d9b1cb7634f32d32cca2537ec6ea78b3b245d0ac5
BLAKE2b-256 checksum
How to use checksums
4f761824c6d802069eea3c9bea2d2bc925023f3090339e9f3fcc42fccda0126b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_aarch64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-musllinux_1_1_aarch64.whl
Size 140.4 kB
Tags CPython 3.11 Linux musl 1.1+ ARM64
SHA-256 checksum
How to use checksums
7743d8b33760eaea243302e758fb01e60cec06a225d5c108f85e309f957c33df
BLAKE2b-256 checksum
How to use checksums
785b9e82c2c3cb6c17e12e5d850ad60beebba07b7b51d1913b02c01d6e073142
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 136.6 kB
Tags CPython 3.11 Linux glibc 2.17+ IBM System/390x
SHA-256 checksum
How to use checksums
e22e5729c30f816d9c4f49dd87f563296aab67387df8d3ac150c9590e3452d47
BLAKE2b-256 checksum
How to use checksums
4535afc3a1d2934b6a4db2f184bb738109ecdca94fee48f6f5d6cedf8458085f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 138.6 kB
Tags CPython 3.11 Linux glibc 2.17+ PowerPC 64-le
SHA-256 checksum
How to use checksums
9c28169b7e861cc4ef723a253ac2f4af60563d15d30bc9b3c3ad333e914281ed
BLAKE2b-256 checksum
How to use checksums
fcf1969fca236218ef122d6d4c97a64ae37ac2ce5cd8b7541ca7af32a44918b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 137.5 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
8b91c22c4803c7b8102a07f5f2ff891b1f67e66512bc85b3049ab85b0474ac43
BLAKE2b-256 checksum
How to use checksums
29dc691ae0e9799e6cee13c0109ce0af6c742b4d949558386de04bce1db68708
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 136.9 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.5+ x86-64
SHA-256 checksum
How to use checksums
74d133a7950d0bc2923b5379c0a2d0a6db37915eeb0ff1d50b8b723308afb5a0
BLAKE2b-256 checksum
How to use checksums
6be5afd7ef9e5a11aabb00ddce5065b3ca1ffbbdac8a461ae4c1ea2ed6e13565
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl

Download URL dispatch_py-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Size 135.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32 Linux glibc 2.5+ x86-32
SHA-256 checksum
How to use checksums
c1972f35481ed62622d8f621dc86fedcba86fd29bb9a7f2cbf0642e6f7894034
BLAKE2b-256 checksum
How to use checksums
72b6e5b5865f503125ad0e2f212f2998e66655b82450cab6b5f2a997e8190a26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-macosx_11_0_arm64.whl
Size 113.6 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b0e4e5b6f06e2b39dba70adbf872df5c720fd0bae0724ccb7b4bffe231c94699
BLAKE2b-256 checksum
How to use checksums
b500ed552533d4d6001b5d7d0f3a9c8e31370052a5129cc63f387b7edf98d9a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release files / dispatch_py-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL dispatch_py-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 113.3 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5f30d04a041704c1eb4a7abf7cf55117507898481853996b34f04711074b1156
BLAKE2b-256 checksum
How to use checksums
80243394aaad19a0980b326e78aaf6ae9ad9a058c7e026b2bf40e4eec897b38a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.8.0 This release

29 release files

0.7.1

29 release files

0.6.0

29 release files

0.4.2

29 release files

0.4.1

29 release files

0.4.0

29 release files

0.3.0

29 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page