An universal wrapper (and useful tool) to make event / commands in python
Project description
easy-events
A library that help you to manage events
Getting started
Installation
pip install easy-events
GitHub : Github
Usages
text
Code example
from easy_events import EasyEvents
# create an event or use it in a class
client = EasyEvents()
# create another event (can be sync or async)
# you can put as much parameters as you want
@client.add_event("test1")
def test(data, arg1, arg2, *, arg3):
# data is the default parameter, it contain some basic informations that you can format as you want
print(data, arg1, arg2, arg3)
# trigger the event
# dict way
client.trigger({"event": "test1", "parameters": {"arg1": "arg1", "arg2": "arg2", "arg3": ["arg3", "arg4"]}})
# dict way v2
client.trigger({"event": "test", "parameters": ["arg1", "arg2", "arg3", "arg4"]})
# dict way v3
client.trigger({"event": "test1", "parameters": "arg1 arg2 arg3 arg4"})
# list way
client.trigger(["test", "arg1", "arg2", "arg3", "arg4"])
# str way
client.trigger("test arg1 arg2 arg3 arg4")
# the result will be (for all cases):
# arg1 = arg1
# arg2 = arg2
# arg3 = [arg3, arg4]
This library also support type assignation
from easy_events import EasyEvents
# first_parameter_object decide if you want a Parameters object or not when called
# the Parameters object can be useful if you need to add some data in a class when called
# if work kinda like the ctx from discord.py
client = EasyEvents(first_parameter_object=False)
@client.add_event()
def sum(X: int, Y: int):
return X+Y
client.trigger("sum 5 10")
client.trigger(["sum", "5", 10])
# the result will be 15
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
easy-events-2.11.4.tar.gz
(8.8 kB
view hashes)
Built Distribution
Close
Hashes for easy_events-2.11.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8261c72759fefec6ffd0e77a8529e60e03b283e4047bded7591dfab420065cb8 |
|
MD5 | 9520050544c98fcafcb94d8ab9c1e13a |
|
BLAKE2b-256 | 88db5c4a027702f65429e04b5f6a2def1048c1fd52f111cc79bf1882d689af8a |