jcevents Library Documentation =============================
The jcevents
library is a lightweight event-driven framework for
Python that allows you to implement event handling and listeners in your
applications. This documentation provides a guide on how to use the
library effectively.
You can install the jcevents
library using pip:
pip install jcevents
To begin using the jcevents
library, follow these steps:
- Import the necessary modules:
import jcevents
from jcevents import Event, Listener, register_listeners, fire_all_postponed
- Define your custom events by inheriting from the
Event
class and implementing the required logic:
class MyEvent(Event):
def __init__(self, success: bool):
super(MyEvent, self).__init__()
self.success = success
- Implement event listeners by inheriting from the
Listener
class and overriding thehandle
method:
class MyListener(Listener):
def handle(self, event: MyEvent):
if event.success:
print("> Event success !!!")
else:
print("> Event not success")
- Register your event listeners with their corresponding events using
the
register_listeners
function:
register_listeners({
MyEvent: MyListener
})
- Create instances of your events, postpone them if needed, and then
fire all postponed events using
fire_all_postponed
:
my_event = MyEvent(success=True)
my_event.postpone()
fire_all_postponed()
Here's an example demonstrating how to use the jcevents
library in a
Python script:
import jcevents
from jcevents import Event, Listener, register_listeners, fire_all_postponed
class MyEvent(Event):
def __init__(self, success: bool):
super(MyEvent, self).__init__()
self.success = success
class MyListener(Listener):
def handle(self, event: MyEvent):
if event.success:
print("> Event success !!!")
else:
print("> Event not success")
def main():
register_listeners({
MyEvent: MyListener
})
my_event = MyEvent(success=True)
my_event.postpone()
fire_all_postponed()
if __name__ == "__main__":
main()
The jcevents
library provides a simple yet powerful way to implement
event-driven architecture in your Python applications. By defining
custom events, implementing event listeners, and using the provided
functions, you can easily manage and handle events in your projects.