{ "info": { "author": "Aayush Uppal", "author_email": "aayuppal@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "[![HitCount](http://hits.dwyl.io/aayushuppal/bhpq.svg)](https://github.com/aayushuppal/bhpq)\n[![GitHub contributors](https://img.shields.io/github/contributors/aayushuppal/bhpq.svg)](https://github.com/aayushuppal/bhpq/graphs/contributors)\n[![Version](https://img.shields.io/pypi/v/bhpq.svg)](https://pypi.python.org/pypi/bhpq)\n[![License](https://img.shields.io/pypi/l/bhpq.svg)](https://pypi.python.org/pypi/bhpq)\n[![Build Status](https://travis-ci.org/aayushuppal/bhpq.svg?branch=master)](https://travis-ci.org/aayushuppal/bhpq)\n[![Downloads](https://img.shields.io/pypi/dm/bhpq.svg)](https://pypi.python.org/pypi/bhpq)\n\n\n# BHPQ - Binary Heap Priority Queue\n\nA binary heap priority queue implementation, thread safe\n\n## Installation\n\nYou can install bhpq from [PyPI](https://pypi.org/project/bhpq):\n\n pip install bhpq\n\nbhpq is supported on Python 3.7\n\n## Usage\n\n from bhpq import BinaryHeapPriorityQueue\n\n # The BinaryHeapPriorityQueue constructor takes two input params:\n\n # - prefer (required param)\n # the preferred object is pushed to the top of the queue\n # the prefer input is a lambda function eg:\n # prefer=(lambda lhs, rhs: lhs if lhs.val >= rhs.val else rhs)\n\n # - size\n # The initial size allocation of the queue, default value is 10\n\n## Example\n\n class Node(object):\n def __init__(self, val):\n self.val = val\n\n A = BinaryHeapPriorityQueue(\n prefer=(lambda lhs, rhs: lhs if lhs.val >= rhs.val else rhs), size=5\n )\n\n A.add(Node(1))\n A.add(Node(4))\n A.add(Node(3))\n A.add(Node(5))\n A.add(Node(2))\n\n assert 5 == A.pop().val\n assert 4 == A.pop().val\n assert 3 == A.pop().val\n assert 2 == A.pop().val\n assert 1 == A.pop().val\n assert None == A.pop()\n\n## Methods\n\n- `size()`\n\nreturns the current size of the priority queue\n\n- `peek()`\n\nreturns the object at the topof the priority queue if it exists else returns None\n\n- `pop()`\n\nremoves and returns the object at the top of the priority queue if it exists else returns None\n\n- `add(val)`\n\nadds an element to the priority queue\n\n## Maintainer\n\n\u24d8 [Aayush Uppal](https://aayushuppal.github.io)\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/aayushuppal/bhpq", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "bhpq", "package_url": "https://pypi.org/project/bhpq/", "platform": "", "project_url": "https://pypi.org/project/bhpq/", "project_urls": { "Homepage": "https://github.com/aayushuppal/bhpq" }, "release_url": "https://pypi.org/project/bhpq/2.0.1/", "requires_dist": null, "requires_python": "", "summary": "Binary Heap Priority Queue", "version": "2.0.1" }, "last_serial": 5663699, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "64b12d0e91cb678c509937c84ed3e65a", "sha256": "c8dd107a991ac2f5e3ceb447c6a298a9e9f64b151b42020fa86a257bf27ea310" }, "downloads": -1, "filename": "bhpq-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "64b12d0e91cb678c509937c84ed3e65a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3083, "upload_time": "2018-11-13T04:52:19", "url": "https://files.pythonhosted.org/packages/e4/08/2aaf087d1ccf95fb3c29cf645959abe9618081ff18de95d82c87640c87ab/bhpq-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a76b51c7b509e70532eaa867b793ebc", "sha256": "19d74797d0832bb69b78b1eaa8b3877fe1d100ee216e03b53977042f1fa2b4d8" }, "downloads": -1, "filename": "bhpq-1.0.0.tar.gz", "has_sig": false, "md5_digest": "9a76b51c7b509e70532eaa867b793ebc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1876, "upload_time": "2018-11-13T04:52:23", "url": "https://files.pythonhosted.org/packages/32/90/c707e902f3501bc0556d0f98746cc4aa51a8eae6cfd4329f5c46704635a1/bhpq-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "bb27e9172f7ac483b63309ef0b1220e0", "sha256": "976aa9a7a042b5288f8426d8792bb1b9828d2150f25a23ae8b9337f5e591b4cc" }, "downloads": -1, "filename": "bhpq-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "bb27e9172f7ac483b63309ef0b1220e0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3347, "upload_time": "2018-11-13T04:52:21", "url": "https://files.pythonhosted.org/packages/87/91/d1415e5f8a3768cf222b434ef789fed1651958da91f6ad65e4fdcff474f6/bhpq-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d205c595964d339d703269aa99432f41", "sha256": "861c0d11895b3ba72ecb344ac098dd8e991f3598515c4e5e36d072450622e500" }, "downloads": -1, "filename": "bhpq-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d205c595964d339d703269aa99432f41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1988, "upload_time": "2018-11-13T04:52:24", "url": "https://files.pythonhosted.org/packages/9b/e2/e7e47cd309c5bc509e49f5276137c9cf857ae73fccf7f82af832febc5e8c/bhpq-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "6ff2651bc5d2b0a7fb2f68edc3d3b664", "sha256": "0686eb7ec919d223c757c545153a03ce72826866b60eba3555a76747344f904a" }, "downloads": -1, "filename": "bhpq-1.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "6ff2651bc5d2b0a7fb2f68edc3d3b664", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2389, "upload_time": "2018-11-13T05:06:22", "url": "https://files.pythonhosted.org/packages/b6/e8/bce86e56ee5cf700a784deb65930ab2d6865f135aafab42065965b8db682/bhpq-1.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c25aabccaaa73b29327926af1039c14", "sha256": "69beaf9bf81876313302363dceaa0a2ff36c5e044956218b1ac40e71741b4ff0" }, "downloads": -1, "filename": "bhpq-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7c25aabccaaa73b29327926af1039c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1988, "upload_time": "2018-11-13T05:06:24", "url": "https://files.pythonhosted.org/packages/77/bd/beb6c28f6207b868e7c27cd97f40fcaed28fa1fc61e9c8a2538c687e32e4/bhpq-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "bdefda14647638731cfaf602990c114b", "sha256": "c8d7bd11c1373d2e26f0eb85bccb013185e045bf1bd498064712174b02c6cb0e" }, "downloads": -1, "filename": "bhpq-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "bdefda14647638731cfaf602990c114b", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2777, "upload_time": "2018-11-13T05:48:22", "url": "https://files.pythonhosted.org/packages/45/f3/d870d5d2790454fe99f4d0bb58206473f17e32861d7abe511c8a920199cb/bhpq-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f4f09dd492ada50b823454fc0ad0df7", "sha256": "22b7772d92b1840bee42180813719738e1553dd1a3a3ca94c9818c859c7450dc" }, "downloads": -1, "filename": "bhpq-1.0.3.tar.gz", "has_sig": false, "md5_digest": "3f4f09dd492ada50b823454fc0ad0df7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2480, "upload_time": "2018-11-13T05:48:23", "url": "https://files.pythonhosted.org/packages/d4/39/80e0a8b5a06db30e9266456fa39c1c70e98fc8e12b31d43f5a9fd55dd00d/bhpq-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "6ded1cf0e85bfd2589a3e5da32c2bc33", "sha256": "bf234656c2ec2927ab7124628b11827c15e9c01a327afabbe8518ce2c2ab0c79" }, "downloads": -1, "filename": "bhpq-1.0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "6ded1cf0e85bfd2589a3e5da32c2bc33", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2814, "upload_time": "2018-11-13T07:00:30", "url": "https://files.pythonhosted.org/packages/5f/97/4a5d74d2ce38ddc2e69334afae042c2d1c7ad06930ceb1340c4af936d58e/bhpq-1.0.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1159cc3170db8b28df0853a3d2b7fcd", "sha256": "239c7ba029abdcd3c88467c14217441c6419238513eda76ff5e0c4510b0dc7e6" }, "downloads": -1, "filename": "bhpq-1.0.4.tar.gz", "has_sig": false, "md5_digest": "a1159cc3170db8b28df0853a3d2b7fcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2575, "upload_time": "2018-11-13T07:00:32", "url": "https://files.pythonhosted.org/packages/4c/5e/6ff8be25c896978d8f61e58c7466a0e01de88f60384f8bb710e93db98366/bhpq-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "43ce0789e2ef11aaedbd930b285516f3", "sha256": "a9e3a08028b4c5ad7e5407266a94dbd319906763bc16f328fe1bd57bdf999bb4" }, "downloads": -1, "filename": "bhpq-1.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "43ce0789e2ef11aaedbd930b285516f3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 2960, "upload_time": "2018-11-15T02:15:47", "url": "https://files.pythonhosted.org/packages/7c/a0/e95d28f70773b5f5fd5fd08f10afa75204662cd41214517e90f67a19ed62/bhpq-1.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "87748c662e585b8b7fafe049351d553d", "sha256": "977fb0388113010932eb6aae89e75fbc85a747f3f43065e44d3f82fb00b32af6" }, "downloads": -1, "filename": "bhpq-1.0.5.tar.gz", "has_sig": false, "md5_digest": "87748c662e585b8b7fafe049351d553d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2753, "upload_time": "2018-11-15T02:15:48", "url": "https://files.pythonhosted.org/packages/a0/4b/29c8f5757ece50a21bad4681851a9ebcc0e7b2d9ad719ae14b83e1c87b79/bhpq-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "ca4f0228c7b4b43b0c28242b81e315fd", "sha256": "29b066921301d33ebb138caeedb650e7d83f1e850c45c5bb2a5c85de5277432d" }, "downloads": -1, "filename": "bhpq-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ca4f0228c7b4b43b0c28242b81e315fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3775, "upload_time": "2019-07-28T13:20:16", "url": "https://files.pythonhosted.org/packages/81/80/2e67da3b8d3d0eb1fbcf9342cff72e172943f088b0914b794807431b2c4c/bhpq-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "720ee9d6ea43d57ac20eeaba11853506", "sha256": "550c3b9478772ec31a1e77d777c5dc1cd8329f6ac0c878f355f2badf4a7b5146" }, "downloads": -1, "filename": "bhpq-1.0.6.tar.gz", "has_sig": false, "md5_digest": "720ee9d6ea43d57ac20eeaba11853506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2715, "upload_time": "2019-07-28T13:20:17", "url": "https://files.pythonhosted.org/packages/c5/30/d4821cc2567b59f4ab5f006d0266d35b44cdfb63c347b433eed1632ba84e/bhpq-1.0.6.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "b7d777c7596d2b883a9f677f96138974", "sha256": "7f27ff90f00130ea0279f4421d6555330036d559578b3688ac5c5e2b829e3037" }, "downloads": -1, "filename": "bhpq-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b7d777c7596d2b883a9f677f96138974", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3817, "upload_time": "2019-07-28T13:52:44", "url": "https://files.pythonhosted.org/packages/2d/87/ae221806139e89f8bea2ad1d82c5d1fcf74b4b0971326e9a8fcfb488499f/bhpq-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "292c1e0ed1ba9c8f96de577a5aaf02a0", "sha256": "662a7ce8c54ec1e70406bcc49bbfccc2f2217d358ef44d8c24f4b21d81d0f317" }, "downloads": -1, "filename": "bhpq-2.0.0.tar.gz", "has_sig": false, "md5_digest": "292c1e0ed1ba9c8f96de577a5aaf02a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2763, "upload_time": "2019-07-28T13:52:46", "url": "https://files.pythonhosted.org/packages/39/46/dfbe7c69ce3ab7c7f080691829735af917a03994680017cccb9a6fb3269e/bhpq-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2f13b617aadf18020851c378aaac0ef9", "sha256": "91526b9feb7714542a71f55b10bd3de9c5d6726a3d5a4efdbc439641660f0236" }, "downloads": -1, "filename": "bhpq-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2f13b617aadf18020851c378aaac0ef9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4170, "upload_time": "2019-08-12T02:01:16", "url": "https://files.pythonhosted.org/packages/3e/fd/f17e933271fb6332ab225681322c064be561507f84ec8bf66265428cc5ba/bhpq-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5703ccf69be774ccd1af75f358cb1e4c", "sha256": "03bd7d93e8e442dec2c789944825d5df4a5f5ce0d16d999b3df02ceccff28de2" }, "downloads": -1, "filename": "bhpq-2.0.1.tar.gz", "has_sig": false, "md5_digest": "5703ccf69be774ccd1af75f358cb1e4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2978, "upload_time": "2019-08-12T02:01:17", "url": "https://files.pythonhosted.org/packages/10/1d/6e922bf14474e430041f39a3068836915d8931275bd260806fe1e19d0b87/bhpq-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2f13b617aadf18020851c378aaac0ef9", "sha256": "91526b9feb7714542a71f55b10bd3de9c5d6726a3d5a4efdbc439641660f0236" }, "downloads": -1, "filename": "bhpq-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2f13b617aadf18020851c378aaac0ef9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4170, "upload_time": "2019-08-12T02:01:16", "url": "https://files.pythonhosted.org/packages/3e/fd/f17e933271fb6332ab225681322c064be561507f84ec8bf66265428cc5ba/bhpq-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5703ccf69be774ccd1af75f358cb1e4c", "sha256": "03bd7d93e8e442dec2c789944825d5df4a5f5ce0d16d999b3df02ceccff28de2" }, "downloads": -1, "filename": "bhpq-2.0.1.tar.gz", "has_sig": false, "md5_digest": "5703ccf69be774ccd1af75f358cb1e4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2978, "upload_time": "2019-08-12T02:01:17", "url": "https://files.pythonhosted.org/packages/10/1d/6e922bf14474e430041f39a3068836915d8931275bd260806fe1e19d0b87/bhpq-2.0.1.tar.gz" } ] }