Skip to main content

A small module to support automation of generating valid python variable names from external data.

Project description

threaders

threaders is a small module to help write

clean threaded code using threading decorators

and minimize repeating copy-paste actions.

Installing

Install and update using pip:

pip install -U threaders

A Simple Example:

from threaders import threaders

import time

@threaders.threader()

def function_to_be_threaded(x):

“”” :rtype: Thread “””

t = time.time()

time.sleep(0.5*(x+0.1)/5+0.05)

return time.time()-t

def main():

# create threads

threads = []

for i in range(10):

threads.append(function_to_be_threaded(i))

# get first result

print(threaders.get_first_result(threads))

# kill threads

t = time.time()

for thread in threads:

thread.join()

print(“all threads terminated: {}”.format(time.time()-t))

if __name__ == “__main__”:

main()

Example with a thread pool:

from random import randrange

from time import sleep

import threading

delays = [randrange(1, 3) for i in range(50)]

print_lock = threading.Lock()

def wait_delay(i, d):

with print_lock:

print(‘{} sleeping for ({})sec’.format(i, d))

sleep(d)

pool = threaders.ThreadPool(10)

for i, d in enumerate(delays):

pool.put(wait_delay, i, d)

pool.join()

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

threaders-0.2.13.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

threaders-0.2.13-py2.py3-none-any.whl (10.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file threaders-0.2.13.tar.gz.

File metadata

  • Download URL: threaders-0.2.13.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for threaders-0.2.13.tar.gz
Algorithm Hash digest
SHA256 c2894e2123c8493a569017b080acb2504c68ddbe671e59567179ade9509bf2a2
MD5 f5a30c88d03e088416170708aad0fc7a
BLAKE2b-256 432393df95f50fa5815574b8d2493203e6d2bf945a29eb7fcb4fc7cc6493270a

See more details on using hashes here.

File details

Details for the file threaders-0.2.13-py2.py3-none-any.whl.

File metadata

  • Download URL: threaders-0.2.13-py2.py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0

File hashes

Hashes for threaders-0.2.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 24c3b3e91945e2095a3fb17a77a2a83b05ee1797fd1bfdc43d130f45ee93bdcc
MD5 453814eb5bfc73fad1929ef86ee10dc6
BLAKE2b-256 35b98851a007aef6753df9255d4283ea38278da821a7ba04e96db6ba836699e6

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