Skip to content

Releases: dispatchrun/dispatch-py

v0.7.1

14 May 22:50
fbec88d
Compare
Choose a tag to compare

This version fixes a few minor issues from the previous release.

What's Changed

  • Simplify registration of error/output to status mappings by @chriso in #166
  • Add top-level dispatch.batch helper function by @chriso in #165
  • Fix the Lambda handler by @Pryz in #162
  • Set readme badges to main branch by @Pryz in #164
  • Update links in the example function by @chicoxyzzy in #161

Full Changelog: v0.7.0...v0.7.1

v0.7.0

03 May 23:10
aba20bc
Compare
Choose a tag to compare

What's Changed

This version fixes bugs that were uncovered by more robust type checking. It also adds new APIs to support integrations with the newly released Dispatch CLI!

New features

Bug fixes

Documentation

Other changes

Full Changelog: v0.6.0...v0.7.0

v0.6.0

23 Apr 01:46
bfdd64b
Compare
Choose a tag to compare

What's Changed

This version brings a lot of new and powerful APIs to the SDK.

The main change that v0.6 brings is enabling the integration of Dispatch in applications that are not based on FastAPI. The top-level dispatch package can now be used to create vanilla Dispatch applications:

import dispatch

# The .function decorator is available on the top-level package to
# declare functions that can be orchestrated by the scheduler.
@dispatch.function
def greet(who: str):
    ...

# The .run function runs the main event loop interacting with the
# scheduler. It takes an optional initialization function that will
# be called right before entering the event loop.
dispatch.run(lambda: greet.dispatch('me'))

New features

Other changes

  • Remove mock server entry point by @chriso in #151
  • Don't print verification key warning when running under Dispatch CLI by @chriso in #152
  • Extract new proto fields by @chriso in #153

Full Changelog: v0.5.1...v0.6.0

v0.5.1

09 Apr 23:37
8729da0
Compare
Choose a tag to compare

What's Changed

This version adds multiple bug fixes, including one that prevented dispatch functions from running concurrently within a single application instance (distributing concurrent calls across multiple instances was unaffected).

Other changes

  • FastAPI: run Dispatch functions in a thread executor by @chriso in #146
  • Add experimentation Lambda integration by @Pryz in #142
  • Don't pickle coroutine state twice by @chriso in #148
  • Bump cibuildwheel version to fix PyPI publish issue by @chriso in #149

Full Changelog: v0.5.0...v0.5.1

v0.5.0

03 Apr 01:54
34b6f47
Compare
Choose a tag to compare

What's Changed

This version introduces a new Reset error type, which when raised or returned, replaces the function being run by a different call.

New features

Full Changelog: v0.4.2...v0.5.0

v0.4.2

28 Mar 01:41
4463c21
Compare
Choose a tag to compare

With this patch release, programs that run on Python 3.8 can now use Dispatch.

What's Changed

Other changes

Full Changelog: v0.4.1...v0.4.2

v0.4.1

27 Mar 03:57
bc89165
Compare
Choose a tag to compare

This patch release brings compatibility with Python 3.9 and 3.10.

Prior to this update, the Python SDK for Dispatch was only compatible with Python 3.11+, which caused a lot of issues due to default Python installations often being older on OSX and Ubuntu (usually 3.9). This caused a lot of friction for users who tried Dispatch but didn't have a supported version pre-installed.

What's Changed

Bug fixes

Other changes

Full Changelog: v0.4.0...v0.4.1

v0.4.0

26 Mar 01:56
c1d396b
Compare
Choose a tag to compare

This is an important release with new concurrency APIs to compose more advanced applications powered by Dispatch.

The release also includes new default integrations for errors raised by popular services like Slack and OpenAI, so dispatch functions can automatically handle retries when executing requests to those APIs.

What's Changed

New features

Other changes

Full Changelog: v0.3.0...v0.4.0

v0.3.0

18 Mar 03:10
8aa6795
Compare
Choose a tag to compare

v0.3.0 introduces a new SDK feature called batch, allowing you to build a batch of functions to be dispatched and executed concurrently.

@dispatch.function
def funcA(): ...

@dispatch.function
def funcB(someargs): ...

batch = dispatch.batch()
batch.add(funcA)
batch.add(funcB, someargs)

batch.dispatch()

Take a look at the documentation to learn about the different SDK features: Workflow as code!

Happy building!

What's Changed

New features

Documentation

Other changes

Full Changelog: v0.2.1...v0.3.0

v0.2.1

07 Mar 19:21
38894a3
Compare
Choose a tag to compare

What's Changed

Bug fixes

Other changes

Full Changelog: v0.2.0...v0.2.1