Skip to main content

Coverage Status Test eventipy GitHub issues GitHub pull requests GitHub closed pull requests GitHub tag (latest by date) PyPI - Python Version PyPI

Eventipy

eventipy is an in-memory event library for python 3.6 and greater.

Getting Started

To install:

pip install eventipy

For full documentation please visit: https://eventipy.readthedocs.io/en/stable/

Usage

Publishing events:

import asyncio
from eventipy import events, Event

event = Event(topic="my-topic")
asyncio.run(events.publish(event))

Subscribing to topics:

from eventipy import events, Event

@events.subscribe("my-topic")
def event_handler(event: Event):
    # Do something with event
    print(event.id)

now every time an event with topic my-topic is published, event_handler will be called.

Define your own events like this:

class MyEvent(Event):
     topic = "event-topic"
     foo: int
     bar: int

eventipy uses pydantic, so there is automatic type checking!

Tests

Use the package manager pip to install eventipy

pytest tests/unit

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

To bump the version we use bumpversion to handle versions. Actions:

Bug fixes:

$ bumpversion patch # from v1.0.0 -> v1.0.1

New features:

$ bumpversion minor # from v1.0.0 -> v1.1.0

Breaking changes:

$ bumpversion major # from v1.0.0 -> v2.0.0

These commands will create a commit, if you want to avoid this please add the --no-commit flag.

License

We use the MIT license, see LICENSE.md for details

Release files for eventipy 2.1.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 eventipy 2.1.1
File Size Uploaded
eventipy-2.1.1.tar.gz 4.7 kB Details

Built distribution (wheel)

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

Total release size: 9.8 kB

Release files / eventipy-2.1.1.tar.gz

Download URL eventipy-2.1.1.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
e7dc3848d24309d7a349640934c2e1640942396a1aaa06260035ff71b19b6f7d
BLAKE2b-256 checksum
How to use checksums
da8ca24fbaf683fc36bdea2582c29be8c77dcb99f30ad270dacbefe8fb5f6b4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.8.11 Linux/5.8.0-1036-azure

Release files / eventipy-2.1.1-py3-none-any.whl

Download URL eventipy-2.1.1-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6a72e2537d31bad9204627bc4cc0c2c78793da75c0c0782688b46490d289dea6
BLAKE2b-256 checksum
How to use checksums
4474062891baa80b538e6b265e1266986da742cd97d81b6b79ce4104651186df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.7 CPython/3.8.11 Linux/5.8.0-1036-azure

Release history Release notifications | RSS feed

This release

2.1.1 This release

2 release files

2.1.0

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

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