{ "info": { "author": "Maksim Afanasevsky", "author_email": "maxtwen1@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# pipe-nonblock [![Build Status](https://travis-ci.org/maxtwen/Non-Blocking-Multiprocessing-Pipe.svg?branch=master)](https://travis-ci.org/maxtwen/Non-Blocking-Multiprocessing-Pipe)\nNon-blocking multiprocessing pipe\n\n## Installing\n\n```bash\npip install pipe_nonblock\n```\n\n## Supported versions\n\n- Python 3.4+\n\n## Usage\n```python3\nfrom pipe_nonblock import Pipe\n\nc1, c2 = Pipe(duplex=True, conn1_nonblock=True, conn2_nonblock=True) # create a new duplex non-blocking pipe\nassert len(list(c2.recv(32))) == 0 # try receive data from a connection, it's empty at the moment \nc1.send('foo') # send python string object\nbuf, = c2.recv(32) # recv return generator with received objects\nassert buf == 'foo'\nc2.send('bar')\nbuf, = c1.recv(32)\nassert buf == 'bar'\n```\n\n## Overview of Pipe function\n\n```python\ndef Pipe(duplex, conn1_nonblock, conn1_nonblock) -> Tuple[connection1, connection2]:\n```\n\n| parameter |type | description |\n|---|---|---|\n| duplex | bool | If duplex is True (the default) then the pipe is bidirectional. If duplex is False then the pipe is unidirectional: conn1 can only be used for receiving messages and conn2 can only be used for sending messages. |\n| conn1_nonblock | bool | If conn1_nonblock is True then the connection1 is non-blocking |\n| conn2_nonblock |bool | If conn2_nonblock is True then the connection2 is non-blocking |\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/maxtwen/pipe-nonblock", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxtwen/pipe-nonblock", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pipe-nonblock", "package_url": "https://pypi.org/project/pipe-nonblock/", "platform": "", "project_url": "https://pypi.org/project/pipe-nonblock/", "project_urls": { "Download": "https://github.com/maxtwen/pipe-nonblock", "Homepage": "https://github.com/maxtwen/pipe-nonblock" }, "release_url": "https://pypi.org/project/pipe-nonblock/0.4/", "requires_dist": null, "requires_python": "", "summary": "Non-blocking multiprocessing pipe", "version": "0.4" }, "last_serial": 4693935, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3189cea3c285f0e19ca824d4c29a86eb", "sha256": "de5600653418781dc68c19f61e39bdc5642906cd98e62fd2143a8901bda17fa3" }, "downloads": -1, "filename": "pipe_nonblock-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3189cea3c285f0e19ca824d4c29a86eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5315, "upload_time": "2019-01-14T00:08:35", "url": "https://files.pythonhosted.org/packages/2c/ae/e555c597ec2205502cab28be8ed280182111aa5ea5eef6c08be95fd77fb4/pipe_nonblock-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52597ebd96524d57ad24c417bad33f9e", "sha256": "8fcd3d9656b6219020b6cd7d95e0acd081471224d27872130d33a4ccd6a972a5" }, "downloads": -1, "filename": "pipe_nonblock-0.1.tar.gz", "has_sig": false, "md5_digest": "52597ebd96524d57ad24c417bad33f9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3876, "upload_time": "2019-01-14T00:08:37", "url": "https://files.pythonhosted.org/packages/7f/e9/cba7fe03e6f8277f3272c6e0cb24f9e7f6d642fecfedb7401325ab533c5d/pipe_nonblock-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "602383c9901b45a293d4498968c44896", "sha256": "faa07377ac0af6cf0d8a96913ab085476c150f41fbe3e6ed6309fb547cbe299f" }, "downloads": -1, "filename": "pipe_nonblock-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "602383c9901b45a293d4498968c44896", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5299, "upload_time": "2019-01-14T00:10:45", "url": "https://files.pythonhosted.org/packages/67/16/ee174ff193a94fffdc22280d217e23f40ab97db15e956acad3cd5c4b6bc0/pipe_nonblock-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a71c2d18c6788601ce083db9a6f7971", "sha256": "0b16eb79e70fa679d91942f5d0de5a8912d1e7aafe72f8f0f2af7c620f599b2a" }, "downloads": -1, "filename": "pipe_nonblock-0.2.tar.gz", "has_sig": false, "md5_digest": "3a71c2d18c6788601ce083db9a6f7971", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3843, "upload_time": "2019-01-14T00:10:48", "url": "https://files.pythonhosted.org/packages/18/4f/7249909af85b193ff41be827ff1bc029df2fbb8d0a4bcddce8cd312d38a5/pipe_nonblock-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "16be8d48e45c4873d98fe977d0d5ddde", "sha256": "c7a9ce0d664fa869986682d76e2a33d043ae2dedbee0033c182658ed56f50f7a" }, "downloads": -1, "filename": "pipe_nonblock-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "16be8d48e45c4873d98fe977d0d5ddde", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5334, "upload_time": "2019-01-14T12:08:16", "url": "https://files.pythonhosted.org/packages/52/ff/dbb88840e2bd792ac700dd74682433f5f72354f948465fc61bfacde4d687/pipe_nonblock-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf2bdefbeb4b1ba1277bc26256065890", "sha256": "75c8185734bcaa5daba3a760859ef093972465b697dd81df72ebd86442982355" }, "downloads": -1, "filename": "pipe_nonblock-0.3.tar.gz", "has_sig": false, "md5_digest": "cf2bdefbeb4b1ba1277bc26256065890", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3869, "upload_time": "2019-01-14T12:08:17", "url": "https://files.pythonhosted.org/packages/79/53/6cb4bfadd84465a1c3a7b958096fb519fdf7b676a6932f013723360a1562/pipe_nonblock-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "e0bc7e51a4a3fb7c29ba95d9d8521f55", "sha256": "2d45d2e8e42efcf29eeede5938b97cdec63f5380df64dbda6d9679858f9114c7" }, "downloads": -1, "filename": "pipe_nonblock-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e0bc7e51a4a3fb7c29ba95d9d8521f55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5331, "upload_time": "2019-01-14T12:12:33", "url": "https://files.pythonhosted.org/packages/62/62/964d7c150eea0da9d035a4dabae04afc8ad87665fb8d7ed9f1fc9930b0e9/pipe_nonblock-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0b944fae70fe608f3ded778814e733e", "sha256": "8df09d80a9baf65c6b55e0680a69426240eb770ff874d7ef5189a5da4db6d982" }, "downloads": -1, "filename": "pipe_nonblock-0.4.tar.gz", "has_sig": false, "md5_digest": "d0b944fae70fe608f3ded778814e733e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3859, "upload_time": "2019-01-14T12:12:35", "url": "https://files.pythonhosted.org/packages/08/9b/83e3c840cef1df41aa8be47c86e85c8cc39fa3aa4765f982e8fc88527fa6/pipe_nonblock-0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e0bc7e51a4a3fb7c29ba95d9d8521f55", "sha256": "2d45d2e8e42efcf29eeede5938b97cdec63f5380df64dbda6d9679858f9114c7" }, "downloads": -1, "filename": "pipe_nonblock-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "e0bc7e51a4a3fb7c29ba95d9d8521f55", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5331, "upload_time": "2019-01-14T12:12:33", "url": "https://files.pythonhosted.org/packages/62/62/964d7c150eea0da9d035a4dabae04afc8ad87665fb8d7ed9f1fc9930b0e9/pipe_nonblock-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0b944fae70fe608f3ded778814e733e", "sha256": "8df09d80a9baf65c6b55e0680a69426240eb770ff874d7ef5189a5da4db6d982" }, "downloads": -1, "filename": "pipe_nonblock-0.4.tar.gz", "has_sig": false, "md5_digest": "d0b944fae70fe608f3ded778814e733e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3859, "upload_time": "2019-01-14T12:12:35", "url": "https://files.pythonhosted.org/packages/08/9b/83e3c840cef1df41aa8be47c86e85c8cc39fa3aa4765f982e8fc88527fa6/pipe_nonblock-0.4.tar.gz" } ] }