{ "info": { "author": "Scrapy project", "author_email": "info@scrapy.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "========\nqueuelib\n========\n\n.. image:: https://secure.travis-ci.org/scrapy/queuelib.png?branch=master\n :target: http://travis-ci.org/scrapy/queuelib\n\n.. image:: https://img.shields.io/codecov/c/github/scrapy/queuelib/master.svg\n :target: http://codecov.io/github/scrapy/queuelib?branch=master\n :alt: Coverage report\n\n\nQueuelib is a collection of persistent (disk-based) queues for Python.\n\nQueuelib goals are speed and simplicity. It was originally part of the `Scrapy\nframework`_ and stripped out on its own library.\n\nNote: Queuelib isn't thread-safe.\n\nRequirements\n============\n\n* Python 2.7 or Python 3.3\n* no external library requirements\n\nInstallation\n============\n\nYou can install Queuelib either via the Python Package Index (PyPI) or from\nsource.\n\nTo install using pip::\n\n $ pip install queuelib\n\nTo install using easy_install::\n\n $ easy_install queuelib\n\nIf you have downloaded a source tarball you can install it by running the\nfollowing (as root)::\n\n # python setup.py install\n\nFIFO/LIFO disk queues\n=====================\n\nQueuelib provides FIFO and LIFO queue implementations.\n\nHere is an example usage of the FIFO queue::\n\n >>> from queuelib import FifoDiskQueue\n >>> q = FifoDiskQueue(\"queuefile\")\n >>> q.push(b'a')\n >>> q.push(b'b')\n >>> q.push(b'c')\n >>> q.pop()\n b'a'\n >>> q.close()\n >>> q = FifoDiskQueue(\"queuefile\")\n >>> q.pop()\n b'b'\n >>> q.pop()\n b'c'\n >>> q.pop()\n >>>\n\nThe LIFO queue is identical (API-wise), but importing ``LifoDiskQueue``\ninstead.\n\nPriorityQueue\n=============\n\nA discrete-priority queue implemented by combining multiple FIFO/LIFO queues\n(one per priority).\n\nFirst, select the type of queue to be used per priority (FIFO or LIFO)::\n\n >>> from queuelib import FifoDiskQueue\n >>> qfactory = lambda priority: FifoDiskQueue('queue-dir-%s' % priority)\n\nThen instantiate the Priority Queue with it::\n\n >>> from queuelib import PriorityQueue\n >>> pq = PriorityQueue(qfactory)\n\nAnd use it::\n\n >>> pq.push(b'a', 3)\n >>> pq.push(b'b', 1)\n >>> pq.push(b'c', 2)\n >>> pq.push(b'd', 2)\n >>> pq.pop()\n b'b'\n >>> pq.pop()\n b'c'\n >>> pq.pop()\n b'd'\n >>> pq.pop()\n b'a'\n\nRoundRobinQueue\n===============\n\nHas nearly the same interface and implementation as a Priority Queue except\nthat each element must be pushed with a (mandatory) key. Popping from the\nqueue cycles through the keys \"round robin\".\n\nInstantiate the Round Robin Queue similarly to the Priority Queue::\n\n >>> from queuelib import RoundRobinQueue\n >>> rr = RoundRobinQueue(qfactory)\n\nAnd use it::\n\n >>> rr.push(b'a', '1')\n >>> rr.push(b'b', '1')\n >>> rr.push(b'c', '2')\n >>> rr.push(b'd', '2')\n >>> rr.pop()\n b'a'\n >>> rr.pop()\n b'c'\n >>> rr.pop()\n b'b'\n >>> rr.pop()\n b'd'\n\n\nMailing list\n============\n\nUse the `scrapy-users`_ mailing list for questions about Queuelib.\n\nBug tracker\n===========\n\nIf you have any suggestions, bug reports or annoyances please report them to\nour issue tracker at: http://github.com/scrapy/queuelib/issues/\n\nContributing\n============\n\nDevelopment of Queuelib happens at GitHub: http://github.com/scrapy/queuelib\n\nYou are highly encouraged to participate in the development. If you don't like\nGitHub (for some reason) you're welcome to send regular patches.\n\nAll changes require tests to be merged.\n\nTests\n=====\n\nTests are located in `queuelib/tests` directory. They can be run using\n`nosetests`_ with the following command::\n\n nosetests\n\nThe output should be something like the following::\n\n $ nosetests\n .............................................................................\n ----------------------------------------------------------------------\n Ran 77 tests in 0.145s\n\n OK\n\nLicense\n=======\n\nThis software is licensed under the BSD License. See the LICENSE file in the\ntop distribution directory for the full license text.\n\nVersioning\n==========\n\nThis software follows `Semantic Versioning`_\n\n.. _Scrapy framework: http://scrapy.org\n.. _scrapy-users: http://groups.google.com/group/scrapy-users\n.. _Semantic Versioning: http://semver.org/\n.. _nosetests: https://nose.readthedocs.org/en/latest/\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/scrapy/queuelib", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "queuelib", "package_url": "https://pypi.org/project/queuelib/", "platform": "Any", "project_url": "https://pypi.org/project/queuelib/", "project_urls": { "Homepage": "https://github.com/scrapy/queuelib" }, "release_url": "https://pypi.org/project/queuelib/1.5.0/", "requires_dist": null, "requires_python": "", "summary": "Collection of persistent (disk-based) queues", "version": "1.5.0" }, "last_serial": 5611194, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "4be2b21b307bb5aecf93e0b5bdfdaae0", "sha256": "0622dd5ef12e4456de324be076162140aaaa8099f057cdc343447fe2642fcf53" }, "downloads": -1, "filename": "queuelib-1.0.tar.gz", "has_sig": false, "md5_digest": "4be2b21b307bb5aecf93e0b5bdfdaae0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6754, "upload_time": "2013-04-23T17:54:42", "url": "https://files.pythonhosted.org/packages/d2/ea/ac17afed555ee4e02505e4510b9e232ef70ce1a5c93e66bc6805e7988b4e/queuelib-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "d2c99076b69e09c416b1bb63369e9670", "sha256": "5d01bfaa8f8bdb4e05e6670ac56ad543f340ecefe6f6f9506019973df114e266" }, "downloads": -1, "filename": "queuelib-1.1.tar.gz", "has_sig": false, "md5_digest": "d2c99076b69e09c416b1bb63369e9670", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6738, "upload_time": "2013-11-10T12:32:29", "url": "https://files.pythonhosted.org/packages/9b/9b/8f54f473608a896b2cfbab04c758f79d6db59fe3f52896b87f24c3014eaf/queuelib-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "f6854aed867ba7701c4307a38a353753", "sha256": "4eb5e162b96332a0a4195af0b3e373d211a668045862667c46ba10759a43426f" }, "downloads": -1, "filename": "queuelib-1.1.1.tar.gz", "has_sig": false, "md5_digest": "f6854aed867ba7701c4307a38a353753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6740, "upload_time": "2013-11-10T12:38:21", "url": "https://files.pythonhosted.org/packages/e0/81/4ee47338fed2cce4f588d40c1b704aeb73c82dc73c617cedea0b7d519699/queuelib-1.1.1.tar.gz" } ], "1.2.0": [], "1.2.1": [], "1.2.2": [ { "comment_text": "", "digests": { "md5": "ebf62dda971ceff1c01f2a8f4acf9829", "sha256": "837b08c881e2ad8329c7e03512b3b83f6b5ef2e0abef34d9b400fd5e26e74fb0" }, "downloads": -1, "filename": "queuelib-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ebf62dda971ceff1c01f2a8f4acf9829", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 9541, "upload_time": "2014-07-25T20:35:17", "url": "https://files.pythonhosted.org/packages/d6/85/4c0492121af66c2dcff3b5f08e0d88883430e629b291185f4dbcb69b699d/queuelib-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90cd84e977896fa50cde6aa3df7fc45f", "sha256": "60db60b0cfea23c23c94ac00b224df5903faf9ac711606b22c3dbfb0ba9d86f7" }, "downloads": -1, "filename": "queuelib-1.2.2.tar.gz", "has_sig": false, "md5_digest": "90cd84e977896fa50cde6aa3df7fc45f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8111, "upload_time": "2014-07-25T20:35:14", "url": "https://files.pythonhosted.org/packages/0f/23/60681b85afc38581b7fb80182402eb00c237fa4ab0ae8bbe00289bc744c5/queuelib-1.2.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "8730dfe4668404f352d5f765b6d2023d", "sha256": "2024f928a9e4e880d7b6da6578d09f7be208cff8227959677f6c92873b0b69c9" }, "downloads": -1, "filename": "queuelib-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8730dfe4668404f352d5f765b6d2023d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9686, "upload_time": "2015-08-26T13:18:48", "url": "https://files.pythonhosted.org/packages/dc/0d/bc6352e13fb500434b9ec210f670eccc32d0fc3d243fc12723bdae2d131e/queuelib-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f27ba65af6eaa43e6c6e3a952231628", "sha256": "f7a2182c9d493bceee0985636891f92369fcc4575edcc055e16cb63b393e210c" }, "downloads": -1, "filename": "queuelib-1.3.0.tar.gz", "has_sig": false, "md5_digest": "9f27ba65af6eaa43e6c6e3a952231628", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7232, "upload_time": "2015-08-26T13:19:17", "url": "https://files.pythonhosted.org/packages/1d/f8/8f6fd46e1158e444b7843d63f7e40d8bee92810e42ac9f8798f8bdb4cb68/queuelib-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "85769ec9803d69e5817be5cd87a734c0", "sha256": "7cbd0e56f8b98068fc0007a285eb8cf118287f61f75a673166832605727c91e3" }, "downloads": -1, "filename": "queuelib-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85769ec9803d69e5817be5cd87a734c0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10378, "upload_time": "2015-09-09T11:31:16", "url": "https://files.pythonhosted.org/packages/93/ac/a6bfd4a78d590be94a12157db74e29b3a71079571074deef114074d0ec92/queuelib-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46924d8cf81136024f28e5f9350a5874", "sha256": "cd469fc17eed35821b4356ff6fd9a0acb4ca2ba373161cc87612a5cfe1e80f54" }, "downloads": -1, "filename": "queuelib-1.4.0.tar.gz", "has_sig": false, "md5_digest": "46924d8cf81136024f28e5f9350a5874", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7917, "upload_time": "2015-09-09T11:31:19", "url": "https://files.pythonhosted.org/packages/e5/71/e6ad817e5ccce4233c12c664fa75df33ae79df0c257a2d76e39cfa98d914/queuelib-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "f4e08a02fc59596fc08552bfae8670e1", "sha256": "216e967637b8f6b62301d38277a1a36fc5915b47b48a24bebbab65ce29c6ee5e" }, "downloads": -1, "filename": "queuelib-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4e08a02fc59596fc08552bfae8670e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10765, "upload_time": "2015-09-09T13:59:13", "url": "https://files.pythonhosted.org/packages/f3/ae/d02138d74e12def728f7c45503d02524093df814dfc1e1f5e31a0c5c2f60/queuelib-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67fe798cc2ec74b46400ace96b542416", "sha256": "7e0773e5631866f13e3e080792282936004345e9c8697521ded4903bc0499bdf" }, "downloads": -1, "filename": "queuelib-1.4.1.tar.gz", "has_sig": false, "md5_digest": "67fe798cc2ec74b46400ace96b542416", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8211, "upload_time": "2015-09-09T13:59:16", "url": "https://files.pythonhosted.org/packages/f3/71/9e20c5c3919fb732a7d64ebb03fde72bb0a5b223650884b264bcbd2be7fb/queuelib-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "f46b047a5403bb1af3006cbfdb0e0ad9", "sha256": "c97f2120e070e2b8a5e8a60afe10bd7b3ae70c0994d6bb9c4d802b0448241339" }, "downloads": -1, "filename": "queuelib-1.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f46b047a5403bb1af3006cbfdb0e0ad9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10840, "upload_time": "2015-09-09T18:58:58", "url": "https://files.pythonhosted.org/packages/16/4f/b307fc978a21bfbb138e8e01a9f4953191d439e30578f5e4fd5befa77de1/queuelib-1.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41f13f7d328fa6d2d4b47a7e9e30af5f", "sha256": "a6829918157ed433fafa87b0bb1e93e3e63c885270166db5884a02c34c86f914" }, "downloads": -1, "filename": "queuelib-1.4.2.tar.gz", "has_sig": false, "md5_digest": "41f13f7d328fa6d2d4b47a7e9e30af5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8287, "upload_time": "2015-09-09T18:59:00", "url": "https://files.pythonhosted.org/packages/3d/61/869c7440196a95e0a19ad3c1c5a4fcca9631e617be21122647ac15e4b39f/queuelib-1.4.2.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "28b359a27371e3d965eef6ac0d203d08", "sha256": "ff43b5b74b9266f8df4232a8f768dc4d67281a271905e2ed4a3689d4d304cd02" }, "downloads": -1, "filename": "queuelib-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28b359a27371e3d965eef6ac0d203d08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13283, "upload_time": "2018-03-12T12:50:48", "url": "https://files.pythonhosted.org/packages/4c/85/ae64e9145f39dd6d14f8af3fa809a270ef3729f3b90b3c0cf5aa242ab0d4/queuelib-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "717edddb7ce8e4e3d071710ccc5a2430", "sha256": "42b413295551bdc24ed9376c1a2cd7d0b1b0fa4746b77b27ca2b797a276a1a17" }, "downloads": -1, "filename": "queuelib-1.5.0.tar.gz", "has_sig": false, "md5_digest": "717edddb7ce8e4e3d071710ccc5a2430", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9234, "upload_time": "2018-03-12T12:50:49", "url": "https://files.pythonhosted.org/packages/a5/dc/1221b4c92f27e95388cdeff6412a02edaf531162b79c67b9a8431760d955/queuelib-1.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "28b359a27371e3d965eef6ac0d203d08", "sha256": "ff43b5b74b9266f8df4232a8f768dc4d67281a271905e2ed4a3689d4d304cd02" }, "downloads": -1, "filename": "queuelib-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28b359a27371e3d965eef6ac0d203d08", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13283, "upload_time": "2018-03-12T12:50:48", "url": "https://files.pythonhosted.org/packages/4c/85/ae64e9145f39dd6d14f8af3fa809a270ef3729f3b90b3c0cf5aa242ab0d4/queuelib-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "717edddb7ce8e4e3d071710ccc5a2430", "sha256": "42b413295551bdc24ed9376c1a2cd7d0b1b0fa4746b77b27ca2b797a276a1a17" }, "downloads": -1, "filename": "queuelib-1.5.0.tar.gz", "has_sig": false, "md5_digest": "717edddb7ce8e4e3d071710ccc5a2430", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9234, "upload_time": "2018-03-12T12:50:49", "url": "https://files.pythonhosted.org/packages/a5/dc/1221b4c92f27e95388cdeff6412a02edaf531162b79c67b9a8431760d955/queuelib-1.5.0.tar.gz" } ] }