{ "info": { "author": "Sumin Byeon", "author_email": "suminb@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "Winnowing\n=========\n\nA Python implementation of the Winnowing (local algorithms for document\nfingerprinting)\n\nOriginal Work\n=============\n\nThe original research paper can be found at\nhttp://dl.acm.org/citation.cfm?id=872770.\n\nInstallation\n============\n\nYou may install ``winnowing`` package via ``pip`` as follows:\n\n::\n\n pip install winnowing\n \nAlternatively, you may also install the package by cloning this repository.\n\n::\n\n git clone https://github.com/suminb/winnowing.git\n cd winnowing && python setup.py install\n\nUsage\n=====\n\n.. code:: python\n\n >>> from winnowing import winnow\n\n >>> winnow('A do run run run, a do run run')\n set([(5, 23942), (14, 2887), (2, 1966), (9, 23942), (20, 1966)])\n\n >>> winnow('run run')\n set([(0, 23942)]) # match found!\n\nDefault Hash Function\n~~~~~~~~~~~~~~~~~~~~~\n\nQuite honestly, I did not know what hash function to use. The paper did\nnot talk about it. So I decided to use a part of SHA-1; more precisely,\nthe last 16 bits of the digest.\n\nCustom Hash Function\n~~~~~~~~~~~~~~~~~~~~\n\nYou may use your own hash function as demonstrated below.\n\n.. code:: python\n\n def hash_md5(text):\n import hashlib\n\n hs = hashlib.md5(text)\n hs = hs.hexdigest()\n hs = int(hs, 16)\n\n return hs\n\n # Override the hash function\n winnow.hash_function = hash_md5\n\n winnow('The cake was a lie')\n\nLower Bound of Fingerprint Density\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n(TODO: Write this section)", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/suminb/winnowing", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "winnowing", "package_url": "https://pypi.org/project/winnowing/", "platform": "", "project_url": "https://pypi.org/project/winnowing/", "project_urls": { "Homepage": "https://github.com/suminb/winnowing" }, "release_url": "https://pypi.org/project/winnowing/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "A Python implementation of the Winnowing (local algorithms for document fingerprinting)", "version": "0.2.1", "yanked": false, "yanked_reason": null }, "last_serial": 6048425, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7aedc9db576b5668e37549b399e15584", "sha256": "835f2cc76c02cd87905d5dd47d8886bcad7bb3a33b2d7147910532d27e4e9c9d" }, "downloads": -1, "filename": "winnowing-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7aedc9db576b5668e37549b399e15584", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2104, "upload_time": "2013-11-10T07:44:34", "upload_time_iso_8601": "2013-11-10T07:44:34.489038Z", "url": "https://files.pythonhosted.org/packages/08/5f/5b4cc4657f5e4466c97827e998a66165afd5357c7239cfda154a8fda0d4d/winnowing-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "06d6e709bbe02fa6f187799ad363da7d", "sha256": "2d7a613b624d231d667d934ef115b18e75f47cb19ebbfdd0626824ac42c6d8dc" }, "downloads": -1, "filename": "winnowing-0.1.2.tar.gz", "has_sig": false, "md5_digest": "06d6e709bbe02fa6f187799ad363da7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2226, "upload_time": "2013-11-10T09:49:58", "upload_time_iso_8601": "2013-11-10T09:49:58.163469Z", "url": "https://files.pythonhosted.org/packages/d2/1c/ed0d383a7510330f2f46b9894c7fa0df4d37dca55f328f8c42f25090ba86/winnowing-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [], "0.2.1": [ { "comment_text": "", "digests": { "md5": "62165000bbe91421f59f49588b5cd30d", "sha256": "b74cf6fc2dbe1f3bec7d04ba0f593dc1bdad49553e0c7cec755b99792b512447" }, "downloads": -1, "filename": "winnowing-0.2.1.tar.gz", "has_sig": false, "md5_digest": "62165000bbe91421f59f49588b5cd30d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2590, "upload_time": "2019-10-29T17:29:18", "upload_time_iso_8601": "2019-10-29T17:29:18.130306Z", "url": "https://files.pythonhosted.org/packages/a7/33/447e433810d348f5e435cf1db0537100feb2e03946a119165f77612ff94e/winnowing-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "62165000bbe91421f59f49588b5cd30d", "sha256": "b74cf6fc2dbe1f3bec7d04ba0f593dc1bdad49553e0c7cec755b99792b512447" }, "downloads": -1, "filename": "winnowing-0.2.1.tar.gz", "has_sig": false, "md5_digest": "62165000bbe91421f59f49588b5cd30d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2590, "upload_time": "2019-10-29T17:29:18", "upload_time_iso_8601": "2019-10-29T17:29:18.130306Z", "url": "https://files.pythonhosted.org/packages/a7/33/447e433810d348f5e435cf1db0537100feb2e03946a119165f77612ff94e/winnowing-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }