A lightweight event-driven framework for Python
Project description
jcevents Library Documentation =============================
Introduction
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.
Installation
You can install the jcevents
library using pip:
pip install jcevents
Getting Started
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()
Example Usage
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()
Conclusion
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file jcevents-1.0.1.tar.gz
.
File metadata
- Download URL: jcevents-1.0.1.tar.gz
- Upload date:
- Size: 2.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1533a75fa1f5be474e28bb75134f575c2e4ac75c1b2f02e6995258e816bd72c |
|
MD5 | 4c6b460569bade8da1fa5fb359d1e97f |
|
BLAKE2b-256 | 1fef27d9aeeb9424a587355d3548f3fd6e7a77758c3f1f6da5b6b22817b8f0e4 |
File details
Details for the file jcevents-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: jcevents-1.0.1-py3-none-any.whl
- Upload date:
- Size: 3.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f83664da59e94a0e55c1760def5a3ed8602383e3206ec6b0af1261613f278d77 |
|
MD5 | a8590c2d93cfa2980674979026cbf754 |
|
BLAKE2b-256 | 63b159481ea2e327e605ab613217272fe2e420df85932fccb588946e6806cbcd |