{ "info": { "author": "Prashant Sinha", "author_email": "prashant@noop.pw", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Programming Language :: C", "Programming Language :: Cython", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# pybloomfiltermmap3\n\n[pybloomfiltermmap3](https://github.com/prashnts/pybloomfiltermmap3) is a Python 3 compatible fork of [pybloomfiltermmap](https://github.com/axiak/pybloomfiltermmap) by [@axiak](https://github.com/axiak).\n\nThe goal of `pybloomfiltermmap3` is simple: to provide a fast, simple, scalable, correct library for Bloom filters in Python.\n\n[![Build Status](https://travis-ci.org/PrashntS/pybloomfiltermmap3.svg?branch=master)](https://travis-ci.org/PrashntS/pybloomfiltermmap3)\n[![Documentation Status](https://readthedocs.org/projects/pybloomfiltermmap3/badge/?version=latest)](https://pybloomfiltermmap3.readthedocs.io/en/latest/?badge=latest)\n[![PyPI](https://img.shields.io/pypi/v/pybloomfiltermmap3.svg)](https://pypi.python.org/pypi/pybloomfiltermmap3)\n[![PyPI](https://img.shields.io/pypi/dw/pybloomfiltermmap3.svg)](https://pypi.python.org/pypi/pybloomfiltermmap3)\n[![PyPI](https://img.shields.io/pypi/pyversions/pybloomfiltermmap3.svg)](https://pypi.python.org/pypi/pybloomfiltermmap3)\n\n\n## Why pybloomfiltermmap3?\n\nThere are a couple reasons to use this module:\n\n* It natively uses [mmaped files](http://en.wikipedia.org/wiki/Mmap).\n* It is fast (see [benchmarks](http://axiak.github.io/pybloomfiltermmap/#benchmarks)).\n* It natively does the set things you want a Bloom filter to do.\n\n\n## Quickstart\n\nAfter you install, the interface to use is a cross between a file\ninterface and an ste interface. As an example:\n```python\n >>> import pybloomfilter\n >>> fruit = pybloomfilter.BloomFilter(100000, 0.1, '/tmp/words.bloom')\n >>> fruit.update(('apple', 'pear', 'orange', 'apple'))\n >>> len(fruit)\n 3\n >>> 'mike' in fruit\n False\n >>> 'apple' in fruit\n True\n```\n\nTo create an in-memory filter, simply omit the file location:\n```python\n >>> cakes = pybloomfilter.BloomFilter(10000, 0.1)\n```\n*Caveat*: it is currently not possible to persist this filter later.\n\n\n## Docs\n\nCurrent docs are available at [pybloomfiltermmap3.rtfd.io](https://pybloomfiltermmap3.readthedocs.io/en/latest).\n\n\n## Install\n\nTo install:\n\n```shell\n $ pip install pybloomfiltermmap3\n```\n\nand you should be set.\n\n### Note to Python 2 to < 3.5 users\n\nThis library is specifically meant for Python 3.5 and above. [As of 2020](https://www.python.org/doc/sunset-python-2/), we strongly advise you to switch to an actively maintained distribution of Python 3. If for any reason your current environment is restricted to Python 2, please see [pybloomfiltermmap](https://github.com/axiak/pybloomfiltermmap). Please note that the latter is not actively maintained and will lack bug fixes and new features.\n\n\n## History and Future\n\n[pybloomfiltermmap](https://github.com/axiak/pybloomfiltermmap) is an excellent Bloom filter implementation for Python 2 by [@axiak](https://github.com/axiak) and contributors. I, [@prashnts](https://github.com/prashnts), made initial changes to add support for Python 3 sometime in 2016 as the current [pybloomfiltermmap3](https://pypi.org/project/pybloomfiltermmap3/) on `PyPI`. Since then, with the help of contributors, there have been incremental improvements and bug fixes while maintaining the API from versions `0.4.x` and below.\n\nSome new features and changes were first introduced in version `0.5.0`. From this point on, the goal is to reach stability, as well as add a few more APIs to expand upon the use cases. While we can't guarantee that we won't change the current interface, the transition from versions `0.4.x` and below should be quick one liners. Please open an issue if we broke your build!\n\nSuggestions, bug reports, and / or patches are welcome!\n\n\n## Contributions and development\n\nWhen contributing, you should set up an appropriate Python 3 environment and install the dependencies listed in `requirements-dev.txt`.\nPackage installation depends on a generated `pybloomfilter.c` file, which requires Cython module to be in your current environment.\n\n\n## Maintainers\n\n* [Prashant Sinha](https://github.com/prashnts)\n* [Vytautas Mizgiris](https://github.com/vmizg)\n\n\n## License\n\nSee the LICENSE file. It's under the MIT License.", "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/prashnts/pybloomfiltermmap3", "keywords": "", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "pybloomfiltermmap3", "package_url": "https://pypi.org/project/pybloomfiltermmap3/", "platform": "", "project_url": "https://pypi.org/project/pybloomfiltermmap3/", "project_urls": { "Homepage": "https://github.com/prashnts/pybloomfiltermmap3" }, "release_url": "https://pypi.org/project/pybloomfiltermmap3/0.5.5/", "requires_dist": null, "requires_python": ">=3.5, <4", "summary": "A fast implementation of Bloom filter for Python 3 built on mmap", "version": "0.5.5", "yanked": false, "yanked_reason": null }, "last_serial": 11860098, "releases": { "0.4.15": [ { "comment_text": "", "digests": { "md5": "7939f4d6d40efdf552787933b4eb8aa0", "sha256": "ec3424be0534feb65bc746d5d738d130d82c33ffe2e4e329293b47e814df31df" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.15-cp35-cp35m-macosx_10_11_x86_64.whl", "has_sig": false, "md5_digest": "7939f4d6d40efdf552787933b4eb8aa0", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": null, "size": 62143, "upload_time": "2016-04-08T20:23:26", "upload_time_iso_8601": "2016-04-08T20:23:26.876587Z", "url": "https://files.pythonhosted.org/packages/dd/db/b595b5087d94a077f5776d3aca30f6aaa22069ad90fd83b5ac2a29161e3e/pybloomfiltermmap3-0.4.15-cp35-cp35m-macosx_10_11_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "020d7ca435bfc099851cd92947e6b0b3", "sha256": "4490dc0832fb054a4cd5075fe3f07e66da366fad221d3ebd1b66f51735a2f351" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.15.tar.gz", "has_sig": false, "md5_digest": "020d7ca435bfc099851cd92947e6b0b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 457539, "upload_time": "2016-04-08T20:24:05", "upload_time_iso_8601": "2016-04-08T20:24:05.981832Z", "url": "https://files.pythonhosted.org/packages/1f/f6/3960c292d731968939390d8f03e8158164334e393b486d63d76836af9a09/pybloomfiltermmap3-0.4.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.16": [ { "comment_text": "", "digests": { "md5": "fdafb2adb596b727dfefe7ca724805a9", "sha256": "6121d3739887b340e32a739e95b6949025634270caf3513ef4be805adbd19b1d" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.16-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "fdafb2adb596b727dfefe7ca724805a9", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 77694, "upload_time": "2019-08-24T18:28:46", "upload_time_iso_8601": "2019-08-24T18:28:46.125420Z", "url": "https://files.pythonhosted.org/packages/dc/1f/1aae8a37c13e3c8fe61aaad6564126db07860ef1c313b6ef503146d3e7ae/pybloomfiltermmap3-0.4.16-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3b197017e64740d574f6c94327e6e9e7", "sha256": "34e73ce8dc58719f29d531f8795945056af279d8adad5a5306c9c097b93996a2" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.16.tar.gz", "has_sig": false, "md5_digest": "3b197017e64740d574f6c94327e6e9e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 471452, "upload_time": "2019-08-24T18:28:48", "upload_time_iso_8601": "2019-08-24T18:28:48.611087Z", "url": "https://files.pythonhosted.org/packages/1f/3c/cfa8de2a24914d08bab92453853fbd89fd71e4622c14de35435c5db15f2c/pybloomfiltermmap3-0.4.16.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.17": [ { "comment_text": "", "digests": { "md5": "64e970a6ab725c575cfe966919c23ccf", "sha256": "f342c327eb4b235b5bccfac65eabc960967c2b07cee0ff943e60dadd2da836fd" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.17-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "64e970a6ab725c575cfe966919c23ccf", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 78404, "upload_time": "2019-08-24T18:34:12", "upload_time_iso_8601": "2019-08-24T18:34:12.070786Z", "url": "https://files.pythonhosted.org/packages/0e/eb/aa1eb9f85b60ed20614e9979e4862ac4aa572f6ffe00f1806b2f2528a2c5/pybloomfiltermmap3-0.4.17-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d264d2d58e6c7b4d7aec06644b3f9455", "sha256": "8a3ca32ae898ca53cf6c86550587477b8db08b3820d30be6aa73acf742930c8b" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.17.tar.gz", "has_sig": false, "md5_digest": "d264d2d58e6c7b4d7aec06644b3f9455", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 472543, "upload_time": "2019-08-24T18:34:14", "upload_time_iso_8601": "2019-08-24T18:34:14.457842Z", "url": "https://files.pythonhosted.org/packages/b8/c1/8b1c7b0db349e9a8d39cdc978e843c54302d6678adf096a32daa2a20987f/pybloomfiltermmap3-0.4.17.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.18": [ { "comment_text": "", "digests": { "md5": "9d95fa06485dfb9561707ed3522b9089", "sha256": "e372d59f9972da4dffcdff4feefd89a1387d467af5e7fe75538187801641b79b" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.18-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "9d95fa06485dfb9561707ed3522b9089", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 78565, "upload_time": "2019-10-08T20:34:28", "upload_time_iso_8601": "2019-10-08T20:34:28.619343Z", "url": "https://files.pythonhosted.org/packages/6d/83/eb9f310e96fb1d67c0c173c3fc02116e81c3641b568a6e065814dbb5594a/pybloomfiltermmap3-0.4.18-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f708d0c900d7a9014692b08a585f5f3d", "sha256": "0f46833251128e0f6deda620ae76399980fdb82a228c37587e14b5104f29d9c1" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.18.tar.gz", "has_sig": false, "md5_digest": "f708d0c900d7a9014692b08a585f5f3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 472628, "upload_time": "2019-10-08T20:34:31", "upload_time_iso_8601": "2019-10-08T20:34:31.016103Z", "url": "https://files.pythonhosted.org/packages/5e/ba/8a5e20fd47a516045c8dc97ad0294ccac1e22ba1009df3112dec3ad1d617/pybloomfiltermmap3-0.4.18.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.19": [ { "comment_text": "", "digests": { "md5": "11b6a0519118e9d97779fc67506f8930", "sha256": "43b19d77e75a2a4a79475d8650029eae9e941ab5de5717f8d59006f9ba058b3a" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.19-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "11b6a0519118e9d97779fc67506f8930", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 78772, "upload_time": "2019-10-22T10:11:42", "upload_time_iso_8601": "2019-10-22T10:11:42.104755Z", "url": "https://files.pythonhosted.org/packages/57/dc/b684d29f2e09fdc423b23b111de7fdc2335af1b18a2ef9f1a56515f46ed9/pybloomfiltermmap3-0.4.19-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a1c34ba544ba9a0b6eea1e4d090995bb", "sha256": "5b875b392b6efbfa9822f94f83d9bacc656859c2d15d60a8524b6a81989b2ace" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.4.19.tar.gz", "has_sig": false, "md5_digest": "a1c34ba544ba9a0b6eea1e4d090995bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 472732, "upload_time": "2019-10-22T10:11:46", "upload_time_iso_8601": "2019-10-22T10:11:46.438350Z", "url": "https://files.pythonhosted.org/packages/17/ed/d4d0baa744f6d77daf27f9b0df0974925a3b96af4429345db1487d087e99/pybloomfiltermmap3-0.4.19.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "7829bea7501655dc021384f2cdba71ca", "sha256": "f0aef79b3a19217a4bc2534100dfac90b1243917812578bed29e8c56a613cccf" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.0-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "7829bea7501655dc021384f2cdba71ca", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": null, "size": 83557, "upload_time": "2019-11-25T11:05:02", "upload_time_iso_8601": "2019-11-25T11:05:02.566784Z", "url": "https://files.pythonhosted.org/packages/b6/29/02cdbc7508c73c8eb7d3e9907da86229f099e0f98b646e66e6ec0fd13625/pybloomfiltermmap3-0.5.0-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "3f6aa6d05ee3dc72e74e23d1e002bfc9", "sha256": "15a4c1dfd2f1a92d54b63358498b3f6239a3686927dbf7607030d5da6bf25ca3" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.0.tar.gz", "has_sig": false, "md5_digest": "3f6aa6d05ee3dc72e74e23d1e002bfc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 479366, "upload_time": "2019-11-25T11:05:06", "upload_time_iso_8601": "2019-11-25T11:05:06.922782Z", "url": "https://files.pythonhosted.org/packages/40/52/4516c6c23939b52e82b6dae99958e7f3bb5d39a7769f6580d94629729696/pybloomfiltermmap3-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "7f26946dd02cb42361ec1c4aedb91105", "sha256": "436c0faba62f4602dc075cfcdeb98ec94ae1d9a6965936af452d728c51ff1a5d" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.2-cp36-cp36m-macosx_10_13_x86_64.whl", "has_sig": false, "md5_digest": "7f26946dd02cb42361ec1c4aedb91105", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.5, <4", "size": 89553, "upload_time": "2020-01-13T17:40:51", "upload_time_iso_8601": "2020-01-13T17:40:51.066589Z", "url": "https://files.pythonhosted.org/packages/f9/5e/c3875f41399da86315b305ef0a9265e061393143c3bf24c335bf41fcd5e1/pybloomfiltermmap3-0.5.2-cp36-cp36m-macosx_10_13_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bb33e2f4f65ded1303680dbd72f8c4d9", "sha256": "4c5d2ba7e4249a21f342726e264915e0b950e31fc025a5ede2561b46cad815f5" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.2.tar.gz", "has_sig": false, "md5_digest": "bb33e2f4f65ded1303680dbd72f8c4d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4", "size": 488106, "upload_time": "2020-01-13T17:40:56", "upload_time_iso_8601": "2020-01-13T17:40:56.475298Z", "url": "https://files.pythonhosted.org/packages/37/e4/4dba9dcda6023929a46af4b7ac6fd49fa2e5fd7f62b55948ac3a6852d25b/pybloomfiltermmap3-0.5.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "ee2e1f096bde6232cd4afd7799c7ed8b", "sha256": "7ead7f324100e5ea1495a38aeef10d573553da3ff1c37f520fd09cdc616ea070" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.3.tar.gz", "has_sig": false, "md5_digest": "ee2e1f096bde6232cd4afd7799c7ed8b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4", "size": 486325, "upload_time": "2020-08-21T23:36:40", "upload_time_iso_8601": "2020-08-21T23:36:40.262789Z", "url": "https://files.pythonhosted.org/packages/64/b3/8292611f976e0d85a6bee8d929d4290d8ed17a13ec876e62bf9593a4a3c2/pybloomfiltermmap3-0.5.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "28e80e2a09226eb8c5216dde654eba01", "sha256": "62bf41120d340aaf7893a180b0106e54479549abd4d3c26230fcf450bdacd936" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.4.macosx-10.15-x86_64.tar.gz", "has_sig": false, "md5_digest": "28e80e2a09226eb8c5216dde654eba01", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4", "size": 78293, "upload_time": "2021-10-28T18:19:24", "upload_time_iso_8601": "2021-10-28T18:19:24.934897Z", "url": "https://files.pythonhosted.org/packages/0a/4f/07c9f1eb9ea272159ede2ed99f45ab7687161faee43a2ecb9de50ea4ed81/pybloomfiltermmap3-0.5.4.macosx-10.15-x86_64.tar.gz", "yanked": true, "yanked_reason": "Bad source files uploaded." } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "210d37e2302d94c7a4a1611a06f18f32", "sha256": "1b76bf29694cee4b50e582eb6ee4e3d293793e61ba7dde2b8843e29d04c865a4" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.5.tar.gz", "has_sig": false, "md5_digest": "210d37e2302d94c7a4a1611a06f18f32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4", "size": 488704, "upload_time": "2021-10-28T18:26:34", "upload_time_iso_8601": "2021-10-28T18:26:34.548958Z", "url": "https://files.pythonhosted.org/packages/c2/f0/1fc85a2880293ddddb86a9164d07b61a9d77fb5f46759f7528d8916600f2/pybloomfiltermmap3-0.5.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "210d37e2302d94c7a4a1611a06f18f32", "sha256": "1b76bf29694cee4b50e582eb6ee4e3d293793e61ba7dde2b8843e29d04c865a4" }, "downloads": -1, "filename": "pybloomfiltermmap3-0.5.5.tar.gz", "has_sig": false, "md5_digest": "210d37e2302d94c7a4a1611a06f18f32", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5, <4", "size": 488704, "upload_time": "2021-10-28T18:26:34", "upload_time_iso_8601": "2021-10-28T18:26:34.548958Z", "url": "https://files.pythonhosted.org/packages/c2/f0/1fc85a2880293ddddb86a9164d07b61a9d77fb5f46759f7528d8916600f2/pybloomfiltermmap3-0.5.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }