Skip to main content

An asyncio API that mimics concurrent.futures, with support for task-graph executors

Project description

parallels

Parallels is a literary powered library. It provides an async API that mimics concurrent.futures, with support for task-graph executors.

These notebooks can be viewed using nbviewer until the documentation generator is complete.

What?

In Python there are several standard APIs for interacting with executors. AsyncIO has the run_in_executor API, concurrent.futures has the Executor API, and other libraries like Dask and Ray have equivalent approaches. concurrent.futures is often available within other libraries, but its reduced features-set prevents the underlying library from implementing useful optimisations like Dask's deferred computation or task graph building.

Parallels implements a standard Executor interface which defines a synchronous submit method, and an asynchronous retrieve method. These methods operate upon value-less asyncio.Future handles which yield True upon task success, and raise an Exception otherwise. The Dask and Ray implementations accept these handles as arguments to future submit() calls, which can be used to build task graphs and avoid copying data to the local machine.

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

parallels-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

parallels-0.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file parallels-0.1.0.tar.gz.

File metadata

  • Download URL: parallels-0.1.0.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for parallels-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9297d22e28d6d1c3219d76a05525424a50b941e024bb9713c29a8252df483f33
MD5 93c0e0c9b9143c2c89b24b25e6b72694
BLAKE2b-256 7e1e40e4073826463fba89511fedacf02725db676d20560da953ea00f3a71515

See more details on using hashes here.

File details

Details for the file parallels-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: parallels-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for parallels-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eddd8c0b0bb032b85ba17bebedd84dcf299de391a2dd893e37c93b3c9384895a
MD5 84e4f3cedbbc347186a238d975a37ac9
BLAKE2b-256 6b98f0370aecb82ac479bd0b9026620091ec583e1ef612532fd4c7c640c3fd07

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