Skip to main content

Python SDK for Dispatch Stateful Functions

Project description

Docs PyPI Test PyPI version Reference

Dispatch SDK for Python

This package implements the Dispatch SDK for Python.

What is Dispatch?

Dispatch is a platform for developing reliable distributed systems. Dispatch provides a simple programming model based on durable coroutines to manage the scheduling of function calls across a fleet of service instances. Orchestration of function calls is managed by Dispatch, providing fair scheduling, transparent retry of failed operations, and durability.

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

Installation

This package is published on PyPI as dispatch-functions, to install:

pip install dispatch-functions

Usage

The SDK allows Python applications to declare Stateful Functions that the Dispatch scheduler can orchestrate. This is the bare minimum structure used to declare stateful functions:

@dispatch.function
def action(msg):
    ...

The @dispatch.function decorator declares a function that can be run by the Dispatch scheduler. The call has durable execution semantics; if the function fails with a temporary error, it is automatically retried, even if the program is restarted, or if multiple instances are deployed.

In this example, the decorator adds a method to the action object, allowing the program to dispatch an asynchronous invocation of the function; for example:

action.dispatch('hello')

Configuration

To interact with stateful functions, 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 received by the stateful functions originated from the Dispatch scheduler. 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-----...

Finally, the Dispatch instance needs to mount a route on a HTTP server in to receive requests from the scheduler. At this time, the SDK integrates with FastAPI; adapters for other popular Python frameworks will be added in the future.

Integration with FastAPI

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 stateful function. The function runs concurrently to the rest of the program, driven by the Dispatch scheduler.

The instantiation of the Dispatch object on the FastAPI application automatically installs the HTTP route needed for the scheduler to run stateful functions.

Local testing with ngrok

To enable local testing, a common approach consists of using ngrok to setup a public endpoint that forwards to the server running on localhost.

For example, assuming the server is running on port 8000 (which is the default with FastAPI), the command to create a ngrok tunnel is:

ngrok http http://localhost:8000

Running this command opens a terminal interface that looks like this:

ngrok

Build better APIs with ngrok. Early access: ngrok.com/early-access

Session Status                online
Account                       Alice (Plan: Free)
Version                       3.6.0
Region                        United States (California) (us-cal-1)
Latency                       -
Web Interface                 http://127.0.0.1:4040
Forwarding                    https://f441-2600-1700-2802-e01f-6861-dbc9-d551-ecfb.ngrok-free.app -> http://localhost:8000

To configure the Dispatch SDK, set the endpoint URL to the endpoint for the Forwarding parameter; each ngrok instance is unique, so you would have a different value, but in this example it would be:

export DISPATCH_ENDPOINT_URL="https://f441-2600-1700-2802-e01f-6861-dbc9-d551-ecfb.ngrok-free.app"

Durable coroutines for Python

The @dispatch.function decorator can also be applied to Python coroutines (a.k.a. async functions), in which case each await point on another stateful function 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 becomes 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 to stateful functions, for example:

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):
    ...

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!

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

dispatch-functions-0.0.14.tar.gz (69.3 kB view details)

Uploaded Source

Built Distributions

dispatch_functions-0.0.14-cp312-cp312-win_amd64.whl (89.5 kB view details)

Uploaded CPython 3.12 Windows x86-64

dispatch_functions-0.0.14-cp312-cp312-win32.whl (89.0 kB view details)

Uploaded CPython 3.12 Windows x86

dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_x86_64.whl (109.7 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_s390x.whl (109.4 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ s390x

dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_ppc64le.whl (110.8 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ppc64le

dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_i686.whl (108.5 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_aarch64.whl (109.7 kB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (105.2 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (106.6 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (105.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (105.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (104.0 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

dispatch_functions-0.0.14-cp312-cp312-macosx_11_0_arm64.whl (87.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

dispatch_functions-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl (87.2 kB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

dispatch_functions-0.0.14-cp311-cp311-win_amd64.whl (89.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

dispatch_functions-0.0.14-cp311-cp311-win32.whl (88.9 kB view details)

Uploaded CPython 3.11 Windows x86

dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_x86_64.whl (108.5 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_s390x.whl (108.1 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ s390x

dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_ppc64le.whl (109.7 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ppc64le

dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_i686.whl (107.3 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_aarch64.whl (108.6 kB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (103.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (105.3 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (104.5 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (103.9 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (102.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

dispatch_functions-0.0.14-cp311-cp311-macosx_11_0_arm64.whl (87.5 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

dispatch_functions-0.0.14-cp311-cp311-macosx_10_9_x86_64.whl (87.1 kB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

File details

Details for the file dispatch-functions-0.0.14.tar.gz.

File metadata

  • Download URL: dispatch-functions-0.0.14.tar.gz
  • Upload date:
  • Size: 69.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.8

File hashes

Hashes for dispatch-functions-0.0.14.tar.gz
Algorithm Hash digest
SHA256 973bb5b8638b90ecd4f82958a67f9804345081286236a92e05ff634654b8ada5
MD5 db84bef197ee790211bab0ef7f7ec868
BLAKE2b-256 779edaf1816ccb85c8d1969efa669d80574bb71e38278ca8c4aceb74c335b66e

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a155de783e2717f557786dc303233bd503e1f8cf87945714ddcae8e571e5f904
MD5 e400017b93179065aebe18e20eeb8a8a
BLAKE2b-256 1dc3344b2d3c33e01004522fd97b8c30e93af7ef46895f0ea0d8427207233741

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 44cc60dcc345bcc5d79c5cd792e4c018b8b93656f19f629cc76decd713b9c02f
MD5 cf2b1dee6517381e1a2b1454af8fc42f
BLAKE2b-256 7bfab36b61d9fd5da5702927c7b4bb423ff9f621efa50996fcf8118e5f6730ba

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 673738919716ed328cb68fc3e3409ed3349201519bbb16b261c1986231cb3812
MD5 1de3374be219083e3741992970f82f5a
BLAKE2b-256 5e0b20150a206dca86daa0022d4c29ad2f777aa2a964e4b4f25eb41f3d8e795d

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 d9c96d58e61d65d7c15c3d86ac71f1c7b822b6426e6c1af42c4ccfcd797dd415
MD5 13abad0ac2d0094e65ad64fdccac7475
BLAKE2b-256 dcdaef954eb95fd6c1e30c52f74b674da404e04b18d7606524cdf2f03505436f

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 f0df2b589e552d41d77f3a649fc55c7c099ce10b56d431b4d7f490b93953c228
MD5 68074c671a719ef617e5b983f375b07d
BLAKE2b-256 41193564c997014c99dcde3ea78b3261a93066eef32a425067cb79b04b36c0fa

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 dff15424835639aa838e6b270201953a779f1ec6d226fddc9b4a33937e1f56b6
MD5 b412db42b282ea21f77e6ce84d4c3d96
BLAKE2b-256 18bfd66373ad5686dbc1b340bad3bf6b9a37f065c47ef3ef762d0bd931c1a760

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 b2e5477af5c04613a5912fdbb1751d9d8e33ab6ddf7de806c10f59f37ff5d75d
MD5 43471a1359003984e9d05b71ffdf0f9b
BLAKE2b-256 b96296ae6ed5ad665d1f2d525a7a9da59406e54856a1c2284f8aef7f307b654f

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 920ad756e6399df0421f98368443531c90f1e4623c56c7eda9d773b0f74fa851
MD5 5ebb90b9fc5fe959d3e7ea429f77c75c
BLAKE2b-256 840785a7819befab3e879b338cd3e888caa798b56bb3b19e48d6e25d8e8b7120

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1b773b3e0c6534a7be6fdae5343341a59a2d31ec4aa8f2ee29f73b865bc0d79d
MD5 9cc4c8fb20c8cd48dc76f1d5b1364423
BLAKE2b-256 72525e449fce2231a3a5edcaf9f51f945ca1c9d903ae9c21d2654d0c49cd0683

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3eb4ffb3d0fa3135bc3992ec6055c3ba3d31741c158fd33da8916c01720472ce
MD5 893e7901758a036af1b21d6bfac0dd25
BLAKE2b-256 02096a5eee5acce85937afebce3ad6d580ed6bcdd32ec4b8e1a71748ba7dbc17

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a15231a95e494a51dbf4c19bddb4e9ffd572f90d58e56c4b2295f5f34fe061bd
MD5 941e0e4285ffe7fb69b9511303c53089
BLAKE2b-256 8fa34bdc6967d4b10d6d6ba24cbed89aed3d104ba5ce704d97573b013bff3f3e

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 febb6642d81d5f23d422a5c0c2a05fe26bc7cfb32959a5fcab710c7ea7474a58
MD5 bb5804652c2cacf540090fe1c82617b4
BLAKE2b-256 17088bc9b19146a1e09f73315d7ec4650f074f42bf5c14173d44c6b481fb0bde

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5eb62ce097f70581df78d0db64b008d41ad4fe643d5591c4194ce52ec2b21b2d
MD5 30a96ab71edaac31bb6c171cab3f6870
BLAKE2b-256 e71a0f75fa6fbd02ac3a608467b2aff2210f8b044261bbc829d93e5f89dda7ce

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 402f8eb41022e71aa7e29cb56d925a38295c75600451729750ddb58ded11b417
MD5 abbcafa36b9f9f44a50b1f74a130afab
BLAKE2b-256 99339dce9bb5b58acb2a3942ee5ee8015e6c457f09222f985c631cee8efcd308

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a8175ced4005b45c53f0cf7c50462bf343c66ad0be17ecbd49fbd8555a824ea7
MD5 5816c3752a4c841f9d7a791190e1375d
BLAKE2b-256 63c800730e6cb3f225289d8f9032ab68d83e54b784c9bbe92d1e9475e0484dd9

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 ecf8179f0e6af5c22a3ac1b6a5cabbee049b51f42abc2ff61515de45c750007e
MD5 d338d79c15597db2d146e786ab8f5783
BLAKE2b-256 048c4fbae837d710d0db720efa045134a950f2f94e25cc192d322939ced649d3

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 62d9f824969ee5e14e514ca31cc4f1f41c573bf885b9009138715e83f6b0999f
MD5 a4bde55a1501527a400757dcbdca985f
BLAKE2b-256 a25151a9f086553a0d932f31eef4e7f866433e4b0629e1eb0f510d5c02db4f77

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_s390x.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_s390x.whl
Algorithm Hash digest
SHA256 6b089055f3bf4ad9a4d958ec0cecd81a3b80c73be25a42c590165f1088f1ae06
MD5 6d880a1a01bf1c9ba2194cf58051950a
BLAKE2b-256 6757ba8676d7e9679a5f6e6c3b2d5e301e541b436a13111c2c146b814210390e

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_ppc64le.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_ppc64le.whl
Algorithm Hash digest
SHA256 4799ae8b0554a56be7721de39c303a5358dc35f537621e093778c4c135138549
MD5 1344dbb7511e2ae60b860f2d690b078b
BLAKE2b-256 5136d6535a64eb778d0690fa6574ef1961e673f5dfbca79d8f5e31c5275a012c

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_i686.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_i686.whl
Algorithm Hash digest
SHA256 499e0f4e1ea38d6e227a0d129bff6c296aed5889bdd82e93b0ff5e5d8cd64dda
MD5 2fb9cb4deb2fb57a782a68e45e2932cd
BLAKE2b-256 af520430477d7f652f2f055ed2a1d700afe71740c5e439ed05168f419a2d8840

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 7efbe3db1ae0181816bc1f8a7e4ed0efb251ea1c58565cc30f3b042d62d407a0
MD5 00464ee623d93bf1e502a36350f1636e
BLAKE2b-256 85b7c227503d38becd32317fed67a7643ff412e3fb697f78f2a29804471bae8a

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 d694202096d1012a83369c562a61137269f850512a79267fcc6b4377a3659f1d
MD5 e38fbd6ed31ee687ccc3d03f463748d9
BLAKE2b-256 7450dbb220c56032abce6faf251b36ffa25cd2bc14b1750fc75209128c23bf8c

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1a2afe1cd4af2cc4528d1993262196293acb6e7b36ae5b072df46d1d6a8adecf
MD5 8f66463375e335ba4bae77311e1a7268
BLAKE2b-256 8bb49f5ebb131b297bbf67f15892ea9aae60abeee68b6840beceecfca3b48575

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b47a3d3c05d8bb5f6fe04382c8d182ffc2d88ed1294dd3eb301c2f57d100777
MD5 1cab36610d0aaf19029af9861cc7491b
BLAKE2b-256 e662ac79f6bd329b5dce3f3d941c5218b26854919df4fae7acce39fde3e40d5a

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 173c3f356c3245fe6bbd76533467a0f066cb80b376cc1ed335afe28ee41627a1
MD5 65c610bd02ef1cbc284eb985347d09c9
BLAKE2b-256 009b5120d975026100c743e10df4b6d0fba89e1c41dd6318b835bc1f8e643435

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 08a6864ef2789a185cd523472a18f704531fdcf890dd687d3a7c98e861f35af0
MD5 7edebb2e7e79a5785ac042e93fec8895
BLAKE2b-256 e543447dd4d3aeeb20db4929d3eb6f6a00db64743fafab14bb62492ee4610675

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 004accbcfe7e05be354324233de66ad2f7b4229a066cf96bb18305c7aec7724b
MD5 661d7a690d7862aaf3b2dbe33ca9ae23
BLAKE2b-256 fadae90add41c29a2cae573684cfcc8ba98d2164469cbca2c01e5eb8e326775c

See more details on using hashes here.

File details

Details for the file dispatch_functions-0.0.14-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for dispatch_functions-0.0.14-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cd0c0610032a73820ab1bd49eeabf6f11684486117522f3a4f7d10a8ee568472
MD5 dccb1f93b6fbeac3cd370bcc2ffa4d71
BLAKE2b-256 f4c7d5fec88d18a3685dcd4328db565cab626685c404543ab03d5585e3383342

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