A asyncio loop based on liburing
this project implements a liburing based asyncio event loop for faster io. it is fully compatible with asyncio built-in loop. here is a simple example:
import asyncio
from uring_io import UringIOEventLoop
loop = UringIOEventLoop()
async def main():
await loop.sleep(2)
loop.run_untile_complete(main())
this project is under develope and is not fully stable for production. by the way it's underlying infrastructure seems to become stable.
keep in mind that this implementation is not official and whenever uring-io become fully mature, python community may decide to implement it themselve.
Include a link to your GitHub repository (you have no idea how people will find your code), and also a summary of how to clone.
This project is hosted on GitHub. You can clone this project directly using this command:
git clone https://github.com/rezamahdi/PyUringIO
this project is a python package and like a (traditional) normal package, needs setuptools to build. but since it have some C underling codes, it needs a C99 compiler, cmake and cmaketools python package. regradless of building, you must have liburing installed also.
After building, you can use setup.py script to install package. It is available in PyPI too so you can use pip to install it.
since uring-io is a kernel level technology, it doesn't change frequently. so changes to this project is due tiny improvements.
whenever there is a new critical change, I will release a new package.
This project uses Semantic Versioning. For a list of available versions, see the repository tag list.
We encourage public contributions! Please review CONTRIBUTING.md for details on our code of conduct and development process.
Copyright (c) 2021 Reza Mahdi
This project is licensed under the MIT License - see LICENSE file for details.
- Reza Mahdi - Initial work
See also the list of contributors who participated in this project.