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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | e187dd640e5403d7cd72f2db5edd4fa691dfc46427b57448fa97d2bdd24b1695 |
|
MD5 | 490cc23eb1e2256b271ccf5c5525c03f |
|
BLAKE2b-256 | 51e459ab871b65997697d5ef6782f46c782efef3c3ce0de12a7de1d8bc46a4ef |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ccea3b4a1d97f8d86f3e5eadeccdec954096d43cf74ec3e0bbd0291a9ac73a |
|
MD5 | d14e5912f6fc529c5739bf7baec693b0 |
|
BLAKE2b-256 | bc15f44ab477dfd8576ecde5108018e41e4d1186a29277c4d224fec867305d40 |