Timer Event Package
This package provides two classes for working with events:
1. EventThread: A class for creating and managing events with callback routines.
This class can be used independently of TimerEvent for handling general event-driven scenarios without any time-based requirements.
2. TimerEvent: A class that extends EventThread to create timer-based events.
This class is specifically designed for scenarios where events are triggered after a certain period of time or at specific intervals.
Note: Since this class extends the EventThread class it uses most all methods defined and documented in EvenThread class.
EventThread:
The EventThread class creates an event that can be subscribed to and triggered with a payload. The class uses its own thread to broadcast events to subscribers. The callback function is called when the event is triggered with a payload.
The packet dictionary is passed to the callback.
The packet dictionary includes:
All parameters passed in during instantiation of the EventThread.
Minimum items included: ..
"event" = The event name
"dest" = The subscriber name provided when subscribing
"payload" = The object included in the post
"cookie" = The cookie if included when subscribing, otherwise None
The EventThread class has the following methods::
subscribe(name: str, on_event: callable): Subscribes to the event with a callback function.
unsubscribe(name: str): Unsubscribes from the event.
post(payload, **kwargs): Posts an event with a payload to the subscribers.
pause(): Pauses broadcasting events
unpause(): Unpauses the event to continue broadcasting events
stop(): Stops the event processing thread, clears the subscribers list.
Note: This can not be used as pause. Once the EventThread instance is stopped it can not be restarted.
A new instance must be created after calling stop to continue eventing, but the subscribers list will be lost.
TimerEvent:
The TimerEvent class creates a timed event that triggers at a specified interval. The class uses a Timer object to initiate the timed event. The TimerEvent class can be subscribed to using the subscribe method, which takes a name and a callback function as arguments. The callback function is executed when the timed event is triggered.
The TimerEvent class has the following methods::
subscribe(name: str, on_event: callable): Subscribes to the timed event with a callback function.
unsubscribe(name: str): Unsubscribes from the timed event.
stop(): Stops the timed event.
Example Usage::
from timer_event import TimerEvent, EventThread
import time
# Create a TimerEvent that triggers every 5 seconds
te = TimerEvent(interval=5.0)
# Subscribe to the TimerEvent
def te_on_event(packet):
print("TimerEvent triggered")
te.subscribe(name="test_subscriber", on_event=te_on_event)
# Start the TimerEvent
te.start()
# Create an Event
event = EventThread("test_event")
# Subscribe to the Event
def ev_on_event(payload):
print(f"Event triggered with payload: {payload}")
event.subscribe(name="test_subscriber", on_event=ev_on_event)
# Post an event with a payload
event.post("test_payload")
# Sleep to allow for timer events
time.sleep(10)
# Stop the TimerEvent and Event
te.stop()
event.stop()
Metadata
Release files for timer-event 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| timer_event-0.9.1.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| timer_event-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.7 kB
Release files / timer_event-0.9.1.tar.gz
| Download URL | timer_event-0.9.1.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8de4bf43a78c7f35ae3a897566df43ce19c0f49895085f363e8f39404e9d111d
|
|
BLAKE2b-256 checksum How to use checksums |
3616c4746ab83746952f6fc2233c8a44fd016f0aab9877c4e2ee6e61dd766f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.7
|
Release files / timer_event-0.9.1-py3-none-any.whl
| Download URL | timer_event-0.9.1-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e6e4db06431cdde4b2bb4817dcaaaa88180b63d35748255baa2839b14e126669
|
|
BLAKE2b-256 checksum How to use checksums |
17de020b2c2cf995fd9e4c29e5b4fc95eb962630f0b7053a903a8824db392e0d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.7
|