Skip to main content

Asynchronous I/O ring

Project description

aioring (Io Rings for asyncio)

aioring is a library that handles async fileIO. Currently we only support io_uring on linux, other operating systems fall back to a custom ring using python threads which is only intended for development purposes and should not be used in production.

from aioring import aio

async with await aio.open("file.name", "r") as f:
  content = await f.read()

install

aioring can be installed with pip

pip install aioring

aos

in aos we expose async versions of functions defined in the 'os' module. currently we support:

  • aos.pread(fd: int, count: int, offset: int)
  • aos.pwrite(fd: int, buffer: bytes, offset: int)
  • aos.close(fd: int)
  • aos.open(path: str, flags: int, mode: int=0o777, *, dir_fd=None)
  • aos.fstat(fd: int)
  • aos.stat(path: str) these functions should work the same way as their counterpart in the os module but need to be called with await.

aio

in aio we expose a async implementation of the cpython pyio module (https://github.com/python/cpython/blob/3.10/Lib/_pyio.py) usage is like normal io but with async/await

from aioring import aio
# read file
async with await aio.open("file.txt", "r") as f:
    data = await f.read()
    
# write file
async with await aio.open("file.txt", "w") as f:
    data = await f.write("test")

Plans

  • fileIO
  • Windows IoRing
  • socketIO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aioring-0.1.3.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aioring-0.1.3-cp313-cp313-win_amd64.whl (515.9 kB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file aioring-0.1.3.tar.gz.

File metadata

  • Download URL: aioring-0.1.3.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for aioring-0.1.3.tar.gz
Algorithm Hash digest
SHA256 37cc44d3a6ca1b5e3346ab9d61f12f3aff15a958138521fedd2161a5883279f9
MD5 2f051a20f3a09edb1c41c182148bb747
BLAKE2b-256 c355fd9fa26281725b86556b75de323a7aac4ac8e28b0355a3864b88651c193d

See more details on using hashes here.

File details

Details for the file aioring-0.1.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aioring-0.1.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 515.9 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for aioring-0.1.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4059a7021c6ee2edd6cbede77d1bf39ec948bade62119eabf9370dc857e14131
MD5 8f99e248f7353cc0ffbc03d0f937b89e
BLAKE2b-256 38d05762dae006a50faf992044ba384fa919d3a26ba42d79650a621fc958246d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page