{ "info": { "author": "Daniel Lindsley", "author_email": "daniel@toastdriven.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "======\npyskip\n======\n\nA pure Python skiplist implementation.\n\nA skiplist provides a quickly searchable structure (like a balanced binary\ntree) that also updates fairly cheaply (no nasty rebalancing acts).\nIn other words, it's **awesome**.\n\nSee http://en.wikipedia.org/wiki/Skip_list for more information.\n\nWritten mostly an exercise for myself, it turns out skiplists are really useful.\nIt also comes with a (mostly-underdocumented) linked-list implementation\n(+ a sorted variant), if that's useful.\n\n\nRequirements\n============\n\n* Python 3.3+ (should work on Python 2.6+ as well, as well as PyPy 2.0+)\n* ``nose>=1.30`` for running unittests\n\n\nUsage\n=====\n\nUsing it looks like:\n\n >>> import skiplist\n >>> skip = skiplist.Skiplist()\n >>> len(skip)\n 0\n >>> 6 in skip\n False\n >>> skip.insert(0)\n >>> skip.insert(7)\n >>> skip.insert(3)\n >>> skip.insert(6)\n >>> skip.insert(245)\n >>> len(skip)\n 5\n >>> 6 in skip\n True\n >>> skip.remove(245)\n >>> len(skip)\n 4\n >>> skip.find(3)\n \n\n\nPerformance\n===========\n\nPerformance is alright, though I'm sure there's room for improvement. See the\n``bench.py`` script for more information.\n\n\nRunning Tests\n=============\n\nRun ``pip install nose`` (preferrably within a virtualenv) to install nose.\n\nThen run ``nosetests -s -v tests.py`` to exercise the full suite.\n\n\nTODO\n====\n\n* A more performant implementation of ``remove`` (still O(N))\n* More performance testing\n\n * Loading data seems slow\n\n\nMeta\n====\n\n:author: Daniel Lindsley\n:license: BSD\n:version: 0.9.0", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/toastdriven/pyskip/", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "pyskip", "package_url": "https://pypi.org/project/pyskip/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyskip/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/toastdriven/pyskip/" }, "release_url": "https://pypi.org/project/pyskip/0.9.0/", "requires_dist": null, "requires_python": null, "summary": "A pure Python skiplist.", "version": "0.9.0" }, "last_serial": 934517, "releases": { "0.9.0": [ { "comment_text": "", "digests": { "md5": "f167078a42c700b7d729bd93919d5877", "sha256": "21f678cbefa8507cb45f28e27c7bf108551bd27856a63a013e31c3a503e30e9e" }, "downloads": -1, "filename": "pyskip-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f167078a42c700b7d729bd93919d5877", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6114, "upload_time": "2013-12-03T10:01:32", "url": "https://files.pythonhosted.org/packages/21/9a/2350e7d0ab8418c20fd1bb9ab61f03f08ed15ffa5884535659fef4f4bb4d/pyskip-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "870d89c32dfcb096be41b6e6c1581f40", "sha256": "aa107ee1cce4dae596533b2fc616bffc7c34aa27246347203f07e7e27cff4f82" }, "downloads": -1, "filename": "pyskip-0.9.0.tar.gz", "has_sig": false, "md5_digest": "870d89c32dfcb096be41b6e6c1581f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5181, "upload_time": "2013-10-17T05:39:19", "url": "https://files.pythonhosted.org/packages/d9/3c/87b6f0ca9740a3409baa5e9cedb5b1f9cdacbff036fcf5e6c7d84dd65638/pyskip-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f167078a42c700b7d729bd93919d5877", "sha256": "21f678cbefa8507cb45f28e27c7bf108551bd27856a63a013e31c3a503e30e9e" }, "downloads": -1, "filename": "pyskip-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f167078a42c700b7d729bd93919d5877", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 6114, "upload_time": "2013-12-03T10:01:32", "url": "https://files.pythonhosted.org/packages/21/9a/2350e7d0ab8418c20fd1bb9ab61f03f08ed15ffa5884535659fef4f4bb4d/pyskip-0.9.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "870d89c32dfcb096be41b6e6c1581f40", "sha256": "aa107ee1cce4dae596533b2fc616bffc7c34aa27246347203f07e7e27cff4f82" }, "downloads": -1, "filename": "pyskip-0.9.0.tar.gz", "has_sig": false, "md5_digest": "870d89c32dfcb096be41b6e6c1581f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5181, "upload_time": "2013-10-17T05:39:19", "url": "https://files.pythonhosted.org/packages/d9/3c/87b6f0ca9740a3409baa5e9cedb5b1f9cdacbff036fcf5e6c7d84dd65638/pyskip-0.9.0.tar.gz" } ] }