Metadata-Version: 2.1
Name: pyrvsignal
Version: 2023.8.1
Summary: Signal for Python
Home-page: https://github.com/ravikiranb36/pyrvsignal.github.io.git
Author: Ravikirana B
Author-email: ravikiranb36@gmail.com
License: MIT
Keywords: pyrvsignal signal thread_safe
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Thread Safe Signal
```text
Thread safe signal to generate and receive events
```

## Installation:
```bash
pip install pyrvsignal
```

## Example code:

```python
import time
from threading import Thread
from pyrvsignal import Signal


class MyThread(Thread):
    started = Signal()
    finished = Signal()

    def __init__(self, target, args):
        self.target = target
        self.args = args
        Thread.__init__(self)

    def run(self) -> None:
        self.started.emit()
        self.target(*self.args)
        self.finished.emit()


def do_my_work(details):
    print(f"Doing work: {details}")
    time.sleep(10)

def started_work():
    print("Started work")
    
def finished_work():
    print("Work finished")

thread = MyThread(target=do_my_work, args=("testing",))
thread.started.connect(started_work)
thread.finished.connect(finished_work)
thread.start()
```

## Contact
&emsp; If any suggestions mail to [ravikiranb36@gmail.com](mailto:admin@w3schools.io)
