skillfed

rel

Registered Event Listener. Provides standard (pyevent) interface and functionality without external dependencies

rel v0.4.9.27 139.0K downloads/30d#11,312 on PyPI
Permissive license MIT License Active released

What it is and what it does

rel provides a unified interface for asynchronous event handling across different operating systems by abstracting over platform-specific notification mechanisms. It attempts to use the most efficient method available on your system—epoll on Linux, kqueue on BSD/macOS, poll or select as fallbacks—without requiring external C dependencies. The library is designed primarily for network applications that need to handle multiple concurrent connections or events.

You initialize rel with your preferred methods in order of preference, and it automatically selects the first available one. If you don't call initialize(), it tries the default sequence. This makes it useful for developers building network servers or event-driven applications who want portability without the overhead of larger frameworks.

Use it for:

  • Building network servers that handle many concurrent connections across Linux, BSD, and macOS
  • Creating event-driven applications that need to react to I/O readiness without external dependencies
  • Porting existing pyevent-based code to a dependency-free alternative
  • Implementing custom event loops for specialized networking tasks

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

rel is a cross-platform asynchronous event dispatcher that selects from available system notification methods (epoll, kqueue, poll, select, pyevent) to handle network events efficiently.

Yes, if you need a lightweight, dependency-free event dispatcher for network applications and are comfortable with its callback-based interface. The permissive MIT license, zero runtime dependencies, and active maintenance make it low-risk. However, verify first whether its API and performance characteristics match your use case—asyncio or other modern frameworks may be more suitable for new projects.

Install

rel on PyPI

pip

pip install rel

uv

uv add rel

poetry

poetry add rel

Installing rel

Before you install

Low install friction with no runtime dependencies. Active maintenance status with a recent release.

License in practice

MIT License permits commercial and private use with minimal restrictions; suitable for most projects.

Quickstart

pip install rel

import rel
rel.initialize(['epoll', 'kqueue', 'poll', 'select'])
# Use rel's event handling in your network application

Verify before relying

  • Whether the package supports modern async/await syntax or is limited to callback-based patterns
  • Performance characteristics compared to asyncio or other event loop implementations
  • Current user base and adoption rate beyond download statistics

Package facts

License MIT License (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 40 days since the last release
First released
Downloads 139,041/month — #11,312 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: rel-0.4.9.27-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonTopic :: Software Development :: Libraries :: Python Modules

Tags

async event dispatcherevent notification systemnetwork event handlingcross-platform event loopepoll kqueue poll selectasynchronous event listenerevent-driven networking
event-loopnetworkingasync

More Python Modules packages