404 - Page Not Found
+ ++ The requested URL was not found in this documentation. +
+ ++ Try searching or go to Pyventus' home page. +
+ + + + +From 900a12aa072adfa5625a17553e53c0ffedbfebb8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 19 Oct 2024 13:49:48 +0000 Subject: [PATCH] Deployed e31bf6d to 0.6 with MkDocs 1.6.1 and mike 2.1.3 --- 0.6/404.html | 1216 +++ 0.6/api/emitters/asyncio/index.html | 2011 +++++ 0.6/api/emitters/celery/index.html | 3575 +++++++++ 0.6/api/emitters/executor/index.html | 2447 ++++++ 0.6/api/emitters/fastapi/index.html | 2229 ++++++ 0.6/api/emitters/index.html | 3207 ++++++++ 0.6/api/emitters/rq/index.html | 2032 +++++ 0.6/api/event-handler/index.html | 3118 ++++++++ 0.6/api/event-linker/index.html | 6707 ++++++++++++++++ 0.6/api/index.html | 1302 ++++ 0.6/assets/_mkdocstrings.css | 143 + 0.6/assets/images/favicon.png | Bin 0 -> 1870 bytes .../social/api/emitters/asyncio/index.png | Bin 0 -> 47423 bytes .../social/api/emitters/celery/index.png | Bin 0 -> 43427 bytes .../social/api/emitters/executor/index.png | Bin 0 -> 44709 bytes .../social/api/emitters/fastapi/index.png | Bin 0 -> 45074 bytes .../images/social/api/emitters/index.png | Bin 0 -> 42801 bytes .../images/social/api/emitters/rq/index.png | Bin 0 -> 41305 bytes .../images/social/api/event-handler.png | Bin 0 -> 39275 bytes 0.6/assets/images/social/api/event-linker.png | Bin 0 -> 37925 bytes 0.6/assets/images/social/api/index.png | Bin 0 -> 40741 bytes 0.6/assets/images/social/contributing.png | Bin 0 -> 40764 bytes 0.6/assets/images/social/getting-started.png | Bin 0 -> 43694 bytes 0.6/assets/images/social/index.png | Bin 0 -> 48146 bytes 0.6/assets/images/social/release-notes.png | Bin 0 -> 41726 bytes .../tutorials/emitters/asyncio/index.png | Bin 0 -> 47423 bytes .../tutorials/emitters/celery/index.png | Bin 0 -> 43427 bytes .../tutorials/emitters/executor/index.png | Bin 0 -> 44709 bytes .../tutorials/emitters/fastapi/index.png | Bin 0 -> 45074 bytes .../social/tutorials/emitters/index.png | Bin 0 -> 45342 bytes .../social/tutorials/emitters/rq/index.png | Bin 0 -> 41305 bytes .../images/social/tutorials/event-linker.png | Bin 0 -> 46885 bytes 0.6/assets/images/social/tutorials/event.png | Bin 0 -> 47972 bytes 0.6/assets/images/social/tutorials/index.png | Bin 0 -> 38768 bytes 0.6/assets/javascripts/bundle.83f73b43.min.js | 16 + .../javascripts/bundle.83f73b43.min.js.map | 7 + .../javascripts/lunr/min/lunr.ar.min.js | 1 + .../javascripts/lunr/min/lunr.da.min.js | 18 + .../javascripts/lunr/min/lunr.de.min.js | 18 + .../javascripts/lunr/min/lunr.du.min.js | 18 + .../javascripts/lunr/min/lunr.el.min.js | 1 + .../javascripts/lunr/min/lunr.es.min.js | 18 + .../javascripts/lunr/min/lunr.fi.min.js | 18 + .../javascripts/lunr/min/lunr.fr.min.js | 18 + .../javascripts/lunr/min/lunr.he.min.js | 1 + .../javascripts/lunr/min/lunr.hi.min.js | 1 + .../javascripts/lunr/min/lunr.hu.min.js | 18 + .../javascripts/lunr/min/lunr.hy.min.js | 1 + .../javascripts/lunr/min/lunr.it.min.js | 18 + .../javascripts/lunr/min/lunr.ja.min.js | 1 + .../javascripts/lunr/min/lunr.jp.min.js | 1 + .../javascripts/lunr/min/lunr.kn.min.js | 1 + .../javascripts/lunr/min/lunr.ko.min.js | 1 + .../javascripts/lunr/min/lunr.multi.min.js | 1 + .../javascripts/lunr/min/lunr.nl.min.js | 18 + .../javascripts/lunr/min/lunr.no.min.js | 18 + .../javascripts/lunr/min/lunr.pt.min.js | 18 + .../javascripts/lunr/min/lunr.ro.min.js | 18 + .../javascripts/lunr/min/lunr.ru.min.js | 18 + .../javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + .../javascripts/lunr/min/lunr.sv.min.js | 18 + .../javascripts/lunr/min/lunr.ta.min.js | 1 + .../javascripts/lunr/min/lunr.te.min.js | 1 + .../javascripts/lunr/min/lunr.th.min.js | 1 + .../javascripts/lunr/min/lunr.tr.min.js | 18 + .../javascripts/lunr/min/lunr.vi.min.js | 1 + .../javascripts/lunr/min/lunr.zh.min.js | 1 + 0.6/assets/javascripts/lunr/tinyseg.js | 206 + 0.6/assets/javascripts/lunr/wordcut.js | 6708 +++++++++++++++++ .../workers/search.6ce7567c.min.js | 42 + .../workers/search.6ce7567c.min.js.map | 7 + 0.6/assets/stylesheets/main.0253249f.min.css | 1 + .../stylesheets/main.0253249f.min.css.map | 1 + .../stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + 0.6/contributing/index.html | 1933 +++++ 0.6/css/timeago.css | 15 + 0.6/getting-started/index.html | 1581 ++++ 0.6/images/examples/debug-mode-example.png | Bin 0 -> 94881 bytes .../examples/practical-example-index.jpg | Bin 0 -> 134996 bytes 0.6/images/favicon/pyventus-logo.ico | Bin 0 -> 16724 bytes 0.6/images/logo/pyventus-logo-black.png | Bin 0 -> 74665 bytes 0.6/images/logo/pyventus-logo-black.svg | 1 + 0.6/images/logo/pyventus-logo-name-slogan.png | Bin 0 -> 226431 bytes 0.6/images/logo/pyventus-logo-name-slogan.svg | 1 + 0.6/images/logo/pyventus-logo-name.png | Bin 0 -> 194320 bytes 0.6/images/logo/pyventus-logo-name.svg | 1 + 0.6/images/logo/pyventus-logo-white.png | Bin 0 -> 93505 bytes 0.6/images/logo/pyventus-logo-white.svg | 1 + 0.6/images/logo/pyventus-logo.png | Bin 0 -> 116730 bytes 0.6/images/logo/pyventus-logo.svg | 1 + 0.6/index.html | 2250 ++++++ 0.6/js/timeago.min.js | 2 + 0.6/js/timeago_mkdocs_material.js | 33 + 0.6/objects.inv | Bin 0 -> 1389 bytes 0.6/release-notes/index.html | 2221 ++++++ 0.6/search/search_index.json | 1 + 0.6/sitemap.xml | 91 + 0.6/sitemap.xml.gz | Bin 0 -> 344 bytes 0.6/tutorials/emitters/asyncio/index.html | 1648 ++++ 0.6/tutorials/emitters/celery/index.html | 1659 ++++ 0.6/tutorials/emitters/executor/index.html | 1770 +++++ 0.6/tutorials/emitters/fastapi/index.html | 1622 ++++ 0.6/tutorials/emitters/index.html | 1821 +++++ 0.6/tutorials/emitters/rq/index.html | 1701 +++++ 0.6/tutorials/event-linker/index.html | 2647 +++++++ 0.6/tutorials/event/index.html | 1991 +++++ 0.6/tutorials/index.html | 1300 ++++ latest | 2 +- versions.json | 9 +- 111 files changed, 59563 insertions(+), 3 deletions(-) create mode 100644 0.6/404.html create mode 100644 0.6/api/emitters/asyncio/index.html create mode 100644 0.6/api/emitters/celery/index.html create mode 100644 0.6/api/emitters/executor/index.html create mode 100644 0.6/api/emitters/fastapi/index.html create mode 100644 0.6/api/emitters/index.html create mode 100644 0.6/api/emitters/rq/index.html create mode 100644 0.6/api/event-handler/index.html create mode 100644 0.6/api/event-linker/index.html create mode 100644 0.6/api/index.html create mode 100644 0.6/assets/_mkdocstrings.css create mode 100644 0.6/assets/images/favicon.png create mode 100644 0.6/assets/images/social/api/emitters/asyncio/index.png create mode 100644 0.6/assets/images/social/api/emitters/celery/index.png create mode 100644 0.6/assets/images/social/api/emitters/executor/index.png create mode 100644 0.6/assets/images/social/api/emitters/fastapi/index.png create mode 100644 0.6/assets/images/social/api/emitters/index.png create mode 100644 0.6/assets/images/social/api/emitters/rq/index.png create mode 100644 0.6/assets/images/social/api/event-handler.png create mode 100644 0.6/assets/images/social/api/event-linker.png create mode 100644 0.6/assets/images/social/api/index.png create mode 100644 0.6/assets/images/social/contributing.png create mode 100644 0.6/assets/images/social/getting-started.png create mode 100644 0.6/assets/images/social/index.png create mode 100644 0.6/assets/images/social/release-notes.png create mode 100644 0.6/assets/images/social/tutorials/emitters/asyncio/index.png create mode 100644 0.6/assets/images/social/tutorials/emitters/celery/index.png create mode 100644 0.6/assets/images/social/tutorials/emitters/executor/index.png create mode 100644 0.6/assets/images/social/tutorials/emitters/fastapi/index.png create mode 100644 0.6/assets/images/social/tutorials/emitters/index.png create mode 100644 0.6/assets/images/social/tutorials/emitters/rq/index.png create mode 100644 0.6/assets/images/social/tutorials/event-linker.png create mode 100644 0.6/assets/images/social/tutorials/event.png create mode 100644 0.6/assets/images/social/tutorials/index.png create mode 100644 0.6/assets/javascripts/bundle.83f73b43.min.js create mode 100644 0.6/assets/javascripts/bundle.83f73b43.min.js.map create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 0.6/assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 0.6/assets/javascripts/lunr/tinyseg.js create mode 100644 0.6/assets/javascripts/lunr/wordcut.js create mode 100644 0.6/assets/javascripts/workers/search.6ce7567c.min.js create mode 100644 0.6/assets/javascripts/workers/search.6ce7567c.min.js.map create mode 100644 0.6/assets/stylesheets/main.0253249f.min.css create mode 100644 0.6/assets/stylesheets/main.0253249f.min.css.map create mode 100644 0.6/assets/stylesheets/palette.06af60db.min.css create mode 100644 0.6/assets/stylesheets/palette.06af60db.min.css.map create mode 100644 0.6/contributing/index.html create mode 100644 0.6/css/timeago.css create mode 100644 0.6/getting-started/index.html create mode 100644 0.6/images/examples/debug-mode-example.png create mode 100644 0.6/images/examples/practical-example-index.jpg create mode 100644 0.6/images/favicon/pyventus-logo.ico create mode 100644 0.6/images/logo/pyventus-logo-black.png create mode 100644 0.6/images/logo/pyventus-logo-black.svg create mode 100644 0.6/images/logo/pyventus-logo-name-slogan.png create mode 100644 0.6/images/logo/pyventus-logo-name-slogan.svg create mode 100644 0.6/images/logo/pyventus-logo-name.png create mode 100644 0.6/images/logo/pyventus-logo-name.svg create mode 100644 0.6/images/logo/pyventus-logo-white.png create mode 100644 0.6/images/logo/pyventus-logo-white.svg create mode 100644 0.6/images/logo/pyventus-logo.png create mode 100644 0.6/images/logo/pyventus-logo.svg create mode 100644 0.6/index.html create mode 100644 0.6/js/timeago.min.js create mode 100644 0.6/js/timeago_mkdocs_material.js create mode 100644 0.6/objects.inv create mode 100644 0.6/release-notes/index.html create mode 100644 0.6/search/search_index.json create mode 100644 0.6/sitemap.xml create mode 100644 0.6/sitemap.xml.gz create mode 100644 0.6/tutorials/emitters/asyncio/index.html create mode 100644 0.6/tutorials/emitters/celery/index.html create mode 100644 0.6/tutorials/emitters/executor/index.html create mode 100644 0.6/tutorials/emitters/fastapi/index.html create mode 100644 0.6/tutorials/emitters/index.html create mode 100644 0.6/tutorials/emitters/rq/index.html create mode 100644 0.6/tutorials/event-linker/index.html create mode 100644 0.6/tutorials/event/index.html create mode 100644 0.6/tutorials/index.html diff --git a/0.6/404.html b/0.6/404.html new file mode 100644 index 0000000..cd686ce --- /dev/null +++ b/0.6/404.html @@ -0,0 +1,1216 @@ + + + +
+ + + + + + + + + + + + + + + + + + ++ The requested URL was not found in this documentation. +
+ ++ Try searching or go to Pyventus' home page. +
+ + + + +AsyncIOEventEmitter
class¶
+ Bases: EventEmitter
An event emitter subclass that utilizes the AsyncIO framework to handle +the execution of event emissions.
+Notes:
+When used in an asynchronous context where an event loop is already running, + the event emission is scheduled and processed on that existing loop. If the + event loop is closed before all callbacks complete, any remaining scheduled + callbacks will be canceled.
+When used in a synchronous context where no event loop is active, a new event
+ loop is started and subsequently closed by the asyncio.run()
method. Within
+ this loop, the event emission is executed. The loop then waits for all
+ scheduled tasks to finish before closing.
Read more in the +Pyventus docs for AsyncIO Event Emitter.
+ + + + + + +pyventus/emitters/asyncio/asyncio_event_emitter.py
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
__init__
+
+
+¶__init__(event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of AsyncIOEventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
pyventus/emitters/asyncio/asyncio_event_emitter.py
CeleryEventEmitter
class¶
+ Bases: EventEmitter
An event emitter subclass that utilizes the Celery distributed system +to handle the execution of event emissions.
+Notes:
+Read more in the +Pyventus docs for Celery Event Emitter.
+ + + + + + +pyventus/emitters/celery/celery_event_emitter.py
21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 |
|
Queue
+
+
+¶A Celery event emitter queue used for enqueuing event emissions.
+ + + + + + +pyventus/emitters/celery/celery_event_emitter.py
37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 |
|
Serializer
+
+
+¶An event emitter object serializer for Celery queues.
+ + + + + + +pyventus/emitters/celery/celery_event_emitter.py
dumps
+
+
+
+ staticmethod
+
+
+¶dumps(obj: EventEmission) -> Any
+
Serializes the event emission object.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ obj
+ |
+
+
+
+ The event emission object to be serialized. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ Any
+
+ |
+
+
+
+ The serialized representation of the event emission object. + |
+
pyventus/emitters/celery/celery_event_emitter.py
loads
+
+
+
+ staticmethod
+
+
+¶loads(serialized_obj: Any) -> EventEmission
+
Deserializes the task payload back to the event emission object.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ serialized_obj
+ |
+
+
+
+ The serialized object to be loaded. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ EventEmission
+
+ |
+
+
+
+ The deserialized event emission object. + |
+
pyventus/emitters/celery/celery_event_emitter.py
__init__
+
+
+¶__init__(celery: Celery, name: str | None = None, secret: str | None = None, serializer: Type[Serializer] = Serializer) -> None
+
Initialize an instance of CeleryEventEmitter.Queue
.
PARAMETER | +DESCRIPTION | +
---|---|
+ celery
+ |
+
+
+
+ The Celery object used to enqueue and process event emissions. +
+
+ TYPE:
+ |
+
+ name
+ |
+
+
+
+ The name of the queue where the event emission will be enqueued. Default is None (task_default_queue). +
+
+ TYPE:
+ |
+
+ secret
+ |
+
+
+
+ The secret key used for message authentication and integrity validation. This key is used for hashing the event emission object and verifying its integrity. +
+
+ TYPE:
+ |
+
+ serializer
+ |
+
+
+
+ The serializer class used for serializing and deserializing event emission objects. +
+
+ TYPE:
+ |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the Celery object is None, or the secret key is not None and empty, or if the content type 'application/x-python-serialize' is not accepted. + |
+
pyventus/emitters/celery/celery_event_emitter.py
enqueue
+
+
+¶enqueue(event_emission: EventEmission) -> None
+
Enqueues an event emission object for asynchronous processing in Celery.
+This method takes an EventEmission
object and enqueues it for asynchronous
+execution by Celery workers. If a secret key is provided during initialization,
+the event emission object is first serialized, and its hash is calculated using
+the secret key. This hash is used to verify the integrity of the event emission
+object during execution.
PARAMETER | +DESCRIPTION | +
---|---|
+ event_emission
+ |
+
+
+
+ The event emission object to be enqueued for asynchronous execution. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/celery/celery_event_emitter.py
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
__init__
+
+
+¶__init__(queue: Queue, event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of CeleryEventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ queue
+ |
+
+
+
+ The queue used for enqueuing event emissions in the Celery event emitter. +
+
+ TYPE:
+ |
+
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
pyventus/emitters/celery/celery_event_emitter.py
ExecutorEventEmitter
class¶
+ Bases: EventEmitter
An event emitter subclass that utilizes the concurrent.futures
Executor base class to
+handle the execution of event emissions. It can work with either ThreadPoolExecutor
+for thread-based execution or ProcessPoolExecutor
for process-based execution.
Notes:
+Executor
.
+ Once you have finished emitting events, call the shutdown()
method to signal the executor to
+ free any resources for pending futures. You can avoid the need to call this method explicitly
+ by using the with
statement, which will automatically shut down the Executor
(waiting as
+ if Executor.shutdown()
were called with wait
set to True
).Read more in the +Pyventus docs for Executor Event Emitter.
+ + + + + + +pyventus/emitters/executor/executor_event_emitter.py
11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 |
|
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
__init__
+
+
+¶__init__(executor: Executor = ThreadPoolExecutor(), event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of ExecutorEventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ executor
+ |
+
+
+
+ The executor object used to handle the execution of event emissions. Defaults to
+
+ TYPE:
+ |
+
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
pyventus/emitters/executor/executor_event_emitter.py
__enter__
+
+
+¶__enter__() -> ExecutorEventEmitter
+
Returns the current instance of ExecutorEventEmitter
for context management.
RETURNS | +DESCRIPTION | +
---|---|
+
+ ExecutorEventEmitter
+
+ |
+
+
+
+ The current instance of |
+
pyventus/emitters/executor/executor_event_emitter.py
__exit__
+
+
+¶__exit__(exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None) -> None
+
Cleans up the executor resources when exiting the context.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ exc_type
+ |
+
+
+
+ The exception type, if any. +
+
+ TYPE:
+ |
+
+ exc_val
+ |
+
+
+
+ The exception value, if any. +
+
+ TYPE:
+ |
+
+ exc_tb
+ |
+
+
+
+ The traceback information, if any. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/executor/executor_event_emitter.py
shutdown
+
+
+¶Shuts down the executor and frees any resources it is using.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ wait
+ |
+
+
+
+ A boolean indicating whether to wait for the currently pending futures to complete before shutting down. +
+
+ TYPE:
+ |
+
+ cancel_futures
+ |
+
+
+
+ A boolean indicating whether to cancel any pending futures. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/executor/executor_event_emitter.py
FastAPIEventEmitter
class¶
+ Bases: EventEmitter
An event emitter subclass that utilizes FastAPI's BackgroundTasks system +to handle the execution of event emissions.
+Notes:
+Read more in the +Pyventus docs for FastAPI Event Emitter.
+ + + + + + +pyventus/emitters/fastapi/fastapi_event_emitter.py
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
options
+
+
+
+ classmethod
+
+
+¶options(event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> Callable[[BackgroundTasks], FastAPIEventEmitter]
+
Returns a decorator that allows you to configure the FastAPIEventEmitter
class
+when using FastAPI's Depends
method.
PARAMETER | +DESCRIPTION | +
---|---|
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ Callable[[BackgroundTasks], FastAPIEventEmitter]
+
+ |
+
+
+
+ A decorator that can be used with the |
+
pyventus/emitters/fastapi/fastapi_event_emitter.py
__init__
+
+
+¶__init__(background_tasks: BackgroundTasks, event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of FastAPIEventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ background_tasks
+ |
+
+
+
+ The FastAPI
+
+ TYPE:
+ |
+
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker to use for associating events with their respective event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
pyventus/emitters/fastapi/fastapi_event_emitter.py
EventEmitter
class¶
+ Bases: ABC
An abstract base class for event emitters.
+Notes:
+This class defines a common interface for emitting events. It serves as a foundation for
+ implementing custom event emitters with specific dispatch strategies. It is designed to
+ handle string-named
events with positional and keyword arguments, as well as instances
+ of dataclass
objects and Exceptions
objects.
The main goal of this class is to decouple the event emission process from the underlying + implementation. This loose coupling promotes flexibility, adaptability, and adheres to the + Open-Closed principle, allowing custom event emitters to be implemented without affecting + existing consumers.
+Read more in the +Pyventus docs for Event Emitter.
+ + + + + + +pyventus/emitters/event_emitter.py
18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 |
|
EventEmission
+
+
+¶Represents an event emission that has been triggered but whose propagation is not +yet complete. It provides a self-contained context for executing the event emission, +encapsulating both the event data and the associated event handlers.
+This class acts as an isolated unit of work to asynchronously propagate the emission
+of an event. When an event occurs, the EventEmitter
class creates an EventEmission
+instance, which is then processed by the _process()
method to handle the event
+propagation.
pyventus/emitters/event_emitter.py
39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 |
|
id
+
+
+
+ property
+
+
+¶Gets the unique identifier of the event emission.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ str
+
+ |
+
+
+
+ The unique identifier of the event emission. + |
+
timestamp
+
+
+
+ property
+
+
+¶Gets the timestamp when the event emission was created.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ datetime
+
+ |
+
+
+
+ The timestamp when the event emission was created. + |
+
event
+
+
+
+ property
+
+
+¶Gets the name of the event being emitted.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ str
+
+ |
+
+
+
+ The name of the event. + |
+
__init__
+
+
+¶__init__(event: str, event_handlers: List[EventHandler], event_args: Tuple[Any, ...], event_kwargs: Dict[str, Any], debug: bool) -> None
+
Initialize an instance of EventEmission
.
PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The name of the event being emitted. +
+
+ TYPE:
+ |
+
+ event_handlers
+ |
+
+
+
+ List of event handlers associated with the event. +
+
+ TYPE:
+ |
+
+ event_args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ event_kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Indicates if debug mode is enabled. +
+
+ TYPE:
+ |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If |
+
pyventus/emitters/event_emitter.py
__call__
+
+
+
+ async
+
+
+¶Execute the event handlers concurrently.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
__init__
+
+
+¶__init__(event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of EventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the subclass logger. If
+
+ TYPE:
+ |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/emitters/event_emitter.py
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
_process
+
+
+
+ abstractmethod
+
+
+¶_process(event_emission: EventEmission) -> None
+
Process the event emission execution. Subclasses must implement +this method to define the specific processing logic.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ event_emission
+ |
+
+
+
+ The event emission to be processed. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
RQEventEmitter
class¶
+ Bases: EventEmitter
An event emitter subclass that utilizes the Redis Queue system to handle the +execution of event emissions.
+Notes:
+Read more in the +Pyventus docs for RQ Event Emitter.
+ + + + + + +pyventus/emitters/rq/rq_event_emitter.py
emit
+
+
+¶Emits an event and triggers its associated event handlers.
+Notes:
+dataclass
objects or Exception
objects, they are automatically passed
+ to the event handler as the first positional argument, even if you pass additional *args
+ or **kwargs
....
, also known as Ellipsis
,
+ they will also be triggered each time an event or exception is emitted.PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to be emitted. It can be
+
+ TYPE:
+ |
+
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event handlers. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/emitters/event_emitter.py
168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 |
|
__init__
+
+
+¶__init__(queue: Queue, options: Dict[str, Any] | None = None, event_linker: Type[EventLinker] = EventLinker, debug: bool | None = None) -> None
+
Initialize an instance of RQEventEmitter
.
PARAMETER | +DESCRIPTION | +
---|---|
+ queue
+ |
+
+
+
+ The Redis queue for enqueuing event handlers. +
+
+ TYPE:
+ |
+
+ options
+ |
+
+
+
+ Additional options for the RQ package enqueueing method. Defaults to an empty dictionary. +
+
+ TYPE:
+ |
+
+ event_linker
+ |
+
+
+
+ Specifies the type of event linker used to manage and access events along with their corresponding event handlers. Defaults to
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the logger. If
+
+ TYPE:
+ |
+
pyventus/emitters/rq/rq_event_emitter.py
EventHandler
class¶A class that encapsulates event callbacks and provides a mechanism for executing them +when the event occurs. This class manages both asynchronous and synchronous execution +and handles event completion in both success and error scenarios.
+Notes:
+The __call__
method of the EventHandler
class is an asynchronous method
+ that returns a Coroutine
. It should never be treated as a synchronous function.
This class is not intended to be subclassed or manually created. It is used + internally to encapsulate the callbacks associated with an event and manage + their execution.
+The event handler can be invoked by calling the instance as a function and + passing the required arguments.
+Read more in the +Pyventus docs for Event Handler.
+ + + + + + +pyventus/handlers/event_handler.py
22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 |
|
once
+
+
+
+ property
+
+
+¶Determines if the event handler is a one-time subscription.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+ A boolean value indicating if the event handler is a one-time subscription. + |
+
force_async
+
+
+
+ property
+
+
+¶Determines whether all callbacks are forced to run asynchronously.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+ A boolean value indicating if all callbacks are forced to run asynchronously. If |
+
timestamp
+
+
+
+ property
+
+
+¶Retrieves the timestamp when the event handler was created.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ datetime
+
+ |
+
+
+
+ The timestamp when the event handler was created. + |
+
get_callback_name
+
+
+
+ staticmethod
+
+
+¶get_callback_name(callback: EventCallbackType | SuccessCallbackType | FailureCallbackType | None) -> str
+
Retrieves the name of the provided callback.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ callback
+ |
+
+
+
+ The callback object. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ str
+
+ |
+
+
+
+ The name of the callback as a string. + |
+
pyventus/handlers/event_handler.py
validate_callback
+
+
+
+ staticmethod
+
+
+¶validate_callback(callback: EventCallbackType | SuccessCallbackType | FailureCallbackType) -> None
+
Validates whether the provided callback is a valid callable object.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ callback
+ |
+
+
+
+ The callback to be validated. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the callback is not a callable object. + |
+
pyventus/handlers/event_handler.py
is_async
+
+
+
+ staticmethod
+
+
+¶Checks whether the provided callback is an asynchronous function or method.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ callback
+ |
+
+
+
+ The callback to be checked. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+
|
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the callback is not a callable or a string. + |
+
pyventus/handlers/event_handler.py
__init__
+
+
+¶__init__(once: bool, force_async: bool, event_callback: EventCallbackType, success_callback: SuccessCallbackType | None = None, failure_callback: FailureCallbackType | None = None) -> None
+
Initialize an instance of EventHandler
.
PARAMETER | +DESCRIPTION | +
---|---|
+ once
+ |
+
+
+
+ Specifies if the event handler is a one-time subscription. +
+
+ TYPE:
+ |
+
+ force_async
+ |
+
+
+
+ Determines whether to force all callbacks to run asynchronously. If
+
+ TYPE:
+ |
+
+ event_callback
+ |
+
+
+
+ The callback to be executed when the event occurs. +
+
+ TYPE:
+ |
+
+ success_callback
+ |
+
+
+
+ The callback to be executed when the event execution completes successfully. Default is
+
+ TYPE:
+ |
+
+ failure_callback
+ |
+
+
+
+ The callback to be executed when the event execution fails. Default is
+
+ TYPE:
+ |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the provided callbacks are invalid. + |
+
pyventus/handlers/event_handler.py
__call__
+
+
+
+ async
+
+
+¶Executes the event flow by invoking the associated callbacks.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ args
+ |
+
+
+
+ Positional arguments to be passed to the event callback. +
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ Keyword arguments to be passed to the event callback. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ Coroutine + |
+
pyventus/handlers/event_handler.py
EventLinker
class¶A base class that acts as a global registry for events and callbacks linkage. It provides +a centralized mechanism for managing event subscriptions, unsubscriptions, and retrieval +of events and their associated event handlers.
+Notes:
+The EventLinker
class can be subclassed to create specific namespaces or contexts
+ for managing events and event handlers separately. By subclassing the EventLinker
,
+ users can organize event subscriptions and handlers within different scopes, providing
+ modularity and flexibility in event management. Subclassing also allows users to
+ configure settings of the EventLinker
to suit their specific use cases.
The EventLinker
has been implemented with thread safety in mind. All of its methods
+ synchronize access to prevent race conditions when managing events and event handlers
+ across multiple threads. This ensures that concurrent operations on the EventLinker
+ are properly synchronized, avoiding data inconsistencies and race conditions.
Read more in the +Pyventus docs for Event Linker.
+ + + + + + +pyventus/linkers/event_linker.py
16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 |
|
EventLinkageWrapper
+
+
+¶A class that serves as a wrapper for event linking operations, providing a simplified +interface for subscribing events with their corresponding callbacks.
+Notes:
+This class can be used as either a decorator or a context manager. When used as a
+ decorator, it automatically subscribes the decorated callback to the provided events.
+ When used as a context manager with the with
statement, it allows multiple callbacks
+ to be associated with the provided events within the context block.
This class is not intended to be subclassed or manually created.
+ The EventLinkageWrapper
is used internally as a wrapper for event
+ linking operations.
pyventus/linkers/event_linker.py
40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 |
|
on_event
+
+
+
+ property
+
+
+¶Decorator that sets the main callback for the event. This callback +will be invoked when the associated event occurs.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ Callable[[EventCallbackType], EventCallbackType]
+
+ |
+
+
+
+ The decorated callback. + |
+
on_success
+
+
+
+ property
+
+
+¶Decorator that sets the success callback. This callback will be +invoked when the event execution completes successfully.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ Callable[[SuccessCallbackType], SuccessCallbackType]
+
+ |
+
+
+
+ The decorated callback. + |
+
on_failure
+
+
+
+ property
+
+
+¶Decorator that sets the failure callback. This callback +will be invoked when the event execution fails.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ Callable[[FailureCallbackType], FailureCallbackType]
+
+ |
+
+
+
+ The decorated callback. + |
+
__init__
+
+
+¶__init__(*events: SubscribableEventType, event_linker: Type[EventLinker], force_async: bool, once: bool) -> None
+
Initialize an instance of EventLinkageWrapper
.
PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ The events to subscribe/link to. +
+
+ TYPE:
+ |
+
+ event_linker
+ |
+
+
+
+ The event linker instance used for subscription. +
+
+ TYPE:
+ |
+
+ force_async
+ |
+
+
+
+ Determines whether to force all callbacks to run asynchronously. +
+
+ TYPE:
+ |
+
+ once
+ |
+
+
+
+ Specifies if the callback is a one-time subscription. +
+
+ TYPE:
+ |
+
pyventus/linkers/event_linker.py
__call__
+
+
+¶Subscribes the provided events to the decorated callback.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ callback
+ |
+
+
+
+ The callback to associate with the events. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ EventCallbackType
+
+ |
+
+
+
+ The decorated callback. + |
+
pyventus/linkers/event_linker.py
__enter__
+
+
+¶__enter__() -> EventLinkageWrapper
+
Enters the linkage context block, allowing multiple +callbacks to be associated with the events.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ EventLinkageWrapper
+
+ |
+
+
+
+ The context manager object + |
+
pyventus/linkers/event_linker.py
__exit__
+
+
+¶__exit__(exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None) -> None
+
Exits the linkage context block, subscribing the provided callbacks within +the context to the specified events. Performs any necessary cleanup.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ exc_type
+ |
+
+
+
+ The type of the exception raised, if any. +
+
+ TYPE:
+ |
+
+ exc_val
+ |
+
+
+
+ The exception object raised, if any. +
+
+ TYPE:
+ |
+
+ exc_tb
+ |
+
+
+
+ The traceback information, if any. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
pyventus/linkers/event_linker.py
__init_subclass__
+
+
+¶__init_subclass__(max_event_handlers: int | None = None, default_success_callback: SuccessCallbackType | None = None, default_failure_callback: FailureCallbackType | None = None, debug: bool | None = None, **kwargs: Any) -> None
+
Initialize a subclass of EventLinker
.
By default, this method sets up the main registry and thread lock object, but
+it can also be used to configure specific settings of the EventLinker
subclass.
PARAMETER | +DESCRIPTION | +
---|---|
+ max_event_handlers
+ |
+
+
+
+ The maximum number of event handlers allowed per event, or
+
+ TYPE:
+ |
+
+ default_success_callback
+ |
+
+
+
+ The default callback to assign as the success callback in the event handlers when no specific success callback is provided. +
+
+ TYPE:
+ |
+
+ default_failure_callback
+ |
+
+
+
+ The default callback to assign as the failure callback in the event handlers when no specific failure callback is provided. +
+
+ TYPE:
+ |
+
+ debug
+ |
+
+
+
+ Specifies the debug mode for the subclass logger. If
+
+ TYPE:
+ |
+
+ kwargs
+ |
+
+
+
+ The keyword arguments to pass to the superclass
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ None
+
+ |
+
+
+
+ None + |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If |
+
pyventus/linkers/event_linker.py
219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 |
|
get_event_name
+
+
+
+ classmethod
+
+
+¶Determines the name of the event.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to obtain the name for. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ str
+
+ |
+
+
+
+ A string that represents the event name. + |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/linkers/event_linker.py
get_max_event_handlers
+
+
+
+ classmethod
+
+
+¶Retrieve the maximum number of event handlers allowed per event.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ int | None
+
+ |
+
+
+
+ The maximum number of event handlers or |
+
pyventus/linkers/event_linker.py
get_default_success_callback
+
+
+
+ classmethod
+
+
+¶Retrieve the default callback to be assigned as the success callback +in the event handlers when no specific success callback is provided.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ SuccessCallbackType | None
+
+ |
+
+
+
+ The default success callback or |
+
pyventus/linkers/event_linker.py
get_default_failure_callback
+
+
+
+ classmethod
+
+
+¶Retrieve the default callback to be assigned as the failure callback +in the event handlers when no specific failure callback is provided.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ FailureCallbackType | None
+
+ |
+
+
+
+ The default failure callback or |
+
pyventus/linkers/event_linker.py
get_registry
+
+
+
+ classmethod
+
+
+¶get_registry() -> Mapping[str, List[EventHandler]]
+
Retrieve the main registry mapping.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ Mapping[str, List[EventHandler]]
+
+ |
+
+
+
+ A mapping of event names to event handlers. + |
+
pyventus/linkers/event_linker.py
get_events
+
+
+
+ classmethod
+
+
+¶Retrieve a list of all the registered events.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ List[str]
+
+ |
+
+
+
+ A list of event names. + |
+
get_event_handlers
+
+
+
+ classmethod
+
+
+¶get_event_handlers() -> List[EventHandler]
+
Retrieve a list of non-duplicated event handlers +that have been registered across all events.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ List[EventHandler]
+
+ |
+
+
+
+ A list of event handlers. + |
+
pyventus/linkers/event_linker.py
get_events_by_event_handler
+
+
+
+ classmethod
+
+
+¶get_events_by_event_handler(event_handler: EventHandler) -> List[str]
+
Retrieve a list of event names associated with the provided event handler.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ event_handler
+ |
+
+
+
+ The handler to retrieve the associated events for. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ List[str]
+
+ |
+
+
+
+ A list of event names. + |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/linkers/event_linker.py
get_event_handlers_by_events
+
+
+
+ classmethod
+
+
+¶get_event_handlers_by_events(*events: SubscribableEventType) -> List[EventHandler]
+
Retrieve a list of non-duplicated event handlers associated with the provided events.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ Events to retrieve the event handlers for. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ List[EventHandler]
+
+ |
+
+
+
+ A list of event handlers. + |
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/linkers/event_linker.py
once
+
+
+
+ classmethod
+
+
+¶once(*events: SubscribableEventType, force_async: bool = False) -> EventLinkageWrapper
+
Decorator that allows you to conveniently subscribe callbacks to the provided events +for a single invocation.
+This method can be used as either a decorator or a context manager. When used as a
+decorator, it automatically subscribes the decorated callback to the provided events.
+When used as a context manager with the with
statement, it allows multiple callbacks
+to be associated with the provided events within the context block.
PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ The events to subscribe to. +
+
+ TYPE:
+ |
+
+ force_async
+ |
+
+
+
+ Determines whether to force all callbacks to run asynchronously. If
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ EventLinkageWrapper
+
+ |
+
+
+
+ The decorator that wraps the callback. + |
+
pyventus/linkers/event_linker.py
on
+
+
+
+ classmethod
+
+
+¶on(*events: SubscribableEventType, force_async: bool = False) -> EventLinkageWrapper
+
Decorator that allows you to conveniently subscribe callbacks to the provided events.
+This method can be used as either a decorator or a context manager. When used as a
+decorator, it automatically subscribes the decorated callback to the provided events.
+When used as a context manager with the with
statement, it allows multiple callbacks
+to be associated with the provided events within the context block.
PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ The events to subscribe to. +
+
+ TYPE:
+ |
+
+ force_async
+ |
+
+
+
+ Determines whether to force all callbacks to run asynchronously. If
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ EventLinkageWrapper
+
+ |
+
+
+
+ The decorator that wraps the callback. + |
+
pyventus/linkers/event_linker.py
subscribe
+
+
+
+ classmethod
+
+
+¶subscribe(*events: SubscribableEventType, event_callback: EventCallbackType, success_callback: SuccessCallbackType | None = None, failure_callback: FailureCallbackType | None = None, force_async: bool = False, once: bool = False) -> EventHandler
+
Subscribes callbacks to the provided events.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ The events to subscribe to. +
+
+ TYPE:
+ |
+
+ event_callback
+ |
+
+
+
+ The callback to be executed when the event occurs. +
+
+ TYPE:
+ |
+
+ success_callback
+ |
+
+
+
+ The callback to be executed when the event execution completes successfully. +
+
+ TYPE:
+ |
+
+ failure_callback
+ |
+
+
+
+ The callback to be executed when the event execution fails. +
+
+ TYPE:
+ |
+
+ force_async
+ |
+
+
+
+ Determines whether to force all callbacks to run asynchronously. If
+
+ TYPE:
+ |
+
+ once
+ |
+
+
+
+ Specifies if the event handler is a one-time subscription. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ EventHandler
+
+ |
+
+
+
+ The event handler object associated with the given events. + |
+
pyventus/linkers/event_linker.py
460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 |
|
unsubscribe
+
+
+
+ classmethod
+
+
+¶unsubscribe(*events: SubscribableEventType, event_handler: EventHandler) -> bool
+
Unsubscribes an event handler from the provided events. If there are no more +handlers for a particular event, that event is also removed from the registry.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ events
+ |
+
+
+
+ The events to unsubscribe from. +
+
+ TYPE:
+ |
+
+ event_handler
+ |
+
+
+
+ The event handler to unsubscribe. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+
|
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/linkers/event_linker.py
remove_event_handler
+
+
+
+ classmethod
+
+
+¶remove_event_handler(event_handler: EventHandler) -> bool
+
Removes an event handler from all subscribed events. If there are no more +handlers for a particular event, that event is also removed from the registry.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ event_handler
+ |
+
+
+
+ The event handler to remove. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+
|
+
RAISES | +DESCRIPTION | +
---|---|
+
+ PyventusException
+
+ |
+
+
+
+ If the |
+
pyventus/linkers/event_linker.py
remove_event
+
+
+
+ classmethod
+
+
+¶Removes an event from the registry, including all its event handler subscriptions.
+ + +PARAMETER | +DESCRIPTION | +
---|---|
+ event
+ |
+
+
+
+ The event to remove. +
+
+ TYPE:
+ |
+
RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+
|
+
pyventus/linkers/event_linker.py
remove_all
+
+
+
+ classmethod
+
+
+¶Removes all events and their associated event handlers from the registry.
+ + +RETURNS | +DESCRIPTION | +
---|---|
+
+ bool
+
+ |
+
+
+
+
|
+
pyventus/linkers/event_linker.py
+ Welcome to the Pyventus API Reference, a comprehensive guide that provides detailed information about + the classes, functions, parameters, attributes, and other components available in Pyventus. +
+ ++ In the API Reference, you will find detailed documentation for each component, including clear explanations, + parameter details, return values, and usage examples. You can navigate through the reference using the search + functionality or by browsing the different sections and categories to find the specific information you need. +
+ +
+
+ Let's explore the Pyventus API Reference! +
+kY?o@ERB|U
zw%-bN_`<@&a(*eXXM97`cJlsrtL!-|{5YX59 j2*8hgb4$ZawB)P8rX8Mp!--N$>YZAUBHAX0X0
zGA3?;!xc|e5PDUc#5x8}()1M_61h{CT1K9HBme1zv%jNv6veL3k~BIAJ7gDusZ?@l
zx-`gz{!nDWR(oSRbxkY@ySNFV92NPtn=IKi4@PNscA4TKq&eOa)$7(HLUX)FYxK%@
zJob3SKj9zRhIN@!wZO Y|73bOvf7)}@ti?IHm|?elhlSZ
z4@BKXTmTN<-H+uTSf0H2aw&Lqf9bG}uK!H);5}mRQ#E4;;I)l1o?_k*q1tkY$`5Pf
zaI>M2qVtwRC#k>(tmXE$(N2Uo%3se*tJ>@tXcz7Bw6%{)Y?V3jw@(5H_W6~GwGAl4
zxhOF1DJ4>`J+B5hX-oG@^=EFZv4MoL{Atd)y0s_(3M&Wvyp`os`vU!fN*;@PEbD1K
zlbNy2prv_xM=yGvJB~;O(pFEr7Z#yN8Ncf8weUu$M0Mk>Q3-v#U2cx3&xr5M$0Ft+
zJuj4#G0O-S+-tY{IiT{72&swu4!Nbw2NJgw8Gm8Qzm!-oc-hVuRduLz3jOTqqY+ap
z8h)bavm$q%H-#0cvP4nQC6@DT$oEaSa%Lb>u4xR6rJeg>3wRQMi0>(sKWkE0lAc>>
zG-e9HMmDuimA5fkHV=JK`{&98qIq#3W%77c#EhLSo5T!c7VI~Vz$AU@4`t-Wdpb*{
zPSNk9t=ON$l3YJG1r)GpdyG--8x<7FuDfb&xRV%+Pe-Xva!MT*yT?uy1rJqWk9LcX
zi)!?b5II%LgHLPaK6r>Y+vByyw=QfE}5y{==f+CFpdcXQ+U
z{X=Ia!hU=wVIjkk*G$RO`@^Zkcf4nbrFuPar=bP)EwY_}d%ckxsgw9ig
WrExP~Hezb$oltJTud3!0^ypbUTbh
zV&@hKs_);x=$j3W=s-5!j>_s@h&x$%vbjM#AIHwCVLQ4Z@CEkWV4>l-w&R9MNN%;U
zI$Pz2G2$uD=Vp3GXC`