Skip to main content

Takes the hassle away from threading functions and getting their results

Project description

Python Threadit

Running functions in threads with no effort

PyPI - Format PyPI - Status Downloads PyPI - Python Version

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


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)

Uploaded Source

Built Distribution

threadit-1.2.3-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

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

Hashes for threadit-1.2.3.tar.gz
Algorithm Hash digest
SHA256 4308591bd469ed03b26ccbca0dcccb62c8996a9b9305a0e25ef10f4cc055e002
MD5 a0de2969027f777b185c1ea58e6dedea
BLAKE2b-256 90a06092ee099d013a205614ff0e8d8875d64e8193b2ce284ea289e12d0e69c7

See more details on using hashes here.

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

Hashes for threadit-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f27eb8dc51fcf9868173e0470af7d55408035763151d3e377a2363f9262f2655
MD5 1263847ded9995da8194d71e5cee78f4
BLAKE2b-256 92635a6356cd9404be0be8a4dca75626b7985ddac299402cfe92ca76a54bcdc7

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