Skip to main content

PyVents

GitHub GitHub release (latest by date) PyPI - Downloads Code Style Coverage

PyVents is a powerful Python library for events.

Features

Installation

Using pip:

pip install pyvents

Using Poetry:

poetry add pyvents

Getting-Started

See examples for more.

Simple

from pyvents import Event

event = Event("myevent")


def subscriber():
    print("Called subscriber")


def main():
    event.subscribe(subscriber)
    event.publish()
    # Called subscriber


if __name__ == '__main__':
    main()

Advanced

import threading
import asyncio

from pyvents import (
    AsyncEvent,
    Event,
    EventChannel,
    ThreadedEvent,
)


class MyEventChannel(EventChannel):
    event = Event()
    async_event = AsyncEvent()
    threaded_event = ThreadedEvent()


@MyEventChannel.event.subscribe
def subscriber():
    print("Called subscriber")


@MyEventChannel.async_event.subscribe
async def async_subscriber():
    print("Called async_subscriber")


@MyEventChannel.threaded_event.subscribe
def threaded_subscriber():
    print("Called threaded_subscriber")
    print(f"Current thread: {threading.current_thread()}")


async def main():
    MyEventChannel.event.publish()
    # Called subscriber

    await MyEventChannel.async_event.publish_async()
    # Called async_subscriber

    MyEventChannel.threaded_event.publish_threaded()
    # Called threaded_subscriber
    # Current thread: <Thread(Thread-1 (threaded_subscriber), started xxxx)>


if __name__ == "__main__":
    asyncio.run(main())

Status

0.0.1 - RELEASED

License

PyVents is released under the MIT License. See the bundled LICENSE file for details.

Release files for pyvents 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyvents 0.0.1
File Size Uploaded
pyvents-0.0.1.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyvents 0.0.1
File Interpreter ABI Platform
pyvents-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.2 kB

Release files / pyvents-0.0.1.tar.gz

Download URL pyvents-0.0.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5cc66b3d5dfa5b18e0701048c5708edbfc0753cd56debe63e69df6f31685865a
BLAKE2b-256 checksum
How to use checksums
b67612e1658214c3be19ffe3129a33fbd543c1bea1092e393d60fa7e032befa3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.1 Windows/10

Release files / pyvents-0.0.1-py3-none-any.whl

Download URL pyvents-0.0.1-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26972bfce7a4967342e1ba09abcd6f739d0200e29fe15e2291ec58762ed02afc
BLAKE2b-256 checksum
How to use checksums
8b7726571720eea2138de9e412ccd6a4948e6f002dc8dc8aa877c82156e49967
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.2 CPython/3.12.1 Windows/10

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page