{ "info": { "author": "Algolia Team", "author_email": "support@algolia.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP" ], "description": "\n# Algolia Search API Client for Django\n\n[Algolia Search](https://www.algolia.com) is a hosted search engine capable of delivering real-time results from the first keystroke.\n\n[![Build Status](https://travis-ci.org/algolia/algoliasearch-django.svg?branch=master)](https://travis-ci.org/algolia/algoliasearch-django)\n[![Coverage Status](https://coveralls.io/repos/algolia/algoliasearch-django/badge.svg?branch=master)](https://coveralls.io/r/algolia/algoliasearch-django)\n[![PyPI version](https://badge.fury.io/py/algoliasearch-django.svg?branch=master)](http://badge.fury.io/py/algoliasearch-django)\n\n\nThis package lets you easily integrate the Algolia Search API to your [Django](https://www.djangoproject.com/) project. It's based on the [algoliasearch-client-python](https://github.com/algolia/algoliasearch-client-python) package.\n\nYou might be interested in this sample Django application providing a typeahead.js based auto-completion and Google-like instant search: [algoliasearch-django-example](https://github.com/algolia/algoliasearch-django-example)\n\nCompatible with **Python 2.7**, **Python 3.4+** and **Django 1.7+**\n\n\n\n## API Documentation\n\nYou can find the full reference on [Algolia's website](https://www.algolia.com/doc/framework-integration/django/).\n\n\n\n1. **[Setup](#setup)**\n * [Introduction](#introduction)\n * [Install](#install)\n * [Setup](#setup)\n * [Quick Start](#quick-start)\n\n1. **[Commands](#commands)**\n * [Commands](#commands)\n\n1. **[Search](#search)**\n * [Search](#search)\n\n1. **[Geo-Search](#geo-search)**\n * [Geo-Search](#geo-search)\n\n1. **[Tags](#tags)**\n * [Tags](#tags)\n\n1. **[Options](#options)**\n * [Custom objectID](#custom-codeobjectidcode)\n * [Custom index name](#custom-index-name)\n * [Field Preprocessing and Related objects](#field-preprocessing-and-related-objects)\n * [Index settings](#index-settings)\n * [Restrict indexing to a subset of your data](#restrict-indexing-to-a-subset-of-your-data)\n * [Multiple indices per model](#multiple-indices-per-model)\n * [Temporarily disable the auto-indexing](#temporarily-disable-the-auto-indexing)\n\n1. **[Tests](#tests)**\n * [Run Tests](#run-tests)\n\n\n\n\n# Setup\n\n\n\n## Introduction\n\nThis package lets you easily integrate the Algolia Search API to your [Django](https://www.djangoproject.com/) project. It's based on the [algoliasearch-client-python](https://github.com/algolia/algoliasearch-client-python) package.\n\nYou might be interested in this sample Django application providing a typeahead.js based auto-completion and Google-like instant search: [algoliasearch-django-example](https://github.com/algolia/algoliasearch-django-example)\n\nCompatible with **Python 2.7**, **Python 3.4+** and **Django 1.7+**\n\n## Install\n\n```sh\npip install algoliasearch-django\n```\n\n## Setup\n\nIn your Django settings, add `algoliasearch_django` to `INSTALLED_APPS` and add these two settings:\n\n```python\nALGOLIA = {\n 'APPLICATION_ID': 'MyAppID',\n 'API_KEY': 'MyApiKey'\n}\n```\n\nThere are several optional settings:\n\n* `INDEX_PREFIX`: prefix all indices. Use it to separate different applications, like `site1_Products` and `site2_Products`.\n* `INDEX_SUFFIX`: suffix all indices. Use it to differentiate development and production environments, like `Location_dev` and `Location_prod`.\n* `AUTO_INDEXING`: automatically synchronize the models with Algolia (default to **True**).\n* `RAISE_EXCEPTIONS`: raise exceptions on network errors instead of logging them (default to **settings.DEBUG**).\n\n## Quick Start\n\nCreate an `index.py` inside each application that contains the models you want to index.\nInside this file, call `algoliasearch.register()` for each of the models you want to index:\n\n```python\n# index.py\n\nimport algoliasearch_django as algoliasearch\n\nfrom .models import YourModel\n\nalgoliasearch.register(YourModel)\n```\n\nBy default, all the fields of your model will be used. You can configure the index by creating a subclass of `AlgoliaIndex` and using the `register` decorator:\n\n```python\n# index.py\n\nfrom algoliasearch_django import AlgoliaIndex\nfrom algoliasearch_django.decorators import register\n\nfrom .models import YourModel\n\n@register(YourModel)\nclass YourModelIndex(AlgoliaIndex):\n fields = ('name', 'date')\n geo_field = 'location'\n settings = {'searchableAttributes': ['name']}\n index_name = 'my_index'\n\n```\n\n\n\n# Commands\n\n\n\n## Commands\n\n* `python manage.py algolia_reindex`: reindex all the registered models. This command will first send all the record to a temporary index and then moves it.\n * you can pass ``--model`` parameter to reindex a given model\n* `python manage.py algolia_applysettings`: (re)apply the index settings.\n* `python manage.py algolia_clearindex`: clear the index\n\n\n\n# Search\n\n\n\n## Search\n\nWe recommend using our [InstantSearch.js library](https://www.algolia.com/doc/guides/building-search-ui/what-is-instantsearch/js/) to build your search\ninterface and perform search queries directly from the end-user browser without going through your server.\n\nHowever, if you want to search from your backend you can use the `raw_search(YourModel, 'yourQuery', params)` method.\nIt retrieves the raw JSON answer from the API, and accepts in `param` any\n[search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/).\n\n```python\nfrom algoliasearch_django import raw_search\n\nparams = { \"hitsPerPage\": 5 }\nresponse = raw_search(Contact, \"jim\", params)\n```\n\n\n\n# Geo-Search\n\n\n\n## Geo-Search\n\nUse the `geo_field` attribute to localize your record. `geo_field` should be a callable that returns a tuple (latitude, longitude).\n\n```python\nclass Contact(models.model):\n name = models.CharField(max_lenght=20)\n lat = models.FloatField()\n lng = models.FloatField()\n\n def location(self):\n return (self.lat, self.lng)\n\nclass ContactIndex(AlgoliaIndex):\n fields = 'name'\n geo_field = 'location'\n\nalgoliasearch.register(Contact, ContactIndex)\n```\n\n\n\n# Tags\n\n\n\n## Tags\n\nUse the `tags` attributes to add tags to your record. It can be a field or a callable.\n\n```python\nclass ArticleIndex(AlgoliaIndex):\n tags = 'category'\n```\n\nAt query time, specify `{ tagFilters: 'tagvalue' }` or `{ tagFilters: ['tagvalue1', 'tagvalue2'] }` as search parameters to restrict the result set to specific tags.\n\n\n\n# Options\n\n\n\n## Custom `objectID`\n\nYou can choose which field will be used as the `objectID `. The field should be unique and can\n be a string or integer. By default, we use the `pk` field of the model.\n\n```python\nclass ArticleIndex(AlgoliaIndex):\n custom_objectID = 'post_id'\n```\n\n## Custom index name\n\nYou can customize the index name. By default, the index name will be the name of the model class.\n\n```python\nclass ContactIndex(algoliaindex):\n index_name = 'Enterprise'\n```\n\n## Field Preprocessing and Related objects\n\nIf you want to process a field before indexing it (e.g. capitalizing a `Contact`'s `name`),\nor if you want to index a [related object](https://docs.djangoproject.com/en/1.11/ref/models/relations/)'s\nattribute, you need to define **proxy methods** for these fields.\n\n### Models\n\n```python\nclass Account(models.Model):\n username = models.CharField(max_length=40)\n service = models.CharField(max_length=40)\n\nclass Contact(models.Model):\n name = models.CharField(max_length=40)\n email = models.EmailField(max_length=60)\n //...\n accounts = models.ManyToManyField(Account)\n\n def account_names(self):\n return [str(account) for account in self.accounts.all()]\n\n def account_ids(self):\n return [account.id for account in self.accounts.all()]\n```\n\n### Index\n\n```python\nfrom algoliasearch_django import AlgoliaIndex\n\nclass ContactIndex(AlgoliaIndex):\n fields = ('name', 'email', 'company', 'address', 'city', 'county',\n 'state', 'zip_code', 'phone', 'fax', 'web', 'followers', 'account_names', 'account_ids')\n\n settings = {\n 'searchableAttributes': ['name', 'email', 'company', 'city', 'county', 'account_names',\n }\n```\n\n- With this configuration, you can search for a `Contact` using its `Account` names\n- You can use the associated `account_ids` at search-time to fetch more data from your \nmodel (you should **only proxy the fields relevant for search** to keep your records' size \nas small as possible)\n\n## Index settings\n\nWe provide many ways to configure your index allowing you to tune your overall index relevancy.\nAll the configuration is explained on [our doc](https://www.algolia.com/doc/api-reference/api-parameters/).\n\n```python\nclass ArticleIndex(AlgoliaIndex):\n settings = {\n 'searchableAttributes': ['name', 'description', 'url'],\n 'customRanking': ['desc(vote_count)', 'asc(name)']\n }\n```\n\n## Restrict indexing to a subset of your data\n\nYou can add constraints controlling if a record must be indexed or not. `should_index` should be a\ncallable that returns a boolean.\n\n```python\nclass Contact(models.model):\n name = models.CharField(max_length=20)\n age = models.IntegerField()\n\n def is_adult(self):\n return (self.age >= 18)\n\nclass ContactIndex(AlgoliaIndex):\n should_index = 'is_adult'\n```\n\n## Multiple indices per model\n\nIt is possible to have several indices for a single model.\n\n- First, define all your indices that you want for a model:\n\n```python\nfrom django.contrib.algoliasearch import AlgoliaIndex\n\nclass MyModelIndex1(AlgoliaIndex):\n name = 'MyModelIndex1'\n ...\n\nclass MyModelIndex2(AlgoliaIndex):\n name = 'MyModelIndex2'\n ...\n```\n\n- Then, define a meta model which will aggregate those indices:\n\n```python\nclass MyModelMetaIndex(AlgoliaIndex):\n def __init__(self, model, client, settings):\n self.indices = [\n MyModelIndex1(model, client, settings),\n MyModelIndex2(model, client, settings),\n ]\n\n def raw_search(self, query='', params=None):\n res = {}\n for index in self.indices:\n res[index.name] = index.raw_search(query, params)\n return res\n\n def update_records(self, qs, batch_size=1000, **kwargs):\n for index in self.indices:\n index.update_records(qs, batch_size, **kwargs)\n\n def reindex_all(self, batch_size=1000):\n for index in self.indices:\n index.reindex_all(batch_size)\n\n def set_settings(self):\n for index in self.indices:\n index.set_settings()\n\n def clear_index(self):\n for index in self.indices:\n index.clear_index()\n\n def save_record(self, instance, update_fields=None, **kwargs):\n for index in self.indices:\n index.save_record(instance, update_fields, **kwargs)\n\n def delete_record(self, instance):\n for index in self.indices:\n index.delete_record(instance)\n```\n\n- Finally, register this `AlgoliaIndex` with your `Model`:\n\n```python\nimport algoliasearch_django as algoliasearch\nalgoliasearch.register(MyModel, MyModelMetaIndex)\n```\n\n## Temporarily disable the auto-indexing\n\nIt is possible to temporarily disable the auto-indexing feature using the `disable_auto_indexing` context decorator:\n\n```python\nfrom algoliasearch_django.decorators import disable_auto_indexing\n\n# Used as a context manager\nwith disable_auto_indexing():\n MyModel.save()\n\n# Used as a decorator\n@disable_auto_indexing():\nmy_method()\n\n# You can also specifiy for which model you want to disable the auto-indexing\nwith disable_auto_indexing(MyModel):\n MyModel.save()\n MyOtherModel.save()\n\n```\n\n\n\n# Tests\n\n\n\n## Run Tests\n\nTo run the tests, first find your Algolia application id and Admin API key (found on the Credentials page).\n\n```shell\nALGOLIA_APPLICATION_ID={APPLICATION_ID} ALGOLIA_API_KEY={ADMIN_API_KEY} tox\n```\n\n\nTo override settings for some tests, use the [settings method](https://docs.djangoproject.com/en/1.11/topics/testing/tools/#django.test.SimpleTestCase.settings):\n```python\nclass OverrideSettingsTestCase(TestCase):\n def setUp(self):\n with self.settings(ALGOLIA={\n 'APPLICATION_ID': 'foo',\n 'API_KEY': 'bar',\n 'AUTO_INDEXING': False\n }):\n algolia_engine.reset(settings.ALGOLIA)\n\n def tearDown(self):\n algolia_engine.reset(settings.ALGOLIA)\n\n def test_foo():\n # ...\n```\n\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/algolia/algoliasearch-django", "keywords": "algolia,pyalgolia,search,backend,hosted,cloud,full-text search,faceted search,django", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "algoliasearch-django", "package_url": "https://pypi.org/project/algoliasearch-django/", "platform": "", "project_url": "https://pypi.org/project/algoliasearch-django/", "project_urls": { "Homepage": "https://github.com/algolia/algoliasearch-django" }, "release_url": "https://pypi.org/project/algoliasearch-django/1.7.1/", "requires_dist": [ "django (>=1.7)", "algoliasearch (<2.0,>=1.0)" ], "requires_python": "", "summary": "Algolia Search integration for Django", "version": "1.7.1" }, "last_serial": 5095530, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "483899671ca16a4e4f3812961144ed4b", "sha256": "21ccc918debb154dbc2df3c4a1526b2be3fe8105a3bfef658e70f87ff3be66ba" }, "downloads": -1, "filename": "algoliasearch_django-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "483899671ca16a4e4f3812961144ed4b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13174, "upload_time": "2015-06-19T11:10:06", "url": "https://files.pythonhosted.org/packages/94/31/2d1c5bbcd584fcab42152dd743a1b94b85b2ba8fd5364ca4407b7e5c5d21/algoliasearch_django-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa264ba83e8ec87cf8f1148425f55393", "sha256": "a8b3a94bfffe0d1e334a965c0ce3085089d0404115a82e1073716166381dfe17" }, "downloads": -1, "filename": "algoliasearch-django-1.1.0.tar.gz", "has_sig": false, "md5_digest": "fa264ba83e8ec87cf8f1148425f55393", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8132, "upload_time": "2015-06-19T11:10:02", "url": "https://files.pythonhosted.org/packages/63/f7/56a3264aa4c66a17895690ee65a31dee10eaf08a3ff178acc271eb3cfdcf/algoliasearch-django-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "75eaeb9c51df866dd297c8999c455b6b", "sha256": "ee5cd80bf8e2561bd5650b8055ac82270a9f57206c22097acc1e653b40cf5050" }, "downloads": -1, "filename": "algoliasearch_django-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75eaeb9c51df866dd297c8999c455b6b", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13455, "upload_time": "2015-07-04T13:06:07", "url": "https://files.pythonhosted.org/packages/65/95/9cb272227a585d7e8a84b10e08706e604d63ccdde8b8cd6072c473916b9c/algoliasearch_django-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86864bd5eac0f06cd5fe45b8105a9445", "sha256": "f58b3c64e826842f44422d62ce6113604cffd46df9da9d9a8f0024a95d466e9e" }, "downloads": -1, "filename": "algoliasearch-django-1.2.0.tar.gz", "has_sig": false, "md5_digest": "86864bd5eac0f06cd5fe45b8105a9445", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8664, "upload_time": "2015-07-04T13:06:02", "url": "https://files.pythonhosted.org/packages/ed/85/bcaf957b46aed26b3ec8637eb0f6f3f5cfacc446cade20c1851d1983c03b/algoliasearch-django-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "f2760aeaa15ce277ed4766829991cc3c", "sha256": "c29de6e183fa336ee2b32e793a0bd73b1653677b33a227bf7c097e6a6f4fa3e9" }, "downloads": -1, "filename": "algoliasearch_django-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2760aeaa15ce277ed4766829991cc3c", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13974, "upload_time": "2015-07-09T08:55:00", "url": "https://files.pythonhosted.org/packages/31/41/ae6ea5deabad330b325ee32c0ab72ad1d549c978ab7cb00fd5d29a5aed1d/algoliasearch_django-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "592e33525bdabe1e52addea03a9aa3e4", "sha256": "72d376b5aae1ac09fde727c6368304e23018d389c485b74bce70421b22c465cd" }, "downloads": -1, "filename": "algoliasearch-django-1.2.1.tar.gz", "has_sig": false, "md5_digest": "592e33525bdabe1e52addea03a9aa3e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9431, "upload_time": "2015-07-09T08:54:56", "url": "https://files.pythonhosted.org/packages/85/84/35c9f270c77cfcf4b2bf5b1904ac5e4fe081a9ab3b38786355bf3e684eae/algoliasearch-django-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "7e69cfec6238bd368d2a26d6a4e718b2", "sha256": "c9ffc58ddad8bcdc846809d1173d50eac8a2390eac3f808ba559038c7beac207" }, "downloads": -1, "filename": "algoliasearch_django-1.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7e69cfec6238bd368d2a26d6a4e718b2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14021, "upload_time": "2015-12-03T10:15:33", "url": "https://files.pythonhosted.org/packages/62/a0/d94a92a6374407ed8d91eff8f97226ae34a47d8707ddac2b4b116f4b9241/algoliasearch_django-1.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f5ced5ddac9a7d24fdab25b150941c3b", "sha256": "b46beaa648facfb39a0d8ea269b468211bf4eee7ffcba6ddf32da7041ade30b4" }, "downloads": -1, "filename": "algoliasearch-django-1.2.2.tar.gz", "has_sig": false, "md5_digest": "f5ced5ddac9a7d24fdab25b150941c3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9481, "upload_time": "2015-12-03T10:15:13", "url": "https://files.pythonhosted.org/packages/81/f3/9347662abffb176b3168843c63f2a69c0544f8f59ee21d752b5809c52851/algoliasearch-django-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "97be0172b2f2b620fc1da97c8a1ae996", "sha256": "cd53dceaa00acdfc4919a1b5a387998527a3dd6961040c8ff3c6becf30628480" }, "downloads": -1, "filename": "algoliasearch_django-1.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97be0172b2f2b620fc1da97c8a1ae996", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14260, "upload_time": "2015-12-15T15:55:53", "url": "https://files.pythonhosted.org/packages/be/aa/9e3a46ec9134eac55aead8c992c2ec7f90dc354072b582a5e068099d3aba/algoliasearch_django-1.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e152dd202fef8928d4d55ce80f5b73fc", "sha256": "55f62228190a147a501b977090da0f1d10eaeac492cf76060566b6f5d7b85516" }, "downloads": -1, "filename": "algoliasearch-django-1.2.3.tar.gz", "has_sig": false, "md5_digest": "e152dd202fef8928d4d55ce80f5b73fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9679, "upload_time": "2015-12-15T15:55:46", "url": "https://files.pythonhosted.org/packages/f6/55/2cf0d38ea757a61eb449cdacb3109647dbbef99c09087dd4ab292a868b51/algoliasearch-django-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "c9b0df20fba9bb7efb1d2e1f7f34a151", "sha256": "63b479abec4cb6793c283a973736cb99006d0438aa0345673b844576769d7695" }, "downloads": -1, "filename": "algoliasearch_django-1.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c9b0df20fba9bb7efb1d2e1f7f34a151", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14381, "upload_time": "2016-04-15T16:13:46", "url": "https://files.pythonhosted.org/packages/7c/4d/4775c5203ea7dc2ca3ffc2d0dd3565882409d75efdacd19a239e2995f60f/algoliasearch_django-1.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c76e740bfb5743bae651fcc700c5eff", "sha256": "355a93f5a220f676c0f3d884697b25cadf0719587d8c4287c52d16be365633eb" }, "downloads": -1, "filename": "algoliasearch-django-1.2.4.tar.gz", "has_sig": false, "md5_digest": "0c76e740bfb5743bae651fcc700c5eff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9792, "upload_time": "2016-04-15T16:13:39", "url": "https://files.pythonhosted.org/packages/d3/cf/9f7e45082e9398486bab13ffb46aa1e4a76194ce6905ec904e03deea0ec8/algoliasearch-django-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "8b2fbe1445bdae2903b2afc5148c76d0", "sha256": "5eb34e101c8f8a2f209849a193ac727bb8fafc25b4668de06060577a8a40712f" }, "downloads": -1, "filename": "algoliasearch_django-1.2.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8b2fbe1445bdae2903b2afc5148c76d0", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 14138, "upload_time": "2017-01-20T15:59:36", "url": "https://files.pythonhosted.org/packages/f4/56/488ed244dd7fdf2065a872bf193a75a257934bc11db1dbee9e90e49a342e/algoliasearch_django-1.2.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b389d4fe4bd5de1e61366030c6149478", "sha256": "afcae63f6ccc9f2ed660e19ae169b6c76c428651b1c852df4f226edc8950b861" }, "downloads": -1, "filename": "algoliasearch-django-1.2.5.tar.gz", "has_sig": false, "md5_digest": "b389d4fe4bd5de1e61366030c6149478", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11958, "upload_time": "2017-01-20T15:59:35", "url": "https://files.pythonhosted.org/packages/12/d6/b7ea8d59fd5e376ca9d2717451e151fe36b6e30b3d027b11b07ced697895/algoliasearch-django-1.2.5.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "bf2924db06469ba26bd2e58c96119601", "sha256": "35a126b741e0f584054eea037a83437d92769fd96ac24f6ed7d25de41eababbe" }, "downloads": -1, "filename": "algoliasearch_django-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bf2924db06469ba26bd2e58c96119601", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 17503, "upload_time": "2017-05-23T14:22:45", "url": "https://files.pythonhosted.org/packages/c7/e1/8e246d8821eda4c72aef3c4823c44215271209adb1e69f6710532ac62501/algoliasearch_django-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0ee1bcdc4ea2361e68f161ad71dfd28", "sha256": "4660bba695be710a3a234cc183ff6cb2d359ca2dc633b6ba6db5bf72263a7c67" }, "downloads": -1, "filename": "algoliasearch-django-1.3.0.tar.gz", "has_sig": false, "md5_digest": "c0ee1bcdc4ea2361e68f161ad71dfd28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12479, "upload_time": "2017-05-23T14:22:42", "url": "https://files.pythonhosted.org/packages/d0/61/9d708c46584d80c66f416594349bab3f9f60c704dd9defb45e544f6c7957/algoliasearch-django-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "030e160adb567c16ece1b20a289f0516", "sha256": "3c86a5f566ca5bcf8d20bbad98d6c4f514b83608c9f556d803edf2498184428d" }, "downloads": -1, "filename": "algoliasearch_django-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "030e160adb567c16ece1b20a289f0516", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17211, "upload_time": "2017-05-24T10:43:21", "url": "https://files.pythonhosted.org/packages/4d/5f/d7b49a8dffdafd968b8f4129cb096ca39b79dfde01bc1851f3418ebadb82/algoliasearch_django-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cd15c7a19b83876940ee67919f2c2391", "sha256": "16b909fb8105b4141fe299bb454342c58ad3d97918830c79ac6dbcadc9fc0c39" }, "downloads": -1, "filename": "algoliasearch-django-1.3.1.tar.gz", "has_sig": false, "md5_digest": "cd15c7a19b83876940ee67919f2c2391", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11816, "upload_time": "2017-05-24T10:43:19", "url": "https://files.pythonhosted.org/packages/d4/9a/afb9557b77432862a9e2a063503fed93d315e1ba01ae1158110b632b5524/algoliasearch-django-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "e5b41fa7e8e19c98f3599b71ab787e36", "sha256": "4ad0833b8b6b4e5fbd0e9ff27509952d4fd9f940fa880405591903ddb24cc7c8" }, "downloads": -1, "filename": "algoliasearch_django-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e5b41fa7e8e19c98f3599b71ab787e36", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17376, "upload_time": "2017-05-24T13:48:42", "url": "https://files.pythonhosted.org/packages/e9/5d/f18946d317369ee35ea113d5b490baa6ec17cb1bc8e17e3e71b6df376798/algoliasearch_django-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36baaba0c676ad7a7aaae21a74abb0a1", "sha256": "88fb212eee4c8dfc281b2fd25c2d332df9568b37b1f17495a0733c4beacb4a05" }, "downloads": -1, "filename": "algoliasearch-django-1.3.2.tar.gz", "has_sig": false, "md5_digest": "36baaba0c676ad7a7aaae21a74abb0a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12046, "upload_time": "2017-05-24T13:48:40", "url": "https://files.pythonhosted.org/packages/6b/3a/2d0431558b573f59f74a37a1a789e426bbcad1b596874969ed86247bd503/algoliasearch-django-1.3.2.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3bbd7abc05c0bccbd2ac9e98b9f268a7", "sha256": "21839b77c99338dd46c1309826e364b0a7fa6bd59c503d3e6be164c719b44bfd" }, "downloads": -1, "filename": "algoliasearch_django-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bbd7abc05c0bccbd2ac9e98b9f268a7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17792, "upload_time": "2017-06-27T15:00:50", "url": "https://files.pythonhosted.org/packages/f4/45/281cee34e80fd807e9866335f4b3257ff9fff0c4ff5ca83eea490dff1ad5/algoliasearch_django-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b93d9ef026557cbd3779a18bc0eca59", "sha256": "f15d125b86990001afb3555582d3ab99a852c082cfcf2547d7153ee89a6cbbc3" }, "downloads": -1, "filename": "algoliasearch-django-1.4.0.tar.gz", "has_sig": false, "md5_digest": "6b93d9ef026557cbd3779a18bc0eca59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12407, "upload_time": "2017-06-27T15:00:49", "url": "https://files.pythonhosted.org/packages/01/47/8f6d241e2a3a60846f084dca330c2234bd46515733b36caa0a2c77a7763d/algoliasearch-django-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "39b7beb7f319304665c1e1f1bc4a67ba", "sha256": "0c6165002af5b894bf774b64682bcd00303d09531b2202f9a10bb22820a87a52" }, "downloads": -1, "filename": "algoliasearch_django-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "39b7beb7f319304665c1e1f1bc4a67ba", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 17911, "upload_time": "2017-06-29T17:07:11", "url": "https://files.pythonhosted.org/packages/3c/ef/382a520344a0b2a1c9b5709d97e107e270b474b0bff54b63bca85411b0b1/algoliasearch_django-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5db74cabc0efd8b8c6a0586dc0aae45", "sha256": "1a2f8b89c90957aa425defa9bce2f73ec9085ac93915e84a539fb5cfb94282b1" }, "downloads": -1, "filename": "algoliasearch-django-1.4.1.tar.gz", "has_sig": false, "md5_digest": "e5db74cabc0efd8b8c6a0586dc0aae45", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12533, "upload_time": "2017-06-29T17:07:02", "url": "https://files.pythonhosted.org/packages/6d/8b/1945d4edfd825d3e0461ca5abeff41fac1f86ccb6cda5bd51c2b23650450/algoliasearch-django-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "5f144815a4b9ae314347e4fad429c697", "sha256": "5da3a7a79c393fdc7900cdf0875294054801e8220b2b328a13002e9c2a9e602b" }, "downloads": -1, "filename": "algoliasearch_django-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f144815a4b9ae314347e4fad429c697", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 18786, "upload_time": "2017-08-09T16:07:30", "url": "https://files.pythonhosted.org/packages/ea/8a/4b4e6b67a8981955c7f7944eec46bdeb653d5bc0c610105f9ededb69d86c/algoliasearch_django-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35e45cb9043546d8fb627cffa4364d92", "sha256": "af05f5b18e4348329b7da901e8db059669b407771fd7afbf1c65cca12bf022ef" }, "downloads": -1, "filename": "algoliasearch-django-1.5.0.tar.gz", "has_sig": false, "md5_digest": "35e45cb9043546d8fb627cffa4364d92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13111, "upload_time": "2017-08-09T16:07:28", "url": "https://files.pythonhosted.org/packages/14/da/04eb522fb5b199ff51bd5a44b68b32c88498e6246043c72a65c2c10f4104/algoliasearch-django-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "13fbca92ece1a34623bdd15e8b25fc79", "sha256": "78753396877deb0600f0f2e7cf822a80357336480211658f58d873bd59528fd6" }, "downloads": -1, "filename": "algoliasearch_django-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "13fbca92ece1a34623bdd15e8b25fc79", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20244, "upload_time": "2017-11-02T10:54:56", "url": "https://files.pythonhosted.org/packages/09/8f/c50145377ed71b9b0946d0ced1287ea866910207189647a790b42f2fd06a/algoliasearch_django-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f6ae5f094bcf0ddb27d115e67bb6e51", "sha256": "d151d969c9ec3cb71cac972c384291a99680fcae882a07ddfc264c8b3d7ad1bd" }, "downloads": -1, "filename": "algoliasearch-django-1.5.1.tar.gz", "has_sig": true, "md5_digest": "5f6ae5f094bcf0ddb27d115e67bb6e51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14619, "upload_time": "2017-11-02T10:52:28", "url": "https://files.pythonhosted.org/packages/19/28/282b5b245711d82fcdce7d3f0a2c4d13774a04543b5121f9a3929dd137de/algoliasearch-django-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "868a38483b1116a285bc15cb349d3d76", "sha256": "783fb1820ca85ec36abce47660ab201c1fe6a3100f28068e3ab92b299e6ae3c2" }, "downloads": -1, "filename": "algoliasearch_django-1.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "868a38483b1116a285bc15cb349d3d76", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20298, "upload_time": "2018-01-09T16:55:01", "url": "https://files.pythonhosted.org/packages/b4/d6/bd891a6d2a75d2de1bb476516c9907db06e5beae88a44d9c5ac7a4485042/algoliasearch_django-1.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c6b12ddaa3cd3bf7b7d4a276ecca880", "sha256": "e14009223d7bd588cab44a8c309093de85958a7d0bbde7fd5f69edfb7807187c" }, "downloads": -1, "filename": "algoliasearch-django-1.5.2.tar.gz", "has_sig": false, "md5_digest": "8c6b12ddaa3cd3bf7b7d4a276ecca880", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18535, "upload_time": "2018-01-09T16:55:02", "url": "https://files.pythonhosted.org/packages/39/10/1cbbdccfa034994d93d969d5e86b0e47b1e627b8a0e7a62bcec75079a87d/algoliasearch-django-1.5.2.tar.gz" } ], "1.5.4": [ { "comment_text": "", "digests": { "md5": "314fe632bb3a07e1b0ffc08891c6050e", "sha256": "d81689d066e49cd64c81f5eac74c75f494a6207b4189881eb2b275b1dc704cdd" }, "downloads": -1, "filename": "algoliasearch_django-1.5.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "314fe632bb3a07e1b0ffc08891c6050e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20561, "upload_time": "2018-01-16T13:45:17", "url": "https://files.pythonhosted.org/packages/a4/16/6311ca14c8ac2dd6dbb308f3f64d1dd0b5245c457bb2ca342af180644a23/algoliasearch_django-1.5.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d32ef909f3d6369ff25e637b4e7940df", "sha256": "3b45c6f3a338b8b7269d52af25b39978774df6689efc12d4f027e803f1a90156" }, "downloads": -1, "filename": "algoliasearch-django-1.5.4.tar.gz", "has_sig": false, "md5_digest": "d32ef909f3d6369ff25e637b4e7940df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18848, "upload_time": "2018-01-16T13:45:19", "url": "https://files.pythonhosted.org/packages/c1/e2/28b314af751181e47c574018cd027a7c9689f3859b81b5bdf1ad27b00bc5/algoliasearch-django-1.5.4.tar.gz" } ], "1.5.5": [ { "comment_text": "", "digests": { "md5": "2ea6664bc57425e732c33b7211f7200f", "sha256": "a56ca90e7300c118ee0bed43b1df7f287a6065d09536e6642cab27ab8dd2ecfd" }, "downloads": -1, "filename": "algoliasearch_django-1.5.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2ea6664bc57425e732c33b7211f7200f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20846, "upload_time": "2018-02-14T13:17:06", "url": "https://files.pythonhosted.org/packages/e0/5f/b7a7c6958c033576cd6fe7a0a19d45254b1d72ec0ae1928fe437e63c7a35/algoliasearch_django-1.5.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd78c29346aad516e509f7cffb1307c4", "sha256": "90c7600bcf177a52d4f2f3f273106c7dd7e2fcf5af0383bc87ed0ac6037dcb10" }, "downloads": -1, "filename": "algoliasearch-django-1.5.5.tar.gz", "has_sig": false, "md5_digest": "bd78c29346aad516e509f7cffb1307c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19272, "upload_time": "2018-02-14T13:17:08", "url": "https://files.pythonhosted.org/packages/3d/f5/352809392321626f75095541b68dd308b76ef45ff9ed576c9bac1c566833/algoliasearch-django-1.5.5.tar.gz" } ], "1.5.6": [ { "comment_text": "", "digests": { "md5": "d17207e3647ebfe1dcdcfc4a1b02d228", "sha256": "195059ada3ebe40211c4c59ed75def0cec28a43e34653565c11703fbacc3e3c2" }, "downloads": -1, "filename": "algoliasearch_django-1.5.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d17207e3647ebfe1dcdcfc4a1b02d228", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15681, "upload_time": "2018-05-15T12:53:03", "url": "https://files.pythonhosted.org/packages/28/b0/984c58af3bc05b8ed7a33e101ef63657910eede177af8d681aded3fba63e/algoliasearch_django-1.5.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a25bb6f547b356b62320e6184260e38", "sha256": "896147b4ed4622b439b141f07e7371e6a21b9db90607a72ffcd6ebcd3eddc136" }, "downloads": -1, "filename": "algoliasearch-django-1.5.6.tar.gz", "has_sig": false, "md5_digest": "6a25bb6f547b356b62320e6184260e38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14598, "upload_time": "2018-05-15T12:53:04", "url": "https://files.pythonhosted.org/packages/b6/28/ab7b76a0805f5eed8a800bf293a788c1f4b8e22ece95ba76e0d7e3509e56/algoliasearch-django-1.5.6.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "6bf6adbf421437d821c99c38786dde90", "sha256": "99386a36c5f56cd3bf091a0c50d9e46738f7a516455103b8863c323f36f2b65a" }, "downloads": -1, "filename": "algoliasearch_django-1.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6bf6adbf421437d821c99c38786dde90", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16529, "upload_time": "2018-05-31T11:10:39", "url": "https://files.pythonhosted.org/packages/84/3d/c3db5d7f3ac12112492a45b2e4abe96d2b9d5952b4109b0c5351f060a5e2/algoliasearch_django-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86622d2e4aa0633bddd8198bd13edbf8", "sha256": "5a1d6424a69329ff8681e5bd6586a85caf00b0c8e351015d8c469684ca58e916" }, "downloads": -1, "filename": "algoliasearch-django-1.6.0.tar.gz", "has_sig": false, "md5_digest": "86622d2e4aa0633bddd8198bd13edbf8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18868, "upload_time": "2018-05-31T11:10:40", "url": "https://files.pythonhosted.org/packages/f3/25/f34d5b2e2496b3a15b15ed3e1064322e54e42432c9599e39433e1cada4b9/algoliasearch-django-1.6.0.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "e8d95340fe3d028ee2858bf3c85a51c8", "sha256": "119111d15f91ee79666902db53fff68525aa57ebf1d50518d130ad37615ab526" }, "downloads": -1, "filename": "algoliasearch_django-1.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8d95340fe3d028ee2858bf3c85a51c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17381, "upload_time": "2018-08-27T13:25:56", "url": "https://files.pythonhosted.org/packages/6c/17/147de1741847a55349e8b4deeeb7399fcae37760776119552bb5d6050cc2/algoliasearch_django-1.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f37940fdf35a818893bbae00037ab75f", "sha256": "e6874bf0e41032759f90162e1587a195992f0da8f4a99fb4cc588e8dad500a99" }, "downloads": -1, "filename": "algoliasearch-django-1.7.0.tar.gz", "has_sig": false, "md5_digest": "f37940fdf35a818893bbae00037ab75f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20276, "upload_time": "2018-08-27T13:25:57", "url": "https://files.pythonhosted.org/packages/e1/b1/2ee0cbb5fe07ea268ebc3ec133b4b1c2258642a31269f1f2361a8d847788/algoliasearch-django-1.7.0.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "dfa6a7aa2611d016e307b6c126987144", "sha256": "c25b49b7df3d410625f983bbf907b063796d57c6021e1643987900e72d07906d" }, "downloads": -1, "filename": "algoliasearch_django-1.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfa6a7aa2611d016e307b6c126987144", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18248, "upload_time": "2019-04-04T08:38:48", "url": "https://files.pythonhosted.org/packages/f7/e9/4394dd8e638b338a1cc8a67a4218118d92c05d54a9b5184cd6c5286cf4e3/algoliasearch_django-1.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90eeaa901def0051bb83b0b9752131b0", "sha256": "c64dc2dab76ade6b05638a188e4a4af1ec952d5aa407aeab3ce6cbaed082d4c5" }, "downloads": -1, "filename": "algoliasearch-django-1.7.1.tar.gz", "has_sig": false, "md5_digest": "90eeaa901def0051bb83b0b9752131b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19723, "upload_time": "2019-04-04T08:38:49", "url": "https://files.pythonhosted.org/packages/94/f5/6aa862cb07854842d7706b2c7a35a5257bc21e432cc77df5fd81c1d26a8a/algoliasearch-django-1.7.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dfa6a7aa2611d016e307b6c126987144", "sha256": "c25b49b7df3d410625f983bbf907b063796d57c6021e1643987900e72d07906d" }, "downloads": -1, "filename": "algoliasearch_django-1.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfa6a7aa2611d016e307b6c126987144", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18248, "upload_time": "2019-04-04T08:38:48", "url": "https://files.pythonhosted.org/packages/f7/e9/4394dd8e638b338a1cc8a67a4218118d92c05d54a9b5184cd6c5286cf4e3/algoliasearch_django-1.7.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90eeaa901def0051bb83b0b9752131b0", "sha256": "c64dc2dab76ade6b05638a188e4a4af1ec952d5aa407aeab3ce6cbaed082d4c5" }, "downloads": -1, "filename": "algoliasearch-django-1.7.1.tar.gz", "has_sig": false, "md5_digest": "90eeaa901def0051bb83b0b9752131b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19723, "upload_time": "2019-04-04T08:38:49", "url": "https://files.pythonhosted.org/packages/94/f5/6aa862cb07854842d7706b2c7a35a5257bc21e432cc77df5fd81c1d26a8a/algoliasearch-django-1.7.1.tar.gz" } ] }