An asyncio event loop implemented in Rust
Project Links
Meta
Author: Giovanni Barillari
Requires Python: >=3.9
Classifiers
Development Status
- 3 - Alpha
Intended Audience
- Developers
License
- OSI Approved :: BSD License
Operating System
- MacOS
- POSIX :: Linux
Programming Language
- Python :: Free Threading :: 2 - Beta
- Python :: 3
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
- Python :: 3.13
- Python :: Implementation :: CPython
- Python :: Implementation :: PyPy
- Python
- Rust
RLoop
RLoop is an AsyncIO selector event loop implemented in Rust on top of the mio crate.
Warning: RLoop is currently a work in progress and definitely not suited for production usage.
Note: RLoop is available on Unix systems only.
Installation
pip install rloop
Usage
import asyncio
import rloop
asyncio.set_event_loop_policy(rloop.EventLoopPolicy())
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
Differences from stdlib
At current time, when compared with the stdlib's event loop, RLoop doesn't support the following features:
- Unix Domain Sockets
- SSL
- debugging
RLoop also doesn't implement the following methods:
loop.sendfile
loop.connect_accepted_socket
loop.sock_recvfrom
loop.sock_recvfrom_into
loop.sock_sendto
loop.sock_sendfile
call_later
with negative delays
While the stdlib's event loop will use the actual delay of callbacks when call_later
is used with negative numbers, RLoop will treat those as call_soon
, and thus the effective order will follow the invocation order, not the delay.
License
RLoop is released under the BSD License.
Sep 12, 2025
0.2.0
Aug 20, 2025
0.1.6
Aug 10, 2025
0.1.5
Jul 09, 2025
0.1.4
May 31, 2025
0.1.3
May 26, 2025
0.1.2
Apr 17, 2025
0.1.1
Feb 23, 2025
0.1.0
Jan 30, 2025
0.1.0a5
Jan 23, 2025
0.1.0a4
Dec 21, 2024
0.1.0a3
Nov 22, 2024
0.1.0a2
Nov 17, 2024
0.1.0a1
Wheel compatibility matrix
Files in release
No dependencies