{ "info": { "author": "Byeonghoon Yoo", "author_email": "bh322yoo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: C", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: Implementation :: Stackless", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System", "Topic :: System :: Filesystems", "Topic :: System :: Operating System", "Topic :: System :: Operating System Kernels", "Topic :: System :: Operating System Kernels :: Linux" ], "description": "**\\[english\\]** | [\\[\ud55c\uad6d\uc5b4 (korean)\\]](https://github.com/isac322/linux_aio_bind/blob/master/README.kor.md)\n\n# linux_aio_bind: Python binding for [Linux Kernel AIO](http://lse.sourceforge.net/io/aio.html)\n\n[![](https://img.shields.io/travis/com/isac322/linux_aio_bind.svg?style=flat-square)](https://travis-ci.com/isac322/linux_aio_bind)\n[![](https://img.shields.io/pypi/v/linux_aio_bind.svg?style=flat-square)](https://pypi.org/project/linux-aio/)\n[![](https://img.shields.io/codecov/c/github/isac322/linux_aio_bind.svg?style=flat-square)](https://codecov.io/gh/isac322/linux_aio_bind)\n[![](https://img.shields.io/pypi/implementation/linux_aio_bind.svg?style=flat-square)](https://pypi.org/project/linux-aio/)\n[![](https://img.shields.io/pypi/pyversions/linux_aio_bind.svg?style=flat-square)](https://pypi.org/project/linux-aio/)\n[![](https://img.shields.io/pypi/wheel/linux_aio_bind.svg?style=flat-square)](https://pypi.org/project/linux-aio/)\n[![](https://img.shields.io/pypi/l/linux_aio_bind.svg?style=flat-square)](https://pypi.org/project/linux-aio/)\n\nA low-level python binding module that matches the Linux kernel AIO system call.\n\nIf you are not using the [ctypes module](https://docs.python.org/ko/3/library/ctypes.html) to develop high-level python modules directly, but **you want to use AIO functionality in python**, see [High-level python wrapper](https://github.com/isac322/linux_aio).\n\n## What is Linux Kernel AIO?\n\n[Linux IO Models table](https://oxnz.github.io/2016/10/13/linux-aio/#io-models)\n\nIn summary, it allows non-blocking and asynchronous use of blocking IO operations such as [read(2)](http://man7.org/linux/man-pages/man2/read.2.html) and [write(2)](http://man7.org/linux/man-pages/man2/write.2.html).\n\n\n### Related documents\n\n- [Linux Asynchronous I/O](https://oxnz.github.io/2016/10/13/linux-aio/)\n- [Linux Kernel AIO Design Notes](http://lse.sourceforge.net/io/aionotes.txt)\n- [How to use the Linux AIO feature](https://github.com/littledan/linux-aio) (in C)\n\n\n### **It is different from [POSIX AIO](http://man7.org/linux/man-pages/man7/aio.7.html)**\n\nThe POSIX AIO APIs have the `aio_` prefix, but the Linux Kernel AIO has the `io_` prefix.\n\n\nThere 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.\nSo, as you can see from [the experiment](https://github.com/isac322/linux_aio#evaluation), it's much worse than using the blocking IO API.\n\n\n## Implementation & Structure\n\n- [ctypes module](https://docs.python.org/3/library/ctypes.html) is used.\n- It is defined to correspond `1:1` with the C header of Linux AIO.\n\t- Implemented 100% of the functionality when using C.\n\t- All the functions shown in the man page based on [Linux man pages (4.16)](http://man7.org/linux/man-pages/man2/io_submit.2.html), and all the functions added in [4.20.3 source code](https://elixir.bootlin.com/linux/v4.20.3/source/include/uapi/linux/aio_abi.h#L71), as far as I can find them. \n- If you know how to use the [ctypes module](https://docs.python.org/3/library/ctypes.html) to operate on pointers, you can also build other types of wrappers based on this package.\n\t- e.g. [High-level python wrapper](https://github.com/isac322/linux_aio)\n- It uses `syscall` for invoking ABI and [cffi](https://pypi.org/project/cffi/) for gathering [different syscall number by architecture](https://fedora.juszkiewicz.com.pl/syscalls.html) on module installation.\n\t- [refer the code](linux_aio_bind/syscall.py)\n- [python stub](https://github.com/python/mypy/wiki/Creating-Stubs-For-Python-Modules) (`pyi` files - for type hint) are included.\n- All error handling in the documentation (based on man-pages 4.16)\n\n\n## Example\n\nExamples can be found in the code in the [test directory](test).\n\n\n## Notes & Limits\n\n- Obviously available only on Linux\n- Because it is a wrapper, it brings the constraints of Linux.\n\t- It can not be used for files used as a kernel interface. (e.g. `cgroup`)\n\t- [Sometimes it works as Blocking.](https://stackoverflow.com/questions/34572559/asynchronous-io-io-submit-latency-in-ubuntu-linux)\n\t\t- There are some things that have been solved through development after posting.\n\t- Some features are being added because they are still under development.\n\t- There are also some features that are not supported when the Linux version is low\n\t\t- You need to check [Linux man pages (4.16)](http://man7.org/linux/man-pages/man2/io_submit.2.html) and its related API documentation\n\t\t- Poll is 4.19 or higher, fsync and fdsync require 4.18 or higher kernel\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/isac322/linux_aio_bind", "keywords": "Linux AIO ABI API binding file socket fd", "license": "LGPLv3+", "maintainer": "", "maintainer_email": "", "name": "linux-aio-bind", "package_url": "https://pypi.org/project/linux-aio-bind/", "platform": "Linux", "project_url": "https://pypi.org/project/linux-aio-bind/", "project_urls": { "Homepage": "https://github.com/isac322/linux_aio_bind" }, "release_url": "https://pypi.org/project/linux-aio-bind/1.0.0/", "requires_dist": [ "cffi (>=1.0.0)", "enum34; python_version <= \"3.3\"", "typing; extra == 'stub'" ], "requires_python": ">=2.6", "summary": "Python binding for Linux AIO", "version": "1.0.0" }, "last_serial": 4726742, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "1af14f042100bfcf2e2acf599a54259a", "sha256": "417a570df02cad9c0b8301aaf60123b244b50096eec2640290c8853c75f7218d" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "1af14f042100bfcf2e2acf599a54259a", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.6", "size": 18736, "upload_time": "2019-01-22T16:06:00", "url": "https://files.pythonhosted.org/packages/8c/46/2345746388aed8c805324bb2d3b5527e70a0f129b90ccc870d139d29f7ab/linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "6bdeeeab31e581f9af0f2066a864d6b6", "sha256": "895763eb854bb07815ab3d28e01a252421de36dbda0931f172d1707d0f0eaf0b" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "6bdeeeab31e581f9af0f2066a864d6b6", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.6", "size": 18881, "upload_time": "2019-01-22T16:05:40", "url": "https://files.pythonhosted.org/packages/35/93/88ebd0e3d171ab30a9da592ec8289d806656245b0a5962e2196f71feef48/linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd5402e609f4f2ae5e3d45318ca6414e", "sha256": "e76dbf6c3988f418b277cb94906e3c74a2f13cee187c2f85050f9a9d2ff7b7cc" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "cd5402e609f4f2ae5e3d45318ca6414e", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": ">=2.6", "size": 16210, "upload_time": "2019-01-22T16:06:01", "url": "https://files.pythonhosted.org/packages/ad/f0/533bb803f629c0e4aaf4689725b1b8f2524ab17490570665f061b8c44e12/linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "427000365c782b9ecc51e25ed9f92d9b", "sha256": "bfeb269314ac736dc35d064cad635d292e79285c71b8dcefb1dce50a83cb6056" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "427000365c782b9ecc51e25ed9f92d9b", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": ">=2.6", "size": 16344, "upload_time": "2019-01-22T16:05:42", "url": "https://files.pythonhosted.org/packages/3b/02/4d3d2f8cfaab73239c9224384f40924c2f2d0e126e9f5d5096fee711df74/linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a1b92371776325fc61a82e3eef272773", "sha256": "b9abd070ca2faa96e05e5412ccd5df1488a3fafab67b883ad315a3e3c8cc3a7e" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "a1b92371776325fc61a82e3eef272773", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.6", "size": 16208, "upload_time": "2019-01-22T16:06:03", "url": "https://files.pythonhosted.org/packages/e9/06/22e010f820dc90a8323743485a364f0ecd4053c78e35ba5ce4cc51f1de0b/linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "eb28eabe9db8ec81f910be9e5ecc791f", "sha256": "bfcb5891f1d344da1c84e271a7994d8317bb315e56bb7f33318df479d3aedabe" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "eb28eabe9db8ec81f910be9e5ecc791f", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.6", "size": 16345, "upload_time": "2019-01-22T16:05:43", "url": "https://files.pythonhosted.org/packages/ba/39/db6e9f6395ddfa71bd10d63cff3671c5cb74b19ce72abcb09a6952869a45/linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "df6d5a2acb5130fcf35e09e87751cee5", "sha256": "666aa7d52fc7c73c5e24fc14fae56a9134861c7333fe6d7865c742be9ec43453" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "df6d5a2acb5130fcf35e09e87751cee5", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.6", "size": 16205, "upload_time": "2019-01-22T16:06:04", "url": "https://files.pythonhosted.org/packages/8a/10/31f1e80b51e168eae82c5b4229ee6909443a01490a7eb6f0d71af091862b/linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "ca024233f8e42af172d07ada2ef64036", "sha256": "21075c295dacb4d8a830e45c592050fb15faa598f0c9c54ef863129f802a66a2" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "ca024233f8e42af172d07ada2ef64036", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.6", "size": 16346, "upload_time": "2019-01-22T16:05:44", "url": "https://files.pythonhosted.org/packages/1b/8c/be149fe6503720497a43aafbdb60b1b52af5aeb885c590323828d5c4f282/linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4da4b334af21f4d60f1ff90a4123ffb6", "sha256": "97d7875bc11b41778623a6f7cc6c54f6751b6a7094845b0ff19f4ea0366e8f68" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "4da4b334af21f4d60f1ff90a4123ffb6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.6", "size": 16208, "upload_time": "2019-01-22T16:06:05", "url": "https://files.pythonhosted.org/packages/b1/9a/85f30dd486542f11ffe9c16f8d21434c04de5d8a0a2cb3e7139d0581cc3b/linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "53133cbcd29aada0c7923d41945f1427", "sha256": "c4d74d09eb5075b95dcdb0ff4b77b99ba164b2c908b7677b08003690e984cbbc" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "53133cbcd29aada0c7923d41945f1427", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.6", "size": 16344, "upload_time": "2019-01-22T16:05:45", "url": "https://files.pythonhosted.org/packages/ee/de/28bbd1aa1d50e5cd4ed250556ab39f904a34c9740fadcd5f862bea310e8c/linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "49137e63fe6aa2a19beaeeea4b369ba9", "sha256": "e9a3d9453493af58debf6e5d578316ea171052651c77b95b99ce6c96e7c6624c" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0.tar.gz", "has_sig": false, "md5_digest": "49137e63fe6aa2a19beaeeea4b369ba9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6", "size": 10055, "upload_time": "2019-01-22T16:05:47", "url": "https://files.pythonhosted.org/packages/0e/6c/bfb5a132f97c5eb73216806639181a53949b7352f8ecb60ff5aec99c83e0/linux_aio_bind-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1af14f042100bfcf2e2acf599a54259a", "sha256": "417a570df02cad9c0b8301aaf60123b244b50096eec2640290c8853c75f7218d" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "1af14f042100bfcf2e2acf599a54259a", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.6", "size": 18736, "upload_time": "2019-01-22T16:06:00", "url": "https://files.pythonhosted.org/packages/8c/46/2345746388aed8c805324bb2d3b5527e70a0f129b90ccc870d139d29f7ab/linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "6bdeeeab31e581f9af0f2066a864d6b6", "sha256": "895763eb854bb07815ab3d28e01a252421de36dbda0931f172d1707d0f0eaf0b" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "6bdeeeab31e581f9af0f2066a864d6b6", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.6", "size": 18881, "upload_time": "2019-01-22T16:05:40", "url": "https://files.pythonhosted.org/packages/35/93/88ebd0e3d171ab30a9da592ec8289d806656245b0a5962e2196f71feef48/linux_aio_bind-1.0.0-cp27-cp27m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "cd5402e609f4f2ae5e3d45318ca6414e", "sha256": "e76dbf6c3988f418b277cb94906e3c74a2f13cee187c2f85050f9a9d2ff7b7cc" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "cd5402e609f4f2ae5e3d45318ca6414e", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": ">=2.6", "size": 16210, "upload_time": "2019-01-22T16:06:01", "url": "https://files.pythonhosted.org/packages/ad/f0/533bb803f629c0e4aaf4689725b1b8f2524ab17490570665f061b8c44e12/linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "427000365c782b9ecc51e25ed9f92d9b", "sha256": "bfeb269314ac736dc35d064cad635d292e79285c71b8dcefb1dce50a83cb6056" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "427000365c782b9ecc51e25ed9f92d9b", "packagetype": "bdist_wheel", "python_version": "cp34", "requires_python": ">=2.6", "size": 16344, "upload_time": "2019-01-22T16:05:42", "url": "https://files.pythonhosted.org/packages/3b/02/4d3d2f8cfaab73239c9224384f40924c2f2d0e126e9f5d5096fee711df74/linux_aio_bind-1.0.0-cp34-cp34m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "a1b92371776325fc61a82e3eef272773", "sha256": "b9abd070ca2faa96e05e5412ccd5df1488a3fafab67b883ad315a3e3c8cc3a7e" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "a1b92371776325fc61a82e3eef272773", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.6", "size": 16208, "upload_time": "2019-01-22T16:06:03", "url": "https://files.pythonhosted.org/packages/e9/06/22e010f820dc90a8323743485a364f0ecd4053c78e35ba5ce4cc51f1de0b/linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "eb28eabe9db8ec81f910be9e5ecc791f", "sha256": "bfcb5891f1d344da1c84e271a7994d8317bb315e56bb7f33318df479d3aedabe" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "eb28eabe9db8ec81f910be9e5ecc791f", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.6", "size": 16345, "upload_time": "2019-01-22T16:05:43", "url": "https://files.pythonhosted.org/packages/ba/39/db6e9f6395ddfa71bd10d63cff3671c5cb74b19ce72abcb09a6952869a45/linux_aio_bind-1.0.0-cp35-cp35m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "df6d5a2acb5130fcf35e09e87751cee5", "sha256": "666aa7d52fc7c73c5e24fc14fae56a9134861c7333fe6d7865c742be9ec43453" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "df6d5a2acb5130fcf35e09e87751cee5", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.6", "size": 16205, "upload_time": "2019-01-22T16:06:04", "url": "https://files.pythonhosted.org/packages/8a/10/31f1e80b51e168eae82c5b4229ee6909443a01490a7eb6f0d71af091862b/linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "ca024233f8e42af172d07ada2ef64036", "sha256": "21075c295dacb4d8a830e45c592050fb15faa598f0c9c54ef863129f802a66a2" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "ca024233f8e42af172d07ada2ef64036", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.6", "size": 16346, "upload_time": "2019-01-22T16:05:44", "url": "https://files.pythonhosted.org/packages/1b/8c/be149fe6503720497a43aafbdb60b1b52af5aeb885c590323828d5c4f282/linux_aio_bind-1.0.0-cp36-cp36m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "4da4b334af21f4d60f1ff90a4123ffb6", "sha256": "97d7875bc11b41778623a6f7cc6c54f6751b6a7094845b0ff19f4ea0366e8f68" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl", "has_sig": false, "md5_digest": "4da4b334af21f4d60f1ff90a4123ffb6", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.6", "size": 16208, "upload_time": "2019-01-22T16:06:05", "url": "https://files.pythonhosted.org/packages/b1/9a/85f30dd486542f11ffe9c16f8d21434c04de5d8a0a2cb3e7139d0581cc3b/linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_i686.whl" }, { "comment_text": "", "digests": { "md5": "53133cbcd29aada0c7923d41945f1427", "sha256": "c4d74d09eb5075b95dcdb0ff4b77b99ba164b2c908b7677b08003690e984cbbc" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl", "has_sig": false, "md5_digest": "53133cbcd29aada0c7923d41945f1427", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.6", "size": 16344, "upload_time": "2019-01-22T16:05:45", "url": "https://files.pythonhosted.org/packages/ee/de/28bbd1aa1d50e5cd4ed250556ab39f904a34c9740fadcd5f862bea310e8c/linux_aio_bind-1.0.0-cp37-cp37m-manylinux1_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "49137e63fe6aa2a19beaeeea4b369ba9", "sha256": "e9a3d9453493af58debf6e5d578316ea171052651c77b95b99ce6c96e7c6624c" }, "downloads": -1, "filename": "linux_aio_bind-1.0.0.tar.gz", "has_sig": false, "md5_digest": "49137e63fe6aa2a19beaeeea4b369ba9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6", "size": 10055, "upload_time": "2019-01-22T16:05:47", "url": "https://files.pythonhosted.org/packages/0e/6c/bfb5a132f97c5eb73216806639181a53949b7352f8ecb60ff5aec99c83e0/linux_aio_bind-1.0.0.tar.gz" } ] }