Skip to main content

Threads, but with more features!

Project description

PyBetterThreads

Downloads PyPi License

PyBetterThreads is a Python library for adding more features to the threading module in Python.

PyBetterThreads makes it possible to return values from threads, and adds a finished signal so that the user can execute a function once the thread is finished. It is still in early development, and more features will be added soon.

Installation

You can install PyBetterThreads using pip:

pip install PyBetterThreads

Usage

Here is an example of how to use PyBetterThreads:

from PyBetterThreads import BetterThread
from time import sleep

def my_function():
    sleep(5)
    return "Hello, World!"

thread = BetterThread(target=my_function)
thread.start()
thread.connect(print)

The above code will print "Hello, World!" after 5 seconds, as once the thread is finished, the returned value will passed to the print function. The returned value of the thread will be stored in the value attribute of the thread.

You can also use the join method to wait for the thread to finish and get the returned value, instead of connecting a function to the thread:

from PyBetterThreads import BetterThread
from time import sleep

def my_function():
    sleep(5)
    return "Hello, World!"

thread = BetterThread(target=my_function)
thread.start()
thread.join()
print(f"The thread returned: {thread.value}")

The above code will print "Hello, World!" after 5 seconds, as once the thread is finished, the returned value will be stored in the value attribute of the thread.

Features

  • Return values from threads
  • Execute a function once the thread is finished
  • More features coming soon!

License

This project is licensed under the MIT License - see the LICENSE file for details.

Star History

Star History Chart

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

pybetterthreads-0.0.2.tar.gz (3.5 kB view hashes)

Uploaded Source

Built Distribution

PyBetterThreads-0.0.2-py3-none-any.whl (3.8 kB view hashes)

Uploaded Python 3

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