{ "info": { "author": "Swiftype", "author_email": "eng@swiftype.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "

\"Elastic

\n\n> **\u26a0\ufe0f This repository is deprecated \u26a0\ufe0f**\n>\n> **Please visit [https://github.com/elastic/app-search-python](https://github.com/elastic/app-search-python) for the up to date version. Thank you! - Elastic**\n\n

\n\"GitHub

\n\n> A first-party Python client for building excellent, relevant search experiences with [Elastic App Search](https://www.elastic.co/cloud/app-search-service).\n\n## Contents\n\n+ [Getting started](#getting-started-)\n+ [Dependencies](#dependencies)\n+ [Usage](#usage)\n+ [Running tests](#running-tests)\n+ [FAQ](#faq-)\n+ [Contribute](#contribute-)\n+ [License](#license-)\n\n***\n\n## Getting started \ud83d\udc23\n\nTo install the client, use pip:\n\n```python\npython -m pip install swiftype_app_search\n```\n\nYou can also download the project source and run::\n\n```python\npython setup.py install\n```\n\n## Dependencies\n\n+ Python 2.7 / Python 3.3\n+ [Requests](https://github.com/requests/requests)\n+ [PyJWT](https://github.com/jpadilla/pyjwt)\n\n## Usage\n\n### Instantiating a client\n\n```python\n>>> from swiftype_app_search import Client\n>>> host_identifier = 'host-c5s2mj'\n>>> api_key = 'private-mu75psc5egt9ppzuycnc2mc3'\n>>> client = Client(host_identifier, api_key)\n```\n\n### Using with App Search Managed Deploys\n\nThe client can be configured to use a managed deploy by adjusting the `base_endpoint` and `use_https` parameters. Since managed deploys do not rely on a `host_identifier`, it can be omitted.\n\n```python\n>>> from swiftype_app_search import Client\n>>> client = Client(\n api_key='private-mu75psc5egt9ppzuycnc2mc3',\n base_endpoint='localhost:3002/api/as/v1',\n use_https=False\n)\n```\n\n### Indexing: Creating or Updating a Single Document\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> document = {\n 'id': 'INscMGmhmX4',\n 'url': 'https://www.youtube.com/watch?v=INscMGmhmX4',\n 'title': 'The Original Grumpy Cat',\n 'body': 'A wonderful video of a magnificent cat.'\n }\n>>> client.index_document(engine_name, document)\n{'id': 'INscMGmhmX4'}\n```\n\n### Indexing: Creating or Updating Multiple Documents\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> documents = [\n {\n 'id': 'INscMGmhmX4',\n 'url': 'https://www.youtube.com/watch?v=INscMGmhmX4',\n 'title': 'The Original Grumpy Cat',\n 'body': 'A wonderful video of a magnificent cat.'\n },\n {\n 'id': 'JNDFojsd02',\n 'url': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',\n 'title': 'Another Grumpy Cat',\n 'body': 'A great video of another cool cat.'\n }\n]\n\n>>> client.index_documents(engine_name, documents)\n[{'id': 'INscMGmhmX4', 'errors': []}, {'id': 'JNDFojsd02', 'errors': []}]\n```\n\n### Indexing: Updating documents (Partial Updates)\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> documents = [\n {\n 'id': 'INscMGmhmX4',\n 'title': 'Updated title'\n }\n]\n\n>>> client.update_documents(engine_name, documents)\n```\n\n### Get Documents\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> client.get_documents(engine_name, ['INscMGmhmX4'])\n[{'id': 'INscMGmhmX4','url': 'https://www.youtube.com/watch?v=INscMGmhmX4','title': 'The Original Grumpy Cat','body': 'A wonderful video of a magnificent cat.'}]\n```\n\n### List Documents\n```python\n>>> engine_name = 'favorite-videos'\n>>> client.list_documents(engine_name, current=1, size=20)\n{\n 'meta': {\n 'page': {\n 'current': 1,\n 'total_pages': 1,\n 'total_results': 2,\n 'size': 20\n }\n },\n 'results': [{'id': 'INscMGmhmX4','url': 'https://www.youtube.com/watch?v=INscMGmhmX4','title': 'The Original Grumpy Cat','body': 'A wonderful video of a magnificent cat.'}]\n}\n```\n\n### Destroy Documents\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> client.destroy_documents(engine_name, ['INscMGmhmX4'])\n[{'id': 'INscMGmhmX4','result': True}]\n```\n\n### Get Schema\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> client.get_schema(engine_name)\n{'name':'text', 'square_km': 'number', 'square_mi': 'text'}\n```\n\n### Create/Update Schema\n\n```python\n>>> engine_name = 'favorite-videos'\n>>> client.update_schema(engine_name, {'square_km': 'text'})\n{'square_km': 'text'}\n>>> client.update_schema(engine_name, {'square_mi': 'text'})\n{'square_km': 'text', 'square_mi': 'text'}\n>>> client.update_schema(engine_name, {'square_km': 'number'})\n{'square_km': 'number', 'square_mi': 'text'}\n```\n\n### List Engines\n\n```python\n>>> client.list_engines(current=1, size=20)\n{\n 'meta': {\n 'page': {\n 'current': 1,\n 'total_pages': 1,\n 'total_results': 2,\n 'size': 20\n }\n },\n 'results': [{'name': 'favorite-videos'}, {'name': 'another-engine'}]\n}\n```\n\n### Get an Engine\n\n```python\n>>> client.get_engine('favorite-videos')\n{'name': 'favorite-videos'}\n```\n\n### Create an Engine\n\n```python\n>>> client.create_engine('favorite-videos', 'en')\n{'name': 'favorite-videos', 'type': 'default', 'language': 'en'}\n```\n\n### Destroy an Engine\n\n```python\n>>> client.destroy_engine('favorite-videos')\n{'deleted': True}\n```\n\n### Searching\n\n```python\n>>> client.search('favorite-videos', 'grumpy cat', {})\n{'meta': {'page': {'current': 1, 'total_pages': 1, 'total_results': 2, 'size': 10}, ...}, 'results': [...]}\n```\n\n### Multi-Search\n\n```python\n>>> client.multi_search('favorite-videos', [{\n 'query': 'cat',\n 'options': { 'search_fields': { 'title': {} }}\n},{\n 'query': 'dog',\n 'options': { 'search_fields': { 'body': {} }}\n}])\n[{'meta': {...}, 'results': [...]}, {'meta': {...}, 'results': [...]}]\n```\n\n### Query Suggestion\n\n```python\n>>> client.query_suggestion('favorite-videos', 'cat', {\n 'size': 10,\n 'types': {\n 'documents': {\n 'fields': ['title']\n }\n }\n})\n{'results': {'documents': [{'suggestion': 'cat'}]}, 'meta': {'request_id': '390be384ad5888353e1b32adcfaaf1c9'}}\n```\n\n### Clickthrough Tracking\n\n```python\n>>> client.click(engine_name, {'query': 'cat', 'document_id': 'INscMGmhmX4'})\n```\n\n\n### Create a Signed Search Key\n\nCreating a search key that will only search over the body field.\n\n```python\n>>> api_key = 'private-mu75psc5egt9ppzuycnc2mc3'\n>>> api_key_name = 'my-api-token'\n>>> signed_search_key = Client.create_signed_search_key(api_key, api_key_name, {'search_fields': { 'body': {}}})\n>>> client = Client(host_identifier, signed_search_key)\n```\n\n## Running tests\n\n```python\npython setup.py test\n```\n\n## FAQ \ud83d\udd2e\n\n### Where do I report issues with the client?\n\nIf something is not working as expected, please open an [issue](https://github.com/swiftype/swiftype-app-search-python/issues/new).\n\n### Where can I learn more about App Search?\n\nYour best bet is to read the [documentation](https://swiftype.com/documentation/app-search).\n\n### Where else can I go to get help?\n\nYou can checkout the [Elastic App Search community discuss forums](https://discuss.elastic.co/c/app-search).\n\n## Contribute \ud83d\ude80\n\nWe welcome contributors to the project. Before you begin, a couple notes:\n\n+ Prior to opening a pull request, please create an issue to [discuss the scope of your proposal](https://github.com/swiftype/swiftype-app-search-python/issues).\n+ Please write simple code and concise documentation, when appropriate.\n\n## License \ud83d\udcd7\n\n[MIT](https://github.com/swiftype/swiftype-app-search-python/blob/master/LICENSE.txt) \u00a9 [Elastic](https://github.com/elastic)\n\nThank you to all the [contributors](https://github.com/swiftype/swiftype-app-search-python/graphs/contributors)!", "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/swiftype/swiftype-app-search-python", "keywords": "swiftype elastic app search api", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "swiftype-app-search", "package_url": "https://pypi.org/project/swiftype-app-search/", "platform": "", "project_url": "https://pypi.org/project/swiftype-app-search/", "project_urls": { "Homepage": "https://github.com/swiftype/swiftype-app-search-python" }, "release_url": "https://pypi.org/project/swiftype-app-search/0.6.2/", "requires_dist": null, "requires_python": "", "summary": "A Deprecated API client for Swiftype App Search - Use new elastic-app-search package instead.", "version": "0.6.2", "yanked": false, "yanked_reason": null }, "last_serial": 6019990, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "f3f0b90142bc0eeba2ebbc29d330ef39", "sha256": "ca362abd1bb47a9c31a57ab6f7609164dc347ac78a778a1fc2f78b368eb68dc8" }, "downloads": -1, "filename": "swiftype_app_search-0.1.0-py2.7.egg", "has_sig": false, "md5_digest": "f3f0b90142bc0eeba2ebbc29d330ef39", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 10982, "upload_time": "2018-03-09T00:17:01", "upload_time_iso_8601": "2018-03-09T00:17:01.027117Z", "url": "https://files.pythonhosted.org/packages/af/75/a99c9850814c5b68df150022ddc9bd12dce571a5f8091690a79350d99796/swiftype_app_search-0.1.0-py2.7.egg", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6f8ada8792f659e0fc87fc7379ba66ac", "sha256": "f8244a51a2145b21e6b75b0c2e484e25d76360e9931c8c0dc93ff901b649e91a" }, "downloads": -1, "filename": "swiftype_app_search-0.1.0.tar.gz", "has_sig": false, "md5_digest": "6f8ada8792f659e0fc87fc7379ba66ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5720, "upload_time": "2018-03-09T00:17:02", "upload_time_iso_8601": "2018-03-09T00:17:02.138358Z", "url": "https://files.pythonhosted.org/packages/d9/22/5a22b7f37f532ebb3a685df90c2514fcde19599002e8a9df03ea1788054c/swiftype_app_search-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f41a73212b5d5e22eea963e2b378df75", "sha256": "5539c116585ce91d64e85495441d4a90a7dcd2714ba9458c70fe6a70127c724d" }, "downloads": -1, "filename": "swiftype_app_search-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f41a73212b5d5e22eea963e2b378df75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5934, "upload_time": "2018-04-24T21:07:03", "upload_time_iso_8601": "2018-04-24T21:07:03.361668Z", "url": "https://files.pythonhosted.org/packages/e6/d3/819a27b2dacd7c4ae09eaeb491634630d024729a8e6f119dc7386aea740e/swiftype_app_search-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "746c14fe3a0caa74cdce5feb11cdcb45", "sha256": "f86f4cc4345e2fbe4526f8641897895ff48a0d989adad7d0a10a0ff3fd8e38ea" }, "downloads": -1, "filename": "swiftype_app_search-0.1.3.tar.gz", "has_sig": false, "md5_digest": "746c14fe3a0caa74cdce5feb11cdcb45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5788, "upload_time": "2018-05-16T00:01:43", "upload_time_iso_8601": "2018-05-16T00:01:43.189166Z", "url": "https://files.pythonhosted.org/packages/33/30/d31b77fd43540340f0640b9b72c022699725a65167fc88867b1a1043e976/swiftype_app_search-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a2df6da9d89a33b2c58b1216e06b9820", "sha256": "e3eadfed3c9776c7f53d1b7fbb80baf8b2e13b27bf677213627722d950f4c69b" }, "downloads": -1, "filename": "swiftype_app_search-0.1.4.tar.gz", "has_sig": false, "md5_digest": "a2df6da9d89a33b2c58b1216e06b9820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5808, "upload_time": "2018-05-21T20:32:00", "upload_time_iso_8601": "2018-05-21T20:32:00.912966Z", "url": "https://files.pythonhosted.org/packages/d1/09/29f1ac4560d0902a88b3b1c4d173ab2bd728d12681a5fffd0d91430ecd03/swiftype_app_search-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "af52cbbfb1971a6eb1c5a03908edd069", "sha256": "2ff03b26a0a83d48b1ca4bd066c337fdb1573297f52e1ba7fbeab38d2914db6f" }, "downloads": -1, "filename": "swiftype_app_search-0.2.0.tar.gz", "has_sig": false, "md5_digest": "af52cbbfb1971a6eb1c5a03908edd069", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5885, "upload_time": "2018-06-29T16:31:35", "upload_time_iso_8601": "2018-06-29T16:31:35.672348Z", "url": "https://files.pythonhosted.org/packages/1a/67/717ac018c585b9bcf91fa2a2030d7544eaa391c2fbb930168b57e1f7099e/swiftype_app_search-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b05c1247af0adb2e36c97d587ba7d1a0", "sha256": "049ac56a455f1a4f68f458394c843bf13b4dea13cac0744db31df4ca5d181f72" }, "downloads": -1, "filename": "swiftype_app_search-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b05c1247af0adb2e36c97d587ba7d1a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5943, "upload_time": "2018-07-12T14:17:03", "upload_time_iso_8601": "2018-07-12T14:17:03.469785Z", "url": "https://files.pythonhosted.org/packages/e0/13/29ec98d14335051c25b979645e35e1ee48e0873054d80d10d8c128fabeae/swiftype_app_search-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3c27fbf38a306d1aa11282dd351d99ed", "sha256": "245378a56287cb36d2165b559b62871b2f09fe2ec49de0c4d251c848cf9229a5" }, "downloads": -1, "filename": "swiftype_app_search-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3c27fbf38a306d1aa11282dd351d99ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6127, "upload_time": "2018-11-28T20:32:14", "upload_time_iso_8601": "2018-11-28T20:32:14.879829Z", "url": "https://files.pythonhosted.org/packages/77/36/67f47ce9cbd53b8b105d2d61a10d8703754a5c0f3257f3d927b94ac5cf24/swiftype_app_search-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "98f41e68802c5e96dfa554266f35ea2e", "sha256": "cee7bc3c1484556ce3492121cd306c1ac419d18d7e9af58810cecab8da659155" }, "downloads": -1, "filename": "swiftype_app_search-0.5.0.tar.gz", "has_sig": false, "md5_digest": "98f41e68802c5e96dfa554266f35ea2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8330, "upload_time": "2019-02-05T15:29:49", "upload_time_iso_8601": "2019-02-05T15:29:49.242182Z", "url": "https://files.pythonhosted.org/packages/42/83/9b63cf931905114cae8cab461e54fe724a898e8f2020484b137214cb8095/swiftype_app_search-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "00fd9f7e92d679be1e0b0f97f6078421", "sha256": "3386a8e401feb5bf3328ad054e0909cc0a9d53cd3832354ba6da92d10419b85c" }, "downloads": -1, "filename": "swiftype_app_search-0.6.0.tar.gz", "has_sig": false, "md5_digest": "00fd9f7e92d679be1e0b0f97f6078421", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8747, "upload_time": "2019-07-22T20:35:52", "upload_time_iso_8601": "2019-07-22T20:35:52.015015Z", "url": "https://files.pythonhosted.org/packages/8d/37/6d7368eb122cefe9bff0ef72e24f163be76c2a3ea5ae8aae02a5c934de41/swiftype_app_search-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "81c50fbd044dc63d412852fbc2ec859a", "sha256": "0f02817440988acb85fcaef7259c8a56aa93c43190c5482a641dc45e9696631d" }, "downloads": -1, "filename": "swiftype_app_search-0.6.1.tar.gz", "has_sig": false, "md5_digest": "81c50fbd044dc63d412852fbc2ec859a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8963, "upload_time": "2019-09-04T18:20:53", "upload_time_iso_8601": "2019-09-04T18:20:53.925068Z", "url": "https://files.pythonhosted.org/packages/5e/25/15267adcaea3e1c718789aebef0dbd8cfd0609d736dfe046b44705577cd6/swiftype_app_search-0.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "a1990c34e73f557c08a19dd44ff15095", "sha256": "d830e42b229374ea11490986de4ef3b572c332daa9e0fba5095cdbfb301d9057" }, "downloads": -1, "filename": "swiftype_app_search-0.6.2.tar.gz", "has_sig": false, "md5_digest": "a1990c34e73f557c08a19dd44ff15095", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8971, "upload_time": "2019-09-04T19:01:07", "upload_time_iso_8601": "2019-09-04T19:01:07.101534Z", "url": "https://files.pythonhosted.org/packages/68/b4/595939b06f0f5cee6d3fdbdda3f2cf3c46d23c9ce2246a6972e3a4e98f02/swiftype_app_search-0.6.2.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1990c34e73f557c08a19dd44ff15095", "sha256": "d830e42b229374ea11490986de4ef3b572c332daa9e0fba5095cdbfb301d9057" }, "downloads": -1, "filename": "swiftype_app_search-0.6.2.tar.gz", "has_sig": false, "md5_digest": "a1990c34e73f557c08a19dd44ff15095", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8971, "upload_time": "2019-09-04T19:01:07", "upload_time_iso_8601": "2019-09-04T19:01:07.101534Z", "url": "https://files.pythonhosted.org/packages/68/b4/595939b06f0f5cee6d3fdbdda3f2cf3c46d23c9ce2246a6972e3a4e98f02/swiftype_app_search-0.6.2.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }