{ "info": { "author": "Anders Hovm\u00f6ller", "author_email": "anders.hovmoller@trioptima.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6" ], "description": ".. image:: https://travis-ci.org/TriOptima/tri.query.svg?branch=master\n :target: https://travis-ci.org/TriOptima/tri.query\n\n.. image:: http://codecov.io/github/TriOptima/tri.query/coverage.svg?branch=master\n :target: http://codecov.io/github/TriOptima/tri.query?branch=master\n\ntri.query\n==========\n\ntri.query makes it easy to implement searching and filtering in your Django app.\n\nMajor features:\n\n- Generate simple filtering GUIs easily while at the same time:\n- Supply your views with advanced query languages\n- Query language can be used stand alone without the GUI parts\n- Highly customizable GUI based on `tri.form `_\n\n\nExample\n-------\n\n\nSimple view that allows the user to search for a car by choosing the make from a drop down, and search\nfor specific model in the advanced mode:\n\n.. code:: python\n\n class CarQuery(Query):\n make = Variable.choice(\n choices=['Toyota', 'Volvo', 'Ford'],\n form_field__show=True) # Display this field in the simple style GUI\n model = Variable.text()\n\n def cars(request):\n query = CarQuery()\n cars_query_set = query.request_to_q(request)\n form = query.form()\n return render(\n template_name='cars.html',\n context_instance=RequestContext(request, {'query_form': form, 'cars': cars_query_set}))\n\n\n.. code:: html\n\n \n {% include \"tri_query/form.html\" with form=query_form %}\n\n \n\n\n.. image:: simple_gui.png\n\nAfter switching to the advanced mode:\n\n.. image:: advanced_gui.png\n\nProgrammatically call the search API:\n\n.. code:: python\n\n query = CarQuery()\n cars_query_set = query.parse('make=Toyota and (make=1991 or make=1992)')\n\n\nRunning tests\n-------------\n\nYou need tox installed then just `make test`.\n\n\nLicense\n-------\n\nBSD\n\n\nDocumentation\n-------------\n\nhttp://triquery.readthedocs.org\n\n\nChangelog\n---------\n\n6.1.0 (2019-10-14)\n~~~~~~~~~~~~~~~~~~\n\n* Bumped dependency for tri.declarative\n\n* Bumped dependency for tri.form\n\n\n6.0.0 (2019-06-14)\n~~~~~~~~~~~~~~~~~~\n\n* Renamed module from `tri.query` to `tri_query`\n\n* Dropped support for python 2 and django < 2.0\n\n\n5.0.2 (2019-05-03)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed cases where from_model lost the type when inheriting\n\n\n5.0.1 (2019-04-25)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed `multi_choice_queryset` when selecting multiple items and also filtering on some other field at the same time.\n\n\n5.0.0 (2019-04-12)\n~~~~~~~~~~~~~~~~~~\n\n* Make `Variable` shortcuts compatible with subclassing\n\n* Use the new major tri.declarative, and update to follow the new style of class member shortcuts\n\n* Added missing `Variable.multi_choice` shortcut\n\n\n4.2.1 (2019-04-25)\n~~~~~~~~~~~~~~~~~~\n\n* Fixed `multi_choice_queryset` when selecting multiple items and also filtering on some other field at the same time.\n\n\n4.2.0 (2019-04-01)\n~~~~~~~~~~~~~~~~~~\n\n* Make Variable shortcuts compatible with subclassing\n\n\n4.1.0 (2019-02-18)\n~~~~~~~~~~~~~~~~~~\n\n* http endpoint for query validation errors: `query/errors`\n\n\n4.0.4 (2018-10-23)\n~~~~~~~~~~~~~~~~~~\n\n* Support searching for quotation mark\n\n\n4.0.3 (2018-10-10)\n~~~~~~~~~~~~~~~~~~\n\n* A more helpful error message if you didn't specify `value_to_q_lookup` but you need to.\n\n* Removed buggy use of `setdefaults`. This could cause overriding of nested arguments to not take.\n\n\n\n4.0.2 (2018-10-04)\n~~~~~~~~~~~~~~~~~~\n\n* Added `Variable.boolean_tristate` for editing boolean fields with null value allowed\n\n\n4.0.1 (2018-09-21)\n~~~~~~~~~~~~~~~~~~\n\n* Made Query a `RefinableObject`\n\n\n4.0.0 (2017-08-22)\n~~~~~~~~~~~~~~~~~~\n\n* Moved to tri.declarative 0.34 and tri.form 5.0\n\n* Note that `gui__class` to specify a constructor/callable is no longer a valid parameter, because of updated tri.form. Use `gui__call_target` or just `gui`.\n\n* You no longer need to specify the `model` parameter to `choice_queryset` or `multi_choice_queryset` if you give it a `QuerySet` as `choices` (as opposed to giving a callable)\n\n\n3.3.0 (2017-04-27)\n~~~~~~~~~~~~~~~~~~\n\n* Move default behaviors out from the shortcuts so they can be used externally\n\n* Removed jquery dependency for toggling simple/advanced filtering\n\n* Removed support for Django 1.7\n\n\n3.2.0 (2017-03-22)\n~~~~~~~~~~~~~~~~~~\n\n* `Variable` class now inherits from `object`, making the implementation more pythonic.\n (Attributes still possible to override in constructor call, see `NamespaceAwareObject`)\n\n\n3.1.0 (2016-09-19)\n~~~~~~~~~~~~~~~~~~\n\n* Moved to the simplified factory system for `from_model`\n\n* Added shortcuts to `Variable`: url, time, datetime, date, email, decimal\n\n\n3.0.0 (2016-09-14)\n~~~~~~~~~~~~~~~~~~\n\n* Updated to latest major tri.form\n\n\n2.2.0 (2016-08-16)\n~~~~~~~~~~~~~~~~~~\n\n* Variable.choice_queryset handles the string \"null\" the same way as everything else\n\n* Queries that have multi-select inputs now work\n\n\n2.1.1 (2016-08-08)\n~~~~~~~~~~~~~~~~~~\n\n* Report invalid operators for choice queryset as errors instead of crashing\n\n\n2.1.0 (2016-07-12)\n~~~~~~~~~~~~~~~~~~\n\n* Check for dates that are out of range\n\n\n2.0.0 (2016-06-02)\n~~~~~~~~~~~~~~~~~~\n\n* Cache form on Query\n\n* Render global form errors\n\n* Query.form() no longer takes a request parameter, since it was redundant anyway. This is a potential breaking change.\n\n* Correctly dispatch attr to underlying tri.form\n\n* Support for ajax backend. New parameter to Query: endpoint_dispatch_prefix.\n\n\n\n1.11.0 (2016-04-25)\n~~~~~~~~~~~~~~~~~~~\n\n* Minor bugfix for variable-from-model handling of auto fields\n\n\n1.10.0 (2016-04-21)\n~~~~~~~~~~~~~~~~~~~\n\n* Fix over-eager assert not allowing variable-less Query objects.\n\n\n1.9.0 (2016-04-21)\n~~~~~~~~~~~~~~~~~~\n\n* Enable mixing variable definitions in both declared variables and class meta.\n\n* Added `after` attribute on `Variable` to enable custom variable ordering (See `tri.declarative.sort_after()`)\n\n* Added Variable.from_model, Query.from_model\n\n\n1.8.0 (2016-04-19)\n~~~~~~~~~~~~~~~~~~\n\n* Added robustness in when arguments are passed as `dict(foo=dict(bar=17))` or `foo__bar=17`\n\n\n1.7.0 (2016-04-08)\n~~~~~~~~~~~~~~~~~~\n\n* Add python 3 support\n\n\n1.6.0 (2016-03-03)\n~~~~~~~~~~~~~~~~~~\n\n* `Variable.float` shortcut added\n\n* Add support for Django 1.7 and 1.8.\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/TriOptima/tri.query", "keywords": "tri.query", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "tri.query", "package_url": "https://pypi.org/project/tri.query/", "platform": "", "project_url": "https://pypi.org/project/tri.query/", "project_urls": { "Homepage": "https://github.com/TriOptima/tri.query" }, "release_url": "https://pypi.org/project/tri.query/6.1.0/", "requires_dist": [ "Django (>=1.7)", "tri.declarative (<5.0.0,>=4.0.0)", "tri.struct (<4.0.0,>=3.0.0)", "tri.form (<8.0.0,>=7.2.3)", "pyparsing" ], "requires_python": "", "summary": "tri.query is a library to define queries", "version": "6.1.0" }, "last_serial": 5975845, "releases": { "1.10.0": [ { "comment_text": "", "digests": { "md5": "f38c8265626a5f2f61586ccb8e5e8eb6", "sha256": "ff60bcdbda3588a56bf443d2b1038ae4d777948f43c901af031634b1ab334abb" }, "downloads": -1, "filename": "tri.query-1.10.0.tar.gz", "has_sig": false, "md5_digest": "f38c8265626a5f2f61586ccb8e5e8eb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11901, "upload_time": "2016-04-21T21:44:40", "url": "https://files.pythonhosted.org/packages/83/75/7ea42cd584a536003f910950d7ce401fd176d82df17074bab21a59356b15/tri.query-1.10.0.tar.gz" } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "fe421cab893f4a9ad78c30bf74ebda76", "sha256": "674716b6f019f9cc3e7d9fed4e1b6df18ff55af30cf626e60caf9396387bb11a" }, "downloads": -1, "filename": "tri.query-1.11.0.tar.gz", "has_sig": false, "md5_digest": "fe421cab893f4a9ad78c30bf74ebda76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11955, "upload_time": "2016-04-25T12:21:10", "url": "https://files.pythonhosted.org/packages/08/b4/9fa5c190b597a0c9da338883e0c0d09bffea0971faf4a0c536577115c9c7/tri.query-1.11.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "3f413947919b0e227be28f6403f6bd2f", "sha256": "0eaa91fdfeb58fe7fcd0553ef94626b65585705a807fab5f62149056998cdc8b" }, "downloads": -1, "filename": "tri.query-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f413947919b0e227be28f6403f6bd2f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10703, "upload_time": "2015-12-14T13:11:30", "url": "https://files.pythonhosted.org/packages/ea/70/49d33d1f95c7c8effd954a941cc7776597aa22675249c27609de7b9684e6/tri.query-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96c83c55878a56f9e8915330e54c88b1", "sha256": "e7adb052c99fb6e674c0753b828c265f36f9a7a02ff8fd92d786f350ab15a89d" }, "downloads": -1, "filename": "tri.query-1.5.0.tar.gz", "has_sig": false, "md5_digest": "96c83c55878a56f9e8915330e54c88b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10238, "upload_time": "2015-12-14T13:11:44", "url": "https://files.pythonhosted.org/packages/39/f6/50c04719f5699371c8e3837ea767da9269caa04f9a409a437bf830e91983/tri.query-1.5.0.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "30fe00f7bffa94a68016dde61e3bff94", "sha256": "a28968c4290da54470026752f70cfab04f98165049342e9688fcda42f219140c" }, "downloads": -1, "filename": "tri.query-1.6.0.tar.gz", "has_sig": false, "md5_digest": "30fe00f7bffa94a68016dde61e3bff94", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10436, "upload_time": "2016-03-03T14:25:24", "url": "https://files.pythonhosted.org/packages/b9/5a/6107ed4b2b49103f0d4fd46a7cd3ef55c281b8a0582735d96ca949333cad/tri.query-1.6.0.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "7ccc77c8d64e8fd796a93af6e39f2162", "sha256": "a3375dec63e7eb6f811f410850d209389f26ff74a8b1389ce2be0929461b6cf6" }, "downloads": -1, "filename": "tri.query-1.7.0.tar.gz", "has_sig": false, "md5_digest": "7ccc77c8d64e8fd796a93af6e39f2162", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10505, "upload_time": "2016-04-08T13:09:08", "url": "https://files.pythonhosted.org/packages/97/2b/f7674bdbef9d1ce382cc334b29eb13a897c67819dd3a5868d28198ffd150/tri.query-1.7.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "2840b36e5e3fe0f5cd5c992d122c208f", "sha256": "4c9a25f56aa071937938b98c242e7164f67ddef9729aa43e6047e11dbe677ee2" }, "downloads": -1, "filename": "tri.query-1.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2840b36e5e3fe0f5cd5c992d122c208f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10894, "upload_time": "2016-04-19T10:44:17", "url": "https://files.pythonhosted.org/packages/61/a2/cc9ea7b331649fd29691e387a32c39c247897e96f2bba69b86eedfca74ca/tri.query-1.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f65453c7f2c85f40356b8b63f8efbf7", "sha256": "f1cafba103d15e3f2756cf7cf3e4d1e10d6811c3c59e864bf1d5d7084e4cb13b" }, "downloads": -1, "filename": "tri.query-1.8.0.tar.gz", "has_sig": false, "md5_digest": "4f65453c7f2c85f40356b8b63f8efbf7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10840, "upload_time": "2016-04-19T10:44:50", "url": "https://files.pythonhosted.org/packages/cc/bf/ee72b7e91095a863075462c4500922b7078892de49699a49f3a631a163c3/tri.query-1.8.0.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "a86f1c9b7a5e7568d1d1f2b3399bd91b", "sha256": "c3546b60475feb03bbb1d3ea4b522301be616c1634c0deb560ea35815714e739" }, "downloads": -1, "filename": "tri.query-1.9.0.tar.gz", "has_sig": false, "md5_digest": "a86f1c9b7a5e7568d1d1f2b3399bd91b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11941, "upload_time": "2016-04-21T14:43:21", "url": "https://files.pythonhosted.org/packages/68/33/f4944ba34e683c22be72997820248a9378cf8f65bd6a56e42b039992ab06/tri.query-1.9.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "97af10f46f6d32642333c42e10bfe606", "sha256": "fbc41eb7384bbc6c4c72d3bb718a51f55331028a40a5d643ebc1434c57959de4" }, "downloads": -1, "filename": "tri.query-2.0.0.tar.gz", "has_sig": false, "md5_digest": "97af10f46f6d32642333c42e10bfe606", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12333, "upload_time": "2016-06-02T11:02:39", "url": "https://files.pythonhosted.org/packages/f9/bb/2b8a3e66dca521ee9b6f3f65d870090bdcee4a3b09c35962b4d011a9c2f3/tri.query-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "2600d03c089bc136258b98b9df373c58", "sha256": "5551f0f122ebde15a652630a7825ff32697da56f1f41303cf44f91ef8cdf026e" }, "downloads": -1, "filename": "tri.query-2.1.0.tar.gz", "has_sig": false, "md5_digest": "2600d03c089bc136258b98b9df373c58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12433, "upload_time": "2016-08-16T12:39:22", "url": "https://files.pythonhosted.org/packages/1a/45/1b7bb74af814a17bad01899ade998bb2ee9d3c918a9191b18f6f48c87242/tri.query-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "f7e18c68498a18931df5372be67048f1", "sha256": "36a6e54b344fd2b637d8b77422c4dbd7e28a22e5601285d49c289011236dbbc0" }, "downloads": -1, "filename": "tri.query-2.1.1.tar.gz", "has_sig": false, "md5_digest": "f7e18c68498a18931df5372be67048f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12506, "upload_time": "2016-08-16T12:40:46", "url": "https://files.pythonhosted.org/packages/fe/76/7761309fea939bf86a0c4a945040badc503e0182a1d9f69b69a4cf293ed5/tri.query-2.1.1.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "30ca554afbb0f6ef5d0f58190f0d770b", "sha256": "29a4da4f71a2e3c109fae1a4ae954bb450787fed998822f4ba2d3ca0757eb295" }, "downloads": -1, "filename": "tri.query-2.2.0.tar.gz", "has_sig": false, "md5_digest": "30ca554afbb0f6ef5d0f58190f0d770b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12719, "upload_time": "2016-08-16T12:39:22", "url": "https://files.pythonhosted.org/packages/ae/1e/4499f408486ff421d49052446b223d8121a90034af4db1d4ea51e60680fc/tri.query-2.2.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "e81123f641054f9097476f75f866aff4", "sha256": "6cb56b1769bd4980ef3394ce3a4f2d855fe1369ebf008f8626df0673230db4df" }, "downloads": -1, "filename": "tri.query-3.0.0.tar.gz", "has_sig": false, "md5_digest": "e81123f641054f9097476f75f866aff4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12851, "upload_time": "2016-09-15T07:31:54", "url": "https://files.pythonhosted.org/packages/84/bb/21a6b591a13f9c193a377982d7695192405a46ee320848b73e526dd31690/tri.query-3.0.0.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "04561e5376a6c1e5c4510275d275891d", "sha256": "ddb0dd142a23047b4379d1c0a4aabac38940522930d54464ef6f2e40b9db141b" }, "downloads": -1, "filename": "tri.query-3.1.0.tar.gz", "has_sig": false, "md5_digest": "04561e5376a6c1e5c4510275d275891d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12997, "upload_time": "2016-09-19T07:26:30", "url": "https://files.pythonhosted.org/packages/c3/e7/ef9aa05b13e514233584b1ffa7dc3c0495e78b1eb9a42aa6eaf8d45bba2d/tri.query-3.1.0.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "36ba2a1a2c913dac1c5ca24fc31a79f1", "sha256": "4bc8670846a554b6a7f3951bceeced269ebbf6e7c7a9e4fb52cb1fa78c261937" }, "downloads": -1, "filename": "tri.query-3.2.0.tar.gz", "has_sig": false, "md5_digest": "36ba2a1a2c913dac1c5ca24fc31a79f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13198, "upload_time": "2017-03-22T11:26:52", "url": "https://files.pythonhosted.org/packages/79/73/bf6ef7e0c19f38aad8bf0ec6cdcfceee685e54b82dd35348061e2f23e494/tri.query-3.2.0.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "f828df5e83c018e6876e94e5efc3204f", "sha256": "5d54f8cf7a7befd76230b8f1bf36c7de1931490fe0eaf7eeb8dc542f0b296330" }, "downloads": -1, "filename": "tri.query-3.3.0.tar.gz", "has_sig": false, "md5_digest": "f828df5e83c018e6876e94e5efc3204f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13419, "upload_time": "2017-06-28T17:19:27", "url": "https://files.pythonhosted.org/packages/fb/ae/501ecb420cdc5f2e9e0129ea9c807d78c00f1491470d34860caae3558c66/tri.query-3.3.0.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "70dee79f9e8ecd354bb53e1bd962c85f", "sha256": "afff51bc72d5301bc88f3a6b32ffc96dab4cb49a4b4152b3d0eb6a66f9c50309" }, "downloads": -1, "filename": "tri.query-4.0.0.tar.gz", "has_sig": false, "md5_digest": "70dee79f9e8ecd354bb53e1bd962c85f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13737, "upload_time": "2017-08-22T10:48:57", "url": "https://files.pythonhosted.org/packages/55/ae/770e8b7d7ec8a0046ab8e5249b2cd75acc10de3943d98311039b3d5c786f/tri.query-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "3bbd664086d4174deeaa03de19ba3a4a", "sha256": "f5d6876506294af8509ed12edb581d59ec31703a31eb42191149a5388649228c" }, "downloads": -1, "filename": "tri.query-4.0.1.tar.gz", "has_sig": false, "md5_digest": "3bbd664086d4174deeaa03de19ba3a4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13802, "upload_time": "2018-09-21T11:09:03", "url": "https://files.pythonhosted.org/packages/7c/30/298e2b25121fed41b80056074e332e5551693e89b72dc2f520b7593b3b44/tri.query-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "dd15676ad657c00f2e14684961453b0e", "sha256": "c777dd88da58f8e38455eaf9adfb80dcde6d6a52c5635e7e6d9f023666d0692e" }, "downloads": -1, "filename": "tri.query-4.0.2.tar.gz", "has_sig": false, "md5_digest": "dd15676ad657c00f2e14684961453b0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13990, "upload_time": "2018-10-04T06:56:13", "url": "https://files.pythonhosted.org/packages/39/27/5032f95e78f56ee749192f9c35f39945f586f452a82be9ca0468a35584d6/tri.query-4.0.2.tar.gz" } ], "4.0.3": [ { "comment_text": "", "digests": { "md5": "9709a4226468c1880d1a5cd5ce30d330", "sha256": "d0d5cb5e201c0242a6c019f83d4369798f51fe19b8c2cac372c2efb351b1d9d7" }, "downloads": -1, "filename": "tri.query-4.0.3.tar.gz", "has_sig": false, "md5_digest": "9709a4226468c1880d1a5cd5ce30d330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14256, "upload_time": "2018-10-10T13:21:26", "url": "https://files.pythonhosted.org/packages/88/6f/78102446eb0e234da12dcbe1947a6600d04dc9a89b2270727a6293206c71/tri.query-4.0.3.tar.gz" } ], "4.0.4": [ { "comment_text": "", "digests": { "md5": "a18b946047da50dfc2e874e26c164c1b", "sha256": "e49f7278f274a647743b289ef7f402ce7dcd1eb351834b7ed85519d221af3628" }, "downloads": -1, "filename": "tri.query-4.0.4.tar.gz", "has_sig": false, "md5_digest": "a18b946047da50dfc2e874e26c164c1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14319, "upload_time": "2018-10-23T13:12:39", "url": "https://files.pythonhosted.org/packages/80/77/f6e6334faa7be386d23db20f26c24d79f99d7e8ed5ae1d93fa16cb1df824/tri.query-4.0.4.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "98338b7cc63739713380543b9b61196f", "sha256": "ace2c422e90fd9dfcf856a25051c9984010041b4160bea2c08cd7cb0f6c84a71" }, "downloads": -1, "filename": "tri.query-4.1.0.tar.gz", "has_sig": false, "md5_digest": "98338b7cc63739713380543b9b61196f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14611, "upload_time": "2019-02-19T09:34:13", "url": "https://files.pythonhosted.org/packages/56/b1/f09b736eee4cb80555cc93e0e5d62ceb56e06662b36ef7a3c74a700320b1/tri.query-4.1.0.tar.gz" } ], "4.2.0": [ { "comment_text": "", "digests": { "md5": "8ec4cc687b5aa0c26846b7c668e79822", "sha256": "3d89ea6a2a3652135b033e58c363305bb4fb461fc5c9106c5c9ae7cfed6a8c1d" }, "downloads": -1, "filename": "tri.query-4.2.0.tar.gz", "has_sig": false, "md5_digest": "8ec4cc687b5aa0c26846b7c668e79822", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14647, "upload_time": "2019-04-01T07:39:12", "url": "https://files.pythonhosted.org/packages/60/01/c0d01cc591889b4facd033c8793a6168a5061874898c99195dd51810503d/tri.query-4.2.0.tar.gz" } ], "4.2.1": [ { "comment_text": "", "digests": { "md5": "b7b467dea7cd21eb73c29a20640c9c37", "sha256": "7fc143aa80ee1fe7e6a687abf9a167ad8466b0a665a3f42afcb80bb36122b28d" }, "downloads": -1, "filename": "tri.query-4.2.1.tar.gz", "has_sig": false, "md5_digest": "b7b467dea7cd21eb73c29a20640c9c37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14787, "upload_time": "2019-04-25T12:34:03", "url": "https://files.pythonhosted.org/packages/d3/25/49cb91b2d0c5a0ee7122b5f26013d86da014b5a36a04dad068e83882fbec/tri.query-4.2.1.tar.gz" } ], "5.0.0": [ { "comment_text": "", "digests": { "md5": "4bae662d4735ea7d0c78a7de50aaf844", "sha256": "3303c750b1108ddafd8931302d20e004026413ba5fe74fc886afbc75da0fa954" }, "downloads": -1, "filename": "tri.query-5.0.0.tar.gz", "has_sig": false, "md5_digest": "4bae662d4735ea7d0c78a7de50aaf844", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14862, "upload_time": "2019-04-12T14:08:21", "url": "https://files.pythonhosted.org/packages/48/6d/728dceb1fbee835b983a846e7b51fc948ec17c9a9cb8c5bc41145e5fcd0b/tri.query-5.0.0.tar.gz" } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "b79c41ed02389456613893adeb32ea34", "sha256": "eee1e8b65192225927220e22b9a9926dda839a41a0baedc4d4fd73c2aa63570f" }, "downloads": -1, "filename": "tri.query-5.0.1.tar.gz", "has_sig": false, "md5_digest": "b79c41ed02389456613893adeb32ea34", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14949, "upload_time": "2019-04-25T12:34:03", "url": "https://files.pythonhosted.org/packages/33/19/325d3ed07b6d09632ccc2f2e20d5daca3b06b293420f67cbcca83ae98735/tri.query-5.0.1.tar.gz" } ], "5.0.2": [ { "comment_text": "", "digests": { "md5": "9a5603e47e299d7bd09931fe0a68bfde", "sha256": "babb60b37bc60f22f2ca12959d8d8705c8c382e7eb11e1c9367f4bb1477459cc" }, "downloads": -1, "filename": "tri.query-5.0.2.tar.gz", "has_sig": false, "md5_digest": "9a5603e47e299d7bd09931fe0a68bfde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15000, "upload_time": "2019-05-06T09:25:37", "url": "https://files.pythonhosted.org/packages/39/fa/c44f85e402cdce5a3e0719ee99b3a5f08df774412d2cfe4a67ee3b93ec6b/tri.query-5.0.2.tar.gz" } ], "6.0.0": [ { "comment_text": "", "digests": { "md5": "6faeebab48d52613dc1bcc97b00cd66a", "sha256": "c620d5afbf7f16acb4b80e3d1f4a23d03dcf4bf4a148b64f229113530c4ca6cf" }, "downloads": -1, "filename": "tri.query-6.0.0.tar.gz", "has_sig": false, "md5_digest": "6faeebab48d52613dc1bcc97b00cd66a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14944, "upload_time": "2019-06-14T07:47:44", "url": "https://files.pythonhosted.org/packages/9a/b1/739117a1dc77eb41b96d3ccb201c0467f56478ec76692fe715cdc1de4d81/tri.query-6.0.0.tar.gz" } ], "6.1.0": [ { "comment_text": "", "digests": { "md5": "8ed26cc433a03ffc396ac6bfbc7964b2", "sha256": "ed1da45028a78ffd2b73c4f273ed0311fd502e0b43c0589e3991e14caa68b796" }, "downloads": -1, "filename": "tri.query-6.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ed26cc433a03ffc396ac6bfbc7964b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14201, "upload_time": "2019-10-15T09:33:33", "url": "https://files.pythonhosted.org/packages/c7/07/46dbace4f44f06ae1eb030ca7979bbc81e3d644edab034895d4914e40a3e/tri.query-6.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce629a0cd648f1d1d329c3750973ba2b", "sha256": "fd0d7ef1d6746f392ab86197110c19978d3ffecc2aede7065ecd79409f53c973" }, "downloads": -1, "filename": "tri.query-6.1.0.tar.gz", "has_sig": false, "md5_digest": "ce629a0cd648f1d1d329c3750973ba2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17561, "upload_time": "2019-10-15T09:33:35", "url": "https://files.pythonhosted.org/packages/b8/3d/25176f696f9f379b53dfe6c8a8eac85b9c4db62e380c05a7ef525be1942e/tri.query-6.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ed26cc433a03ffc396ac6bfbc7964b2", "sha256": "ed1da45028a78ffd2b73c4f273ed0311fd502e0b43c0589e3991e14caa68b796" }, "downloads": -1, "filename": "tri.query-6.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ed26cc433a03ffc396ac6bfbc7964b2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14201, "upload_time": "2019-10-15T09:33:33", "url": "https://files.pythonhosted.org/packages/c7/07/46dbace4f44f06ae1eb030ca7979bbc81e3d644edab034895d4914e40a3e/tri.query-6.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce629a0cd648f1d1d329c3750973ba2b", "sha256": "fd0d7ef1d6746f392ab86197110c19978d3ffecc2aede7065ecd79409f53c973" }, "downloads": -1, "filename": "tri.query-6.1.0.tar.gz", "has_sig": false, "md5_digest": "ce629a0cd648f1d1d329c3750973ba2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17561, "upload_time": "2019-10-15T09:33:35", "url": "https://files.pythonhosted.org/packages/b8/3d/25176f696f9f379b53dfe6c8a8eac85b9c4db62e380c05a7ef525be1942e/tri.query-6.1.0.tar.gz" } ] }