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.1.1.tar.gz (2.7 kB view hashes)

Uploaded Source

Built Distribution

pyllelize-0.1.1-py3-none-any.whl (4.1 kB view hashes)

Uploaded Python 3

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