ORIONIS API REFERENCE

THE ORIONIS API

Build with clarity.

Explore the building blocks of an async-first Python framework. Every module, class, and method — connected, searchable, and ready to build with.

class documentation

class EventsMixin: (source)

Known subclasses: orionis.orm.Model

View In Hierarchy

Lifecycle event behavior shared by every model.

Listeners are registered per model class and inherited by its subclasses. Listeners of the "before" events (saving, creating, updating, deleting, restoring) abort the operation by returning False, mirroring Eloquent.

Class Method flushEvents Remove registered listeners from the model.
Class Method observe Register every lifecycle method exposed by an observer.
Class Method registerEvent Register a listener for a model lifecycle event.
Async Method fireEvent Dispatch a lifecycle event to its listeners.
Class Variable __slots__ Undocumented
def flushEvents(cls, event: str | None = None): (source)

Remove registered listeners from the model.

Parameters
event:str or None, optionalEvent to clear, or None to clear every event.
Returns
NoneThis method does not return a value.
def observe(cls, observer: Any) -> type: (source)

Register every lifecycle method exposed by an observer.

Parameters
observer:AnyObject or class exposing methods named after the events it listens to.
Returns
typeThe model class, enabling fluent chaining.
def registerEvent(cls, event: str, listener: Callable[..., Any]) -> type: (source)

Register a listener for a model lifecycle event.

Parameters
event:strEvent name; one of the supported lifecycle events.
listener:CallableCallable receiving the model instance. It may be a coroutine function and, for "before" events, returning False aborts the operation.
Returns
typeThe model class, enabling fluent chaining.
Raises
OrmExceptionIf the event name is not supported.
async def fireEvent(self, event: str) -> bool: (source)

Dispatch a lifecycle event to its listeners.

Parameters
event:strEvent name being dispatched.
Returns
boolFalse when a listener of a haltable event vetoed the operation, True otherwise.
__slots__: tuple = (source)
overridden in orionis.orm.Model

Undocumented