{ "info": { "author": "JoeZ99", "author_email": "jzarate@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Topic :: Internet :: WWW/HTTP :: Indexing/Search" ], "description": "pydoof\n======\n\nDoofiner Python Client (work in progress)\n\nThis library is a python wrapper for `Doofinder Management API 1`\nand the `Doofinder Search API 4 and 5`\n\nInstallation\n------------\n::\n\n pip install pydoof\n\n\nUsage\n-----\n**Management API**::\n\n import pydoof\n pydoof.API_KEY = 'eu1-s34v2sdfs4werdfsfwclsss'\n\n for se in pydoof.SearchEngine.all():\n print se.name\n accepted, task_id = se.process() # Parse and index the data feed of the Search Engine\n se.process_info() # Get info of the current/most-recent 'process' task\n se.task_info(task_id) # get info of any task\n se.logs() # Get the last logs of the Search Engine\n\n\nYou can also make changes to a specific Search Engine: ::\n\n # Select the SearchEngine with the hashid identificator\n search_engine = pydoof.SearchEngine('abc32sfasdf3vadsfsafass343')\n\n # Get a list of the data types of the SearchEngine\n search_engine.get_types()\n\n # Add a type of data to the SearchEngine\n search_engine.add_type('product')\n\n # Delete a type of data (and all its items) from the SearchEngine\n\n # Get an item of the 'product' type\n item = search_engine.get_item('product', item_id)\n\n # Add an item to the 'product' type\n added_item_id = search_engine.add_item('product', item)\n\n # Add multiple items to the 'product' type\n\n [added_id1, added_id2, added_id3] = search_engine.add_items('product', [item1, item2, item3])\n\n # Delete an item from the 'product' type\n search_engine.delete_item('product', item_id)\n\n # Update or create an item to the 'product' type\n # If item_id does not exist, the item is created\n search_engine.update_item('product', item_id, item)\n\n # Update or create multiple items\n # all items need to have \"id\" property (item1['id'])\n search_engine.update_items('product', [item1, item2, item3])\n\n # Iterate over all items of the 'product' type\n for item in search_engine.items('product'):\n print item.id\n print item.description\n\n # Obtain daily aggregated stats data for a SearchEngine during a period of time\n from_date = datetime.datetime(2016,11,23)\n to_date = datetime.datetime(2016,11,30)\n for aggregate in search_engine.stats(from_date, to_date):\n print aggregate.date # day\n print aggregate.searches # num. of searches\n print aggregate.clicks # num. of clicks on searched results\n print aggregate.requests # total num. of requests to doofinder\n print aggregate.api # num of api requests to doofinder\n print aggregate.queries # num of search requests to doofinder\n print aggregate.parser # num of parse requests(items parsed/100) to doofinder\n\n # Obtain sorted terms frequency for a SearchEngine during a period of time\n from_date = datetime.datetime(2016,11,23)\n to_date = datetime.datetime(2016,11,30)\n\n for clicked_item in search_engine.top_terms('clicked', from_date, to_date):\n print clicked_item.count # number of clicks on the item\n print clicked_item.term # title of the clicked item. i.e. \"Aiwa AI012 portable mp3 player\"\n\n for search_term in search_engine.top_terms('searches', from_date, to_date):\n print search_term.count # pnumber of searches with that term\n print search_term.term # search term. i.e.: \"mp3 player\"\n\n for opportunity in search_engine.top_terms('opportunities', from_date, to_date):\n # 'opportunities' are search with no results\n print opportunity.count # pnumber of searches with that term\n print opportunity.term # search term. i.e.: \"green custom oak\"\n\n\n**Search API** ::\n\n import pydoof\n pydoof.API_KEY = 'eu1-s34v2sdfs4werdfsfwclsss' # mandatory for v5\n\n pydoof.SEARCH_VERSION = 5 # use v5 search. (default is 5)\n\n search_engine = pydoof.SearchEngine('abc32sfasdf3vadsfsafass343')\n\n options = search_engine.get_options() # obtaining options from server. (only v5)\n\n query_response = search_engine.query('test query', 1)\n query_response.total # The total number of results\n query_response.max_score # The maximum score obtained\n query_response.query_name # The query_name used by the search algorithm\n query_response.facets # aggregated data information\n\n for item in query_response.get_items():\n print item.id\n print item.body\n\n # Making queries with filters and a specific query_name\n search_engine.query('test query', 1,\n {\n 'brand': ['nike', 'asics'],\n 'price': {'gte': 2.45, 'lt': 100}\n },\n 'match_and' # the query_name\n )\n\n # Any keyword argument is passed as req parameter\n search_engine.query('test query', rpp=12, lang='pt', transfomer='dflayer')\n\n # Use of the sort parameter\n query_response = search_engine.query(\n query_term='test query',\n sort= [{'namet':'asc'}, {'update_timestamp': 'desc'}])\n\n # You can use lists as keyword arguments, too.\n # The will be translated to repeated req parameters\n search_engine.query('test query', type=['product', 'article'])\n\n\nAPI Documentation\n-----------------\n\n * `Doofinder Search v5 documentation`_\n\n * `Doofinder Management v1 documentation`_\n\n.. _Doofinder Search v4 documentation: http://www.doofinder.com/developer/search-api\n\n.. _Doofinder Management v1 documentation: http://www.doofinder.com/developer/management-api\n\n\nTo Run Tests\n------------\n\nYou need to have `nose` and `HTTPretty` installed.\n\nTo run tests:\n\n$ nosetests", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/doofinder/pydoof", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "PyDoof", "package_url": "https://pypi.org/project/PyDoof/", "platform": "", "project_url": "https://pypi.org/project/PyDoof/", "project_urls": { "Homepage": "https://github.com/doofinder/pydoof" }, "release_url": "https://pypi.org/project/PyDoof/2.5.2/", "requires_dist": null, "requires_python": "", "summary": "Doofinder's search & management API client", "version": "2.5.2" }, "last_serial": 2447518, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "2173a80a16351a4b6823985e8e93c67f", "sha256": "e9c293044a3d53c0afcc370c8756ddcd100c262c9c1f9bb12efd3a92353505cb" }, "downloads": -1, "filename": "PyDoof-1.0.tar.gz", "has_sig": false, "md5_digest": "2173a80a16351a4b6823985e8e93c67f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7569, "upload_time": "2013-09-30T20:33:18", "url": "https://files.pythonhosted.org/packages/af/15/5557f30eb184a5749169934097fc8cc768102fa36fc083e8caac89e38ab3/PyDoof-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0117dcf551f5929bf06d047a899ce646", "sha256": "a01734fa75208f30f631bfef64ced8c66e50c32a04c17366ae8e284f8dac15d8" }, "downloads": -1, "filename": "PyDoof-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0117dcf551f5929bf06d047a899ce646", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7672, "upload_time": "2013-10-11T17:54:02", "url": "https://files.pythonhosted.org/packages/b9/ff/4655a897530d366a3ebbbe8e2b0b4281268df5507cec14b7f9069a516b56/PyDoof-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "21c047942e3a656e80466d596095558a", "sha256": "5ebf2c8bddf432f323c6042a06168c1388384fa45bc81ed3e49560631ba1f715" }, "downloads": -1, "filename": "PyDoof-1.0.2.tar.gz", "has_sig": false, "md5_digest": "21c047942e3a656e80466d596095558a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7686, "upload_time": "2013-10-14T13:38:05", "url": "https://files.pythonhosted.org/packages/93/f6/2df5376f6fc3b0fefd88a1ffb0f3df1b32ccdd5e786b9c14cd8e8e43fb32/PyDoof-1.0.2.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "c22b59172cfabeec1b1ba21bceb995c0", "sha256": "cfa1f5986ba84e2a3f08371716821330cdf19338b43528839e5dc65ce98426a2" }, "downloads": -1, "filename": "PyDoof-1.0.4.tar.gz", "has_sig": false, "md5_digest": "c22b59172cfabeec1b1ba21bceb995c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9026, "upload_time": "2013-10-22T03:02:41", "url": "https://files.pythonhosted.org/packages/68/49/4db6764c1b12deab6aa88ef5ff79ce96756f783229ac11bd880417fa2b66/PyDoof-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "ea56596cf27052d77c67c7ace0ee92e4", "sha256": "26a66d56e16f48502541e894b77fc5fb4ed1961115814714163f2654281dd78b" }, "downloads": -1, "filename": "PyDoof-1.0.5.tar.gz", "has_sig": false, "md5_digest": "ea56596cf27052d77c67c7ace0ee92e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7679, "upload_time": "2014-05-19T16:38:42", "url": "https://files.pythonhosted.org/packages/67/5a/f33100b673ab121949417c474af87ef4d27363267ccfe943483666e02d57/PyDoof-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "24003a44155d308b3a418d95dd9ad03d", "sha256": "ff74e1c2c4fa8c01a5aaf8336d2f61a5abb625b058bb7df4be928bc36f316d99" }, "downloads": -1, "filename": "PyDoof-1.0.6.tar.gz", "has_sig": false, "md5_digest": "24003a44155d308b3a418d95dd9ad03d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7850, "upload_time": "2014-06-11T20:47:29", "url": "https://files.pythonhosted.org/packages/e5/a0/c1416418c2718de0edc774d1e3df6a4594404c8c1bccedca621a2f044566/PyDoof-1.0.6.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "76819274048cdaaf4b39dc0c18adde69", "sha256": "6f589f79562fa6c75da3f05dffb98c4b7eb3f9676b15da527b68cce0920d5d5f" }, "downloads": -1, "filename": "PyDoof-2.0.0.tar.gz", "has_sig": false, "md5_digest": "76819274048cdaaf4b39dc0c18adde69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7794, "upload_time": "2015-03-30T11:38:11", "url": "https://files.pythonhosted.org/packages/0e/58/fd2db0688e17e9a7d76c61970797f60c307ba3ba308d75b321d30b546916/PyDoof-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "f047b9e22553d3e7b8cb8c993669819c", "sha256": "58c823d68d3bf98d03fe09237fd8178eb2f0ba979ca1baaf6d5a6ba37c84e717" }, "downloads": -1, "filename": "PyDoof-2.1.0.tar.gz", "has_sig": false, "md5_digest": "f047b9e22553d3e7b8cb8c993669819c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8057, "upload_time": "2015-05-14T20:04:49", "url": "https://files.pythonhosted.org/packages/4c/09/874fba31ef23c5f3f0cc39e7bc5b3d5edafd9af12bbe0c23b22d27dfa431/PyDoof-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "a1da00afc2ba6557aeac173c43b9e4b4", "sha256": "a2444f946066ed946f8eddd6a43fd3a0541aaa40bbe736070935805202018c77" }, "downloads": -1, "filename": "PyDoof-2.2.0.tar.gz", "has_sig": false, "md5_digest": "a1da00afc2ba6557aeac173c43b9e4b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8224, "upload_time": "2015-06-23T14:59:04", "url": "https://files.pythonhosted.org/packages/b5/3e/82bc335a724fc47867f10217cab7b52bbf498beeb68c9f3ee5a4fb13866d/PyDoof-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "468c5565047e2c824dcb45a28f9e0360", "sha256": "b6bc4a5cfd126a767d40561ed1b8006a63051bc7d2d0eb7504552f5a53ee83ca" }, "downloads": -1, "filename": "PyDoof-2.2.1.tar.gz", "has_sig": false, "md5_digest": "468c5565047e2c824dcb45a28f9e0360", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8218, "upload_time": "2015-07-03T18:36:16", "url": "https://files.pythonhosted.org/packages/ec/92/fef8804e6c2fee296826431c62057114e07a4ce0f4c505d18ad415e804e4/PyDoof-2.2.1.tar.gz" } ], "2.3.1": [ { "comment_text": "", "digests": { "md5": "e464cc144713b3afc78cc05253ad1ae1", "sha256": "f0a6ba744b540d3502d3c0fb62bcda9422a08e030f5d956e22bc0b294f52d111" }, "downloads": -1, "filename": "PyDoof-2.3.1.tar.gz", "has_sig": false, "md5_digest": "e464cc144713b3afc78cc05253ad1ae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8632, "upload_time": "2016-04-13T22:20:41", "url": "https://files.pythonhosted.org/packages/e4/79/bd6b906c7f45168e5fcb0fd0bf3afa3c91e7966e11654cf7c60398a0c579/PyDoof-2.3.1.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "447bd3850e94b770c63e81bcce1ab3ae", "sha256": "32e8c2f766f67d199f84e410b050f89b8a067adcc46dd1d6cb48f30738178919" }, "downloads": -1, "filename": "PyDoof-2.4.0.tar.gz", "has_sig": false, "md5_digest": "447bd3850e94b770c63e81bcce1ab3ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8755, "upload_time": "2016-04-18T16:59:24", "url": "https://files.pythonhosted.org/packages/1f/07/2dd55ddbf0490182712ecc7ff89b53a088fff4a096cb746bc889752ec3b0/PyDoof-2.4.0.tar.gz" } ], "2.4.2": [ { "comment_text": "", "digests": { "md5": "a0e9b889e8c29b0f1a2456b3bf39015f", "sha256": "7cb153f38c2d952cecabd6b73a8e32a28ee43ee857b7db86a7bd164c0aeba927" }, "downloads": -1, "filename": "PyDoof-2.4.2.tar.gz", "has_sig": false, "md5_digest": "a0e9b889e8c29b0f1a2456b3bf39015f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9718, "upload_time": "2016-07-16T23:49:09", "url": "https://files.pythonhosted.org/packages/f6/31/4bf18c9c23afeb528c9eadad90061f8f6354faf1b04ef71b11e485f6df28/PyDoof-2.4.2.tar.gz" } ], "2.4.3": [ { "comment_text": "", "digests": { "md5": "e0d007b892e13be92b00dfac2e20fbac", "sha256": "c1f07bbe9fb7518525d4a30ce709fda0bdb06a2f41a2a61720a29f7c0fae965b" }, "downloads": -1, "filename": "PyDoof-2.4.3.tar.gz", "has_sig": false, "md5_digest": "e0d007b892e13be92b00dfac2e20fbac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9808, "upload_time": "2016-07-18T22:21:59", "url": "https://files.pythonhosted.org/packages/e3/fa/17ff13777cd65f11a0cfe9a1b04d2ff6bfd2a4c1eba1a04389c2c58faa30/PyDoof-2.4.3.tar.gz" } ], "2.4.4": [ { "comment_text": "", "digests": { "md5": "297cc927fe6de32a68798e3660d7901d", "sha256": "8d4fef75034ef8f7084bdd543ec4285d3676f572681da367e13bed32f311538c" }, "downloads": -1, "filename": "PyDoof-2.4.4.tar.gz", "has_sig": false, "md5_digest": "297cc927fe6de32a68798e3660d7901d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9814, "upload_time": "2016-09-22T16:28:30", "url": "https://files.pythonhosted.org/packages/5d/c4/7ec7c1b21b8af3507b533055648a9b5d8bdacde9e3ccccd22904371bd67b/PyDoof-2.4.4.tar.gz" } ], "2.4.5": [ { "comment_text": "", "digests": { "md5": "ec6e79195db7ac9c61fbc93886cde79b", "sha256": "3da50a1674f14dbf52cf6a2726ef47ac3bd271821e161ea86cede60939f251cf" }, "downloads": -1, "filename": "PyDoof-2.4.5.tar.gz", "has_sig": false, "md5_digest": "ec6e79195db7ac9c61fbc93886cde79b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9889, "upload_time": "2016-10-04T05:06:03", "url": "https://files.pythonhosted.org/packages/08/90/e86e78c40278381ee2ae2d4e6b2eec5d10af2407ec19aedb1a19dfa7aa04/PyDoof-2.4.5.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "4811e8ddb178020ff0f3dd7ab95f8bd3", "sha256": "834663ca00f94f4c1efe5819ed3145388821df309d09407530575fc8b3ad121c" }, "downloads": -1, "filename": "PyDoof-2.5.0.tar.gz", "has_sig": false, "md5_digest": "4811e8ddb178020ff0f3dd7ab95f8bd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10035, "upload_time": "2016-11-07T17:02:31", "url": "https://files.pythonhosted.org/packages/af/21/4577de8bcc808ef9ab104b13a5e3fa9d8695a36a180689e74a3725c7c52f/PyDoof-2.5.0.tar.gz" } ], "2.5.2": [ { "comment_text": "", "digests": { "md5": "d9041085a96988af2bf11c72dafa3d85", "sha256": "df56dfbff79aca3b38bd240343244dea63cfc92282fa11efeb54a8ca2a733591" }, "downloads": -1, "filename": "PyDoof-2.5.2.tar.gz", "has_sig": false, "md5_digest": "d9041085a96988af2bf11c72dafa3d85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10042, "upload_time": "2016-11-07T18:29:36", "url": "https://files.pythonhosted.org/packages/61/6a/b72d0ae247851d42e9d8d8a20c517fe5557a446927ff0dae8c53a2bae8cc/PyDoof-2.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d9041085a96988af2bf11c72dafa3d85", "sha256": "df56dfbff79aca3b38bd240343244dea63cfc92282fa11efeb54a8ca2a733591" }, "downloads": -1, "filename": "PyDoof-2.5.2.tar.gz", "has_sig": false, "md5_digest": "d9041085a96988af2bf11c72dafa3d85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10042, "upload_time": "2016-11-07T18:29:36", "url": "https://files.pythonhosted.org/packages/61/6a/b72d0ae247851d42e9d8d8a20c517fe5557a446927ff0dae8c53a2bae8cc/PyDoof-2.5.2.tar.gz" } ] }