Takes the hassle away from threading functions and getting their results
Project description
Python Threadit
Running functions in threads with no effort
A nice package to help you run functions in threads and get their result.
This is under development! So please check for changes before updating
Installation
pip install threadit
Usage
import time
from threadit import ThreadIT
def get_company_name():
# Do work in thread
time.sleep(5)
return 'Adapted'
def do_some_work():
get_name = ThreadIT(get_company_name)
# do stuff or run a while loop to wait for result
more_thread = ThreadIT(get_company_name)
while get_name.doing_work():
print('Waiting for thread to finnish')
# You can also call .result() and the main thread will wait
# for the thread to return your result.
company_name = get_name.result()
# this will timeout the thread in 1 second if its not finished
company_name2 = more_thread.result(timeout=1)
print(company_name) # Outputs -> Adapted
print(company_name2) # Outputs -> None
Main commands
# Import the module
from threadit import ThreadIT
# Start your function with or without arguments
var = ThreadIT(function, args, kwargs)
# Wait for the function to finnish or get the result if its finished
var.result()
Optional commands
# Check if your thread is still working on the function.
# This will return True if the function is not completed.
var.doing_work()
# Terminate the thread. This will noe wait for the function to
# finnish and will return None as result if the function is not
# done within the timelimit set
var.result(timeout=10)
Testing
Use the following command to run tests.
python -m unittest threadit.tests.test_threadit
Changelog:
See CHANGELOG.md
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
threadit-1.2.3.tar.gz
(3.2 kB
view details)
Built Distribution
File details
Details for the file threadit-1.2.3.tar.gz
.
File metadata
- Download URL: threadit-1.2.3.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4308591bd469ed03b26ccbca0dcccb62c8996a9b9305a0e25ef10f4cc055e002 |
|
MD5 | a0de2969027f777b185c1ea58e6dedea |
|
BLAKE2b-256 | 90a06092ee099d013a205614ff0e8d8875d64e8193b2ce284ea289e12d0e69c7 |
File details
Details for the file threadit-1.2.3-py3-none-any.whl
.
File metadata
- Download URL: threadit-1.2.3-py3-none-any.whl
- Upload date:
- Size: 3.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f27eb8dc51fcf9868173e0470af7d55408035763151d3e377a2363f9262f2655 |
|
MD5 | 1263847ded9995da8194d71e5cee78f4 |
|
BLAKE2b-256 | 92635a6356cd9404be0be8a4dca75626b7985ddac299402cfe92ca76a54bcdc7 |