Skip to main content

Python binding for Linux AIO

Project description

[english] | [한국어 (korean)]

linux_aio_bind: Python binding for Linux Kernel AIO

A low-level python binding module that matches the Linux kernel AIO system call.

If you are not using the ctypes module to develop high-level python modules directly, but you want to use AIO functionality in python, see High-level python wrapper.

What is Linux Kernel AIO?

Linux IO Models table

In summary, it allows non-blocking and asynchronous use of blocking IO operations such as read(2) and write(2).

Related documents

It is different from POSIX AIO

The POSIX AIO APIs have the aio_ prefix, but the Linux Kernel AIO has the io_ prefix.

There is already a POSIX AIO API for asynchronous I/O, but Linux implements it in glibc, a user-space library, which is supposed to use multi-threading internally. So, as you can see from the experiment, it's much worse than using the blocking IO API.

Implementation & Structure

Example

Examples can be found in the code in the test directory.

Notes & Limits

  • Obviously available only on Linux
  • Because it is a wrapper, it brings the constraints of Linux.
    • It can not be used for files used as a kernel interface. (e.g. cgroup)
    • Sometimes it works as Blocking.
      • There are some things that have been solved through development after posting.
    • Some features are being added because they are still under development.
    • There are also some features that are not supported when the Linux version is low
      • You need to check Linux man pages (4.16) and its related API documentation
      • Poll is 4.19 or higher, fsync and fdsync require 4.18 or higher kernel

Download files

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

Source Distribution

linux_aio_bind-1.0.0.tar.gz (10.1 kB view details)

Uploaded Source

Built Distributions

linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl (16.3 kB view details)

Uploaded CPython 3.7m

linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl (16.2 kB view details)

Uploaded CPython 3.7m

linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl (16.3 kB view details)

Uploaded CPython 3.6m

linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl (16.2 kB view details)

Uploaded CPython 3.6m

linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl (16.3 kB view details)

Uploaded CPython 3.5m

linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl (16.2 kB view details)

Uploaded CPython 3.5m

linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl (16.3 kB view details)

Uploaded CPython 3.4m

linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl (16.2 kB view details)

Uploaded CPython 3.4m

linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl (18.9 kB view details)

Uploaded CPython 2.7m

linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl (18.7 kB view details)

Uploaded CPython 2.7m

File details

Details for the file linux_aio_bind-1.0.0.tar.gz.

File metadata

  • Download URL: linux_aio_bind-1.0.0.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e9a3d9453493af58debf6e5d578316ea171052651c77b95b99ce6c96e7c6624c
MD5 49137e63fe6aa2a19beaeeea4b369ba9
BLAKE2b-256 0e6cbfb5a132f97c5eb73216806639181a53949b7352f8ecb60ff5aec99c83e0

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c4d74d09eb5075b95dcdb0ff4b77b99ba164b2c908b7677b08003690e984cbbc
MD5 53133cbcd29aada0c7923d41945f1427
BLAKE2b-256 eede28bbd1aa1d50e5cd4ed250556ab39f904a34c9740fadcd5f862bea310e8c

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 97d7875bc11b41778623a6f7cc6c54f6751b6a7094845b0ff19f4ea0366e8f68
MD5 4da4b334af21f4d60f1ff90a4123ffb6
BLAKE2b-256 b19a85f30dd486542f11ffe9c16f8d21434c04de5d8a0a2cb3e7139d0581cc3b

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 21075c295dacb4d8a830e45c592050fb15faa598f0c9c54ef863129f802a66a2
MD5 ca024233f8e42af172d07ada2ef64036
BLAKE2b-256 1b8cbe149fe6503720497a43aafbdb60b1b52af5aeb885c590323828d5c4f282

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 666aa7d52fc7c73c5e24fc14fae56a9134861c7333fe6d7865c742be9ec43453
MD5 df6d5a2acb5130fcf35e09e87751cee5
BLAKE2b-256 8a1031f1e80b51e168eae82c5b4229ee6909443a01490a7eb6f0d71af091862b

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bfcb5891f1d344da1c84e271a7994d8317bb315e56bb7f33318df479d3aedabe
MD5 eb28eabe9db8ec81f910be9e5ecc791f
BLAKE2b-256 ba39db6e9f6395ddfa71bd10d63cff3671c5cb74b19ce72abcb09a6952869a45

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b9abd070ca2faa96e05e5412ccd5df1488a3fafab67b883ad315a3e3c8cc3a7e
MD5 a1b92371776325fc61a82e3eef272773
BLAKE2b-256 e90622e010f820dc90a8323743485a364f0ecd4053c78e35ba5ce4cc51f1de0b

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 16.3 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bfeb269314ac736dc35d064cad635d292e79285c71b8dcefb1dce50a83cb6056
MD5 427000365c782b9ecc51e25ed9f92d9b
BLAKE2b-256 3b024d3d2f8cfaab73239c9224384f40924c2f2d0e126e9f5d5096fee711df74

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl
  • Upload date:
  • Size: 16.2 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e76dbf6c3988f418b277cb94906e3c74a2f13cee187c2f85050f9a9d2ff7b7cc
MD5 cd5402e609f4f2ae5e3d45318ca6414e
BLAKE2b-256 adf0533bb803f629c0e4aaf4689725b1b8f2524ab17490570665f061b8c44e12

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 18.9 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 895763eb854bb07815ab3d28e01a252421de36dbda0931f172d1707d0f0eaf0b
MD5 6bdeeeab31e581f9af0f2066a864d6b6
BLAKE2b-256 359388ebd0e3d171ab30a9da592ec8289d806656245b0a5962e2196f71feef48

See more details on using hashes here.

File details

Details for the file linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15

File hashes

Hashes for linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 417a570df02cad9c0b8301aaf60123b244b50096eec2640290c8853c75f7218d
MD5 1af14f042100bfcf2e2acf599a54259a
BLAKE2b-256 8c462345746388aed8c805324bb2d3b5527e70a0f129b90ccc870d139d29f7ab

See more details on using hashes here.

Supported by

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