{ "info": { "author": "Lincoln de Sousa, Nitya Oberoi", "author_email": "lincoln@yipit.com, nitya@yipit.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: English", "Operating System :: Microsoft", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3" ], "description": "# elasticfun\n\nA small set of tools to make it easier and fun to use pyelasticsearch.\nOur main goals here are:\n\n * Provide an easy and consistent way to build queries\n * Hook up a connection manager to the django settings system\n \nSome of our long term goals\n\n * An API to declare indexes and fields\n * A set of commands to manage (update, rebuild, clean) indexes\n\n## The Query object\n\nThis API aims to give you a pleasant way to build even complex queries\nfor elasticsearch. The following snippet demonstrates how it works:\n\n```python\n>>> from elasticfun import Query\n>>> query = (Query('fitness') & (Query(category='Accessories') | Query(category='Sport Wear')))\n>>> str(query)\n'(\"fitness\" AND (category:\"Accessories\" OR category:\"Sport Wear\"))'\n```\n\n### Search words on query objects\n\nThe main constructor of the `Query` object receives only one expression\nat once, which means that if you need to combine different words/fields\nto build your query, you will have to use different instances of this\nobject. Which means that this:\n\n```python\n>>> from elasticfun import Query\n>>> str(Query('ice cream'))\n'\"ice cream\"'\n```\n\nIs completely different from this:\n\n```python\n>>> from elasticfun import Query\n>>> str(Query('ice') & Query('cream'))\n'(\"ice\" AND \"cream\")'\n```\n\nAnd completely different from this:\n\n```python\n>>> from elasticfun import Query\n>>> str(Query('ice') | Query('cream'))\n'(\"ice\" OR \"cream\")'\n```\n\n### Building a query from user input\n\nThe above API is meant to be used by programmers to build queries\ndynamically through code. But as we know, a very common case for a query\nbuilder object is to receive user input e.g. from a search box.\n\n```python\n>>> from elasticfun import Query\n>>> str(Query.from_user_input('ice cream'))\n'(\"ice\" AND \"cream\")'\n```\n\nBut, also you can change the default operator for the same operation to\nget a result like this:\n\n```python\n>>> from elasticfun import Query\n>>> str(Query.from_user_input('ice cream', default_op='OR'))\n'(\"ice\" OR \"cream\")'\n```\n\n## Test coverage\n\nThe very first line of this library was a unit-test, it was completely\nwritten under the TDD concepts and we're planning to keep it that way.\nIf you're willing to send a patch to our humble project, please ensure\nthat the coverage won't decrease at all.\n\nAlso, I strongly suggest you to start your proposed feature or bug fix\nby writing the tests. It will certainly decrease the complexity of the\nactual code and thus improve it's quality.", "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/Yipit/elasticfun", "keywords": null, "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "elasticfun", "package_url": "https://pypi.org/project/elasticfun/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/elasticfun/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Yipit/elasticfun" }, "release_url": "https://pypi.org/project/elasticfun/0.3.3/", "requires_dist": null, "requires_python": null, "summary": "ElasticSearch Query functionality using Django", "version": "0.3.3" }, "last_serial": 977587, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4cc9a3e7fc16f5ed1aa152cca5ded765", "sha256": "857cec82438ed4ff9a5838aba072de58774f985d745cd176a077a3fd9de4f429" }, "downloads": -1, "filename": "elasticfun-0.0.1.tar.gz", "has_sig": false, "md5_digest": "4cc9a3e7fc16f5ed1aa152cca5ded765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7553, "upload_time": "2013-03-20T00:17:50", "url": "https://files.pythonhosted.org/packages/72/17/8131249cfade8c419494e78143cd975206388dd908d7012468d324240d10/elasticfun-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "82a74af6f07a3543fd3d64384434cb1f", "sha256": "b88a3f93d94f17b569d1d26e206a0a3d00462320c77af59454aa73c8fd86a526" }, "downloads": -1, "filename": "elasticfun-0.0.2.tar.gz", "has_sig": false, "md5_digest": "82a74af6f07a3543fd3d64384434cb1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7557, "upload_time": "2013-03-25T20:16:31", "url": "https://files.pythonhosted.org/packages/73/8f/cdef39b086f642ebb73d214f000b6d161ecc3c074db6025d67fcca1c971a/elasticfun-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "9bcc2ff612c2a45271d125afd9efd439", "sha256": "a7cfe8b9e069ccb89f6d669e2bb28a5ccc359a940327527d64040c1135456086" }, "downloads": -1, "filename": "elasticfun-0.1.0.tar.gz", "has_sig": false, "md5_digest": "9bcc2ff612c2a45271d125afd9efd439", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8638, "upload_time": "2013-03-26T21:07:17", "url": "https://files.pythonhosted.org/packages/72/86/44c419db5e77ea734154c76a5b931c02d91e81a2d7aa1f302be0976e62eb/elasticfun-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c2871cbf02d2e8eecf312322357ee985", "sha256": "7755eb57575819296ed31942c1f4e911ce31db035ffcaae981516e9bd34282f6" }, "downloads": -1, "filename": "elasticfun-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c2871cbf02d2e8eecf312322357ee985", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8633, "upload_time": "2013-03-27T15:28:45", "url": "https://files.pythonhosted.org/packages/3d/6c/6418d63e96a40eafbd6237868e6059548db5b1dffa02a7a61bbe6553fcd5/elasticfun-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "41d1a6bbc22c90842d13a4779ec4c7f8", "sha256": "5cc9e48eaad8536df7cace36e6cf38ac97c916fc0d7ade701cf3c1e72a68c9f5" }, "downloads": -1, "filename": "elasticfun-0.1.2.tar.gz", "has_sig": false, "md5_digest": "41d1a6bbc22c90842d13a4779ec4c7f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8649, "upload_time": "2013-03-27T23:04:15", "url": "https://files.pythonhosted.org/packages/ef/20/82386c09c38bdecd202850425d2cdbbb060a63cdec2853f8f9378ec459cd/elasticfun-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c1c7f48b52d823fdb2ea034e019740d2", "sha256": "2894bbff878b5318e998dec2e3a4e81ebbf022a7e5591296baaaabaf00ea3018" }, "downloads": -1, "filename": "elasticfun-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c1c7f48b52d823fdb2ea034e019740d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8707, "upload_time": "2013-04-02T17:02:09", "url": "https://files.pythonhosted.org/packages/f9/3d/670ed39d2aac41e4972f058802c6d152722cc714aebc08f589fbca47b6b2/elasticfun-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "ef56a485daaff4b50eb8920b3f99ca5e", "sha256": "df1261171fa8231db2da1c20ea6dc534091b1d549f6c84e4d4b68d3fe37751b0" }, "downloads": -1, "filename": "elasticfun-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ef56a485daaff4b50eb8920b3f99ca5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8855, "upload_time": "2013-04-09T15:21:39", "url": "https://files.pythonhosted.org/packages/d7/91/de461997f92496b409d182c2f2279512d4b331510d8fbd591f655afa9c4f/elasticfun-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "710b29db392c50cf9ef4892e4f80d1c5", "sha256": "9494711095724174ac69388627c3fb25e684d3a2b28f94c399939d65f6698f8f" }, "downloads": -1, "filename": "elasticfun-0.2.0.tar.gz", "has_sig": false, "md5_digest": "710b29db392c50cf9ef4892e4f80d1c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10105, "upload_time": "2013-04-12T14:37:47", "url": "https://files.pythonhosted.org/packages/19/52/82558db0395a1087deb8e2dd1ddf3834beed03213ed55896d27739cf5483/elasticfun-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "6b51acd8ed2521596fabdbd07ecefb7c", "sha256": "8d1cace0f1c21d4df76a31f3f1e765690a56ad8bb856aefc7c258e8cc43e52b1" }, "downloads": -1, "filename": "elasticfun-0.2.1.tar.gz", "has_sig": false, "md5_digest": "6b51acd8ed2521596fabdbd07ecefb7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10112, "upload_time": "2013-04-12T15:55:58", "url": "https://files.pythonhosted.org/packages/57/01/517ee4f94b9a8c5dabf8fbf9ae04e8a23693c3c243deedfa3f2eab0e4f2b/elasticfun-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "34b606abe566a9e83e04a5d1697751fe", "sha256": "63c4feee210f72beb7ef8dd209343bcd5c1505f1e9221e472f6b2eb52b483038" }, "downloads": -1, "filename": "elasticfun-0.2.2.tar.gz", "has_sig": false, "md5_digest": "34b606abe566a9e83e04a5d1697751fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10108, "upload_time": "2013-04-12T19:02:33", "url": "https://files.pythonhosted.org/packages/b8/35/fd20797fbb6925e88a3bf0369e36bdccd51147ed50ea150bde6bc4577680/elasticfun-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "d4f6561bc1d6cae3a7d25ca2bce6ea92", "sha256": "b9b8043bcacf5d7ea9710e16a7bc3ce74b7f8c02a0b8d27ca92b7bd2babe2a62" }, "downloads": -1, "filename": "elasticfun-0.3.0.tar.gz", "has_sig": false, "md5_digest": "d4f6561bc1d6cae3a7d25ca2bce6ea92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10310, "upload_time": "2013-04-26T18:43:03", "url": "https://files.pythonhosted.org/packages/96/23/c287447e8131b30123dc8c2948f409e83f468217d7fa91deed8d8f361237/elasticfun-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "9e0fc1afe442d71691031ff594d2e158", "sha256": "0a95d6bcb879cced00d2049a8f16c7c079b59e3c7df6118c8f022d7fdb79ebeb" }, "downloads": -1, "filename": "elasticfun-0.3.1.tar.gz", "has_sig": false, "md5_digest": "9e0fc1afe442d71691031ff594d2e158", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10325, "upload_time": "2013-04-30T21:17:14", "url": "https://files.pythonhosted.org/packages/ca/0c/cab754d46c0eaf568692c620690a1c2f2523870fd27132777439f5eb0c94/elasticfun-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "b34382f4d59da3af4d648a0b9f45ccd1", "sha256": "552103fe89669e9e43deac15a12a66865511ffbd1b3c80d3d29953ba576bc50e" }, "downloads": -1, "filename": "elasticfun-0.3.2.tar.gz", "has_sig": false, "md5_digest": "b34382f4d59da3af4d648a0b9f45ccd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10340, "upload_time": "2013-06-11T17:50:23", "url": "https://files.pythonhosted.org/packages/1e/24/83904d1cba359372ec61edcf4d377cc157a52e661e9ad70a9336df7ef173/elasticfun-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "c376d9baa9c187261d42aea661ab8610", "sha256": "f997a00dfd2e50fa4c4f13e7b66e64b16a9a3021a7d282f9feb071b68f2a65a7" }, "downloads": -1, "filename": "elasticfun-0.3.3.tar.gz", "has_sig": false, "md5_digest": "c376d9baa9c187261d42aea661ab8610", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10387, "upload_time": "2013-11-14T19:49:19", "url": "https://files.pythonhosted.org/packages/47/88/88445666495cd24468f921e3a3b0416969ac5bf896c48128d8be2a4f767f/elasticfun-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c376d9baa9c187261d42aea661ab8610", "sha256": "f997a00dfd2e50fa4c4f13e7b66e64b16a9a3021a7d282f9feb071b68f2a65a7" }, "downloads": -1, "filename": "elasticfun-0.3.3.tar.gz", "has_sig": false, "md5_digest": "c376d9baa9c187261d42aea661ab8610", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10387, "upload_time": "2013-11-14T19:49:19", "url": "https://files.pythonhosted.org/packages/47/88/88445666495cd24468f921e3a3b0416969ac5bf896c48128d8be2a4f767f/elasticfun-0.3.3.tar.gz" } ] }