Skip to main content

A library offers streamlined utilities to simplify the parallelization of Python functions

Project description

Pyllelize

Easily parallelize your Python functions with pyllelize. Whether you're dealing with CPU-bound tasks or I/O-bound asynchronous functions, pyllelize offers a simple interface to distribute your workload efficiently.

Key Features

  • Thread-based Parallelization: Distribute CPU-bound tasks across multiple threads with ease.

  • Process-based Parallelization: Harness the full power of multi-core processors by distributing tasks across separate processes, bypassing Python's Global Interpreter Lock.

  • Asynchronous Execution: Seamlessly parallelize I/O-bound asynchronous tasks.

  • Error Handling: Safely capture and report errors without halting the execution of other tasks.

Installation

pip install pyllelize

Quick Start

Thread-based Execution

from pyllelize import parallel_execute_threads

def multiply(a, b):
    return a * b

arguments = [(1, 2), (3, 4), (5, 6)]
results = parallel_execute_threads(multiply, arguments)
print(results)  # Possible output: [2, 12, 30]

Process-based Execution

from pyllelize import parallel_execute_processes

def add(a, b):
    return a + b

arguments = [(1, 2), (3, 4), (5, 6)]
results = parallel_execute_processes(add, arguments)
print(results)  # Possible output: [3, 7, 11]

Asynchronous Execution

import asyncio
from pyllelize import parallel_execute_threads_async

async def fetch_data(a, b):
    await asyncio.sleep(1)  # Simulating async I/O operation
    return a + b

arguments = [(1, 2), (3, 4), (5, 6)]
results = parallel_execute_threads_async(fetch_data, arguments)
print(results)  # Possible output after 1 second: [3, 7, 11]

License

This project is licensed under the MIT License.

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

pyllelize-0.2.1.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

pyllelize-0.2.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file pyllelize-0.2.1.tar.gz.

File metadata

  • Download URL: pyllelize-0.2.1.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.18 Linux/6.2.0-1014-azure

File hashes

Hashes for pyllelize-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e187dd640e5403d7cd72f2db5edd4fa691dfc46427b57448fa97d2bdd24b1695
MD5 490cc23eb1e2256b271ccf5c5525c03f
BLAKE2b-256 51e459ab871b65997697d5ef6782f46c782efef3c3ce0de12a7de1d8bc46a4ef

See more details on using hashes here.

File details

Details for the file pyllelize-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyllelize-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.9.18 Linux/6.2.0-1014-azure

File hashes

Hashes for pyllelize-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b1ccea3b4a1d97f8d86f3e5eadeccdec954096d43cf74ec3e0bbd0291a9ac73a
MD5 d14e5912f6fc529c5739bf7baec693b0
BLAKE2b-256 bc15f44ab477dfd8576ecde5108018e41e4d1186a29277c4d224fec867305d40

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