{ "info": { "author": "Armon Dadgar", "author_email": "biz@kiip.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: Database", "Topic :: Internet", "Topic :: Software Development :: Libraries" ], "description": "bloom-python-driver\n=========\n\nPybloom provides a Python client library to interface with\nbloomd servers. The library supports multiple bloomd servers,\nand automatically handles filter discovery and sharding.\n\nFeatures\n--------\n\n\n* Provides a simple API for using bloomd\n* Allows for using multiple bloomd servers\n - Auto-discovers filter locations\n - Balance the creation of new filters\n - Explicitly name the location to make filters\n* Command pipelining to reduce latency\n\n\nInstall\n-------\n\nDownload and install from source:\n\n python setup.py install\n\nExample\n------\n\nUsing pybloom is very simple, and is similar to using native sets::\n\n from pybloom import BloomdClient\n\n # Create a client to a local bloomd server, default port\n client = BloomdClient([\"localhost\"])\n\n # Get or create the foobar filter\n foobar = client.create_filter(\"foobar\")\n\n # Set a property and check it exists\n foobar.add(\"Test Key!\")\n assert \"Test Key!\" in foobar\n\nTo support multiple servers, just add multiple servers::\n\n from pybloom import BloomdClient\n\n # Create a client to a multiple bloomd servers, default ports\n client = BloomdClient([\"bloomd1\", \"bloomd2\"])\n\n # Create 4 filters, should be on different machines\n for x in xrange(4):\n client.create_filter(\"test%d\" % x)\n\n # Show which servers the filters are on by\n # specifying the inc_server flag\n print client.list_filters(inc_server=True)\n\n # Use the filters\n client[\"test0\"].add(\"Hi there!\")\n client[\"test1\"].add(\"ZING!\")\n client[\"test2\"].add(\"Chuck Testa!\")\n client[\"test3\"].add(\"Not cool, bro.\")\n\n\nUsing pipelining is straightforward as well::\n\n from pybloom import BloomdClient\n\n # Create a client to a local bloomd server, default port\n client = BloomdClient([\"localhost\"])\n\n # Get or create the foobar filter\n pipe = client.create_filter(\"pipe\").pipeline()\n\n # Chain multiple add commands\n results = pipe.add(\"foo\").add(\"bar\").add(\"baz\").execute()\n assert results[0]\n assert results[1]\n assert results[2]", "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/kiip/bloom-python-driver/", "keywords": "bloom,filter,client,bloomd", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "pybloomd", "package_url": "https://pypi.org/project/pybloomd/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pybloomd/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/kiip/bloom-python-driver/" }, "release_url": "https://pypi.org/project/pybloomd/0.4.6/", "requires_dist": null, "requires_python": null, "summary": "Client library to interface with multiple bloomd servers", "version": "0.4.6" }, "last_serial": 749603, "releases": { "0.4.5": [ { "comment_text": "", "digests": { "md5": "7304b7bb52fa092b07655b9d09f015ce", "sha256": "8588ca16a88d4fa7ee54b32f1fd9247a20ff6e79330406af42c25f37025d64d7" }, "downloads": -1, "filename": "pybloomd-0.4.5.tar.gz", "has_sig": false, "md5_digest": "7304b7bb52fa092b07655b9d09f015ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6270, "upload_time": "2013-05-22T19:13:17", "url": "https://files.pythonhosted.org/packages/8d/55/6804d15cd29c0061277e3f32354d800f87a6323eb3bec6ecda8d55c27aef/pybloomd-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "da6d31e8c63ba158a8a41047faea68cd", "sha256": "7ecac37c47f8361781ed7886fa7ad294b0117d19504f2d5f0fc0648932d4cc70" }, "downloads": -1, "filename": "pybloomd-0.4.6.tar.gz", "has_sig": false, "md5_digest": "da6d31e8c63ba158a8a41047faea68cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6294, "upload_time": "2013-05-22T21:23:54", "url": "https://files.pythonhosted.org/packages/7e/cb/4002e2cba617d3f7b9ca3f12cd5b72a42c62e5c08dfdf362ba0491d35a05/pybloomd-0.4.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da6d31e8c63ba158a8a41047faea68cd", "sha256": "7ecac37c47f8361781ed7886fa7ad294b0117d19504f2d5f0fc0648932d4cc70" }, "downloads": -1, "filename": "pybloomd-0.4.6.tar.gz", "has_sig": false, "md5_digest": "da6d31e8c63ba158a8a41047faea68cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6294, "upload_time": "2013-05-22T21:23:54", "url": "https://files.pythonhosted.org/packages/7e/cb/4002e2cba617d3f7b9ca3f12cd5b72a42c62e5c08dfdf362ba0491d35a05/pybloomd-0.4.6.tar.gz" } ] }