A Python package for Multithread processing
Project description
Thread Decorator
Simple parallel processing interface for python
Why?
Python's built in parallel processing and threading library is pretty simple to implement but sometimes you just want to chuck data at a function and make it run faster
Requirements
Python 3+
Installation
$ pip install thread_decorator
Quickstart
Use the threaded
decorator to turn a method into a threaded method.
@threaded()
def my_func():
'''Your Code'''
Alternatively, use run_threaded
function
run_threaded(my_func)
Both the threaded
decorator and run_threaded
method will return an instance of
ResultThread
. This allow you to optionally wait for the function to finish executing
and get the return value. To get the return value, use .await_output()
result = threaded_print()
result.await_output() # this will return 1
If you have a function that needs to execute on a large list of data, use run_chunked
def update_items(items):
...
items = [...]
run_chunked(update_items, items)
.await_output()
also work with run_chunked
but will return a list of return values instead
Run the tests
Run tests with
python tests.py
Todo
- threaded function decorator
- run something in a separate thread function
- split data into chunk and run in separate threads
- add way for errors to fail loudly
- auto spawn to run fx on a set of data
- explore multi processing?
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 thread_decorator-0.2.tar.gz
.
File metadata
- Download URL: thread_decorator-0.2.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39990f58eb025fabaeadd884411abd52e95a61bb78c23ea1a85b4b1ebbf356d2 |
|
MD5 | dd98b99fd6c78863661f27fe6710bf60 |
|
BLAKE2b-256 | 71883a7c98dc0b29f3e46d62af7a17738b1f01276ec640c84bbaf66c5852f286 |
File details
Details for the file thread_decorator-0.2-py3-none-any.whl
.
File metadata
- Download URL: thread_decorator-0.2-py3-none-any.whl
- Upload date:
- Size: 4.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7356416719b69e3bf664da6b49dc9f4b83ffcceee513dc256e24b2da3b456304 |
|
MD5 | b51827730f477c6fb4fa574fb961cccd |
|
BLAKE2b-256 | d361fd6e1bdb7ee461eff249ba8b176c44572f0d7de0e1c0b2968fe10ffdcbd0 |