{ "info": { "author": "Ben Graham", "author_email": "bgraham@bgraham.com.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "Filternaut\n**********\n\n.. image:: https://travis-ci.org/bennullgraham/filternaut.svg?branch=master\n :target: https://travis-ci.org/bennullgraham/filternaut\n.. image:: https://landscape.io/github/bennullgraham/filternaut/master/landscape.svg?style=flat\n :target: https://landscape.io/github/bennullgraham/filternaut/master\n :alt: Code Health\n\nFilternaut is a simple library which generates arbitrarily complex Django\nQ-objects from simple data. It fits nicely into situations where users provide\ndata which you want to filter a queryset with.\n\nFilternaut is indirectly a collection of fields, but it differs from Django\nforms in that you specify the logical relationships between fields, as well\ntheir names and types.\n\nFilternaut is similar to Django Filters, but does not provide any machinery for\nrendering a user interface and does not inspect your models to autogenerate\nfilters. However, Django Filters chains many calls to ``.filter()`` which means\nOR-like behaviour with more than one join. Filternaut supports either\nbehaviour.\n\nQuickstart\n==========\n\n.. code-block:: python\n\n # filters are combined using logical operators\n filters = (\n DateTimeFilter('created_date', lookups=['lt', 'gt']) &\n CharFilter('username', lookups=['icontains']))\n\n # they can read their values from anything dict-like\n filters.parse(request.GET)\n\n # and have a form-like 'validity pattern'.\n if filters.valid:\n queryset = queryset.filter(filters.Q)\n else:\n raise HttpResponseBadRequest(json.dumps(filters.errors))\n\n\nInstallation\n============\n\n.. code-block:: console\n\n $ pip install django-filternaut\n\nFilternaut is compatible with:\n\n- Python 2.7, 3.4 and 3.5\n- Django 1.4 through to 1.10\n- (optionally) Django REST Framework 3.3 and 3.4\n\nDocumentation\n=============\n\nSee https://filternaut.readthedocs.org for full documentation.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/bennullgraham/filternaut", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-filternaut", "package_url": "https://pypi.org/project/django-filternaut/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-filternaut/", "project_urls": { "Homepage": "https://github.com/bennullgraham/filternaut" }, "release_url": "https://pypi.org/project/django-filternaut/0.0.10/", "requires_dist": null, "requires_python": null, "summary": "Construct arbitrarily complex Django \"Q\" filters from flat data, such as query parameters.", "version": "0.0.10" }, "last_serial": 2638019, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "dd2894e7b6405e94ffd7cd2e190cbf2f", "sha256": "ee7d11a858779026651e5c4143c5dbbcd465346befdcb2ff8a2bb3b4574dd8e8" }, "downloads": -1, "filename": "django_filternaut-0.0.1-py2.7.egg", "has_sig": false, "md5_digest": "dd2894e7b6405e94ffd7cd2e190cbf2f", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18211, "upload_time": "2015-02-24T09:57:19", "url": "https://files.pythonhosted.org/packages/46/03/41149e90cc1f3a8182ec0003ae06c0b6bb0115dc401527bd88566f66167b/django_filternaut-0.0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "44e27758e0103a15e7dcc4fd375dbe48", "sha256": "4eb06e1d2e86abb3dda18953f87f29cde16e729f76587a1a3e95e8ab8b0e2c11" }, "downloads": -1, "filename": "django_filternaut-0.0.1-py3.4.egg", "has_sig": false, "md5_digest": "44e27758e0103a15e7dcc4fd375dbe48", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 15492, "upload_time": "2015-02-24T09:57:23", "url": "https://files.pythonhosted.org/packages/51/4b/b1e8b58d63cd3a6ac68dc6e400618d29a43470e049f56bfc815da6374a08/django_filternaut-0.0.1-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "b7bdae348f68c14662a90b0d1bf6992a", "sha256": "5623025c89137ad5de118d49e2a38cb47d5ec4b18119afdc741e948a93871768" }, "downloads": -1, "filename": "django_filternaut-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b7bdae348f68c14662a90b0d1bf6992a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9395, "upload_time": "2015-02-24T09:57:27", "url": "https://files.pythonhosted.org/packages/b0/ab/b5919fd8779601675886b35c9a26dab9d174d96c783e1bbcc57cfbf5eb57/django_filternaut-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "108e20dde916faad28f955e0d1c586b8", "sha256": "6cee777edbab4d3befcbd4c5875ab5a16285d3878e0a775f627f1f4953407798" }, "downloads": -1, "filename": "django-filternaut-0.0.1.tar.gz", "has_sig": false, "md5_digest": "108e20dde916faad28f955e0d1c586b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6469, "upload_time": "2015-02-24T09:57:30", "url": "https://files.pythonhosted.org/packages/f2/56/defd7f83b10ddfa1d31a0a54d0b9f29d336779b429664be504e5d663887f/django-filternaut-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "37a490e2b8e67a32816329cc9669c9be", "sha256": "c8c49ba24e2aabfbbf4ba8137c773c5b8abf025c36ad2f890151fea359bedd5e" }, "downloads": -1, "filename": "django_filternaut-0.0.10-py3-none-any.whl", "has_sig": true, "md5_digest": "37a490e2b8e67a32816329cc9669c9be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11217, "upload_time": "2017-02-13T07:52:21", "url": "https://files.pythonhosted.org/packages/57/19/a9995416ecaf7e957347383df26618b037795817ca011653891ac409367b/django_filternaut-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca530a62be2e2ef109ccfd57f08e4731", "sha256": "abf8a562997a0ec8256ce27eea575b90e46b9a344c76d953f130e9dc2dd8923b" }, "downloads": -1, "filename": "django-filternaut-0.0.10.tar.gz", "has_sig": true, "md5_digest": "ca530a62be2e2ef109ccfd57f08e4731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8152, "upload_time": "2017-02-13T07:52:19", "url": "https://files.pythonhosted.org/packages/9a/79/d51e0eda9bc897a36d4e08e55261a06249360f3487258eb02200c0e64365/django-filternaut-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "c9b9e32c815a04afe5b09ae26c98417c", "sha256": "a83a2438888e66caf0fa6e3b293242a2cda69dc7834b9c1c66ba368eb00d237a" }, "downloads": -1, "filename": "django_filternaut-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c9b9e32c815a04afe5b09ae26c98417c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 9674, "upload_time": "2015-02-25T05:47:23", "url": "https://files.pythonhosted.org/packages/ef/c9/fb8c7750e89e6c4ece06ac3025aa6f1589d1745d146de67df23f9b2e7349/django_filternaut-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7adfa50cd544574830a48f7829dfefa7", "sha256": "cc69fdd532d610f2297e8d28a99f90df831c5a6754ab1e25c2235a093b66bcd6" }, "downloads": -1, "filename": "django-filternaut-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7adfa50cd544574830a48f7829dfefa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6754, "upload_time": "2015-02-25T05:47:19", "url": "https://files.pythonhosted.org/packages/90/a8/238634a37311318c58101fd0fc81cf737dd51a6164121aa9d7d6ed781713/django-filternaut-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a96efa1ed3e14eb9892f047bf328c248", "sha256": "bfd8d4c9fe71af99dc55fdb0fd0d22490c99577cbda924285f7fbd7a34ae079c" }, "downloads": -1, "filename": "django_filternaut-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a96efa1ed3e14eb9892f047bf328c248", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10614, "upload_time": "2015-02-28T04:51:54", "url": "https://files.pythonhosted.org/packages/6c/b3/225048508fbfe321068f4cdd1f7bdbdb566dfc57fadb258ee56c0f3482c7/django_filternaut-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c1f37d791dfa40675ad2a4d2fb35456", "sha256": "0ce438a6bd0dea467700ffff848595325deea0e624506e4dc12c87e3f36f8dc1" }, "downloads": -1, "filename": "django-filternaut-0.0.3.tar.gz", "has_sig": false, "md5_digest": "4c1f37d791dfa40675ad2a4d2fb35456", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7682, "upload_time": "2015-02-28T04:51:50", "url": "https://files.pythonhosted.org/packages/46/b0/b20df776fdbd728e9eea704b415a190c873ac5b38363c2d2bf3e894812df/django-filternaut-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "780a6c165b0c357106000bdaee70f0cf", "sha256": "521c4dca125ed346742752a327200f2c7b0d724e6bfbf1181a6f384a78c0e0c0" }, "downloads": -1, "filename": "django_filternaut-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "780a6c165b0c357106000bdaee70f0cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10883, "upload_time": "2015-03-10T02:34:41", "url": "https://files.pythonhosted.org/packages/e5/8c/cd7d3fd778a307cdc58ee5ffccdaa8ad6d82abe84986387b7085679a8d95/django_filternaut-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a883ced6347c2dddb3e248e59d50da2", "sha256": "d592b125307196cd96cef95d649cd2853a1d27645eb8d76db12a2491f81cd1e3" }, "downloads": -1, "filename": "django-filternaut-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7a883ced6347c2dddb3e248e59d50da2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7968, "upload_time": "2015-03-10T02:34:38", "url": "https://files.pythonhosted.org/packages/c7/1e/1ad0e56351baa52530e7d49682e665f89a94484a281118510e0d00278ca3/django-filternaut-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "4c156e222e1c2fdeae2df414cd0618b6", "sha256": "4deea97c4164dbd17ddaada3b910efa0b7c8699f7faccefab50c138434e2f491" }, "downloads": -1, "filename": "django_filternaut-0.0.5-py2-none-any.whl", "has_sig": false, "md5_digest": "4c156e222e1c2fdeae2df414cd0618b6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10993, "upload_time": "2015-06-03T23:57:17", "url": "https://files.pythonhosted.org/packages/30/fb/24d865e940a5bb403835ba880d2eb1b7dd701cd53670f4032170094d7a58/django_filternaut-0.0.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e67fde06b9bf399b56e6a5f81f0d07eb", "sha256": "51b0abb8d22889907363bddc1ad1dd5a604d38a6247e73e6f8bf26aabada12b3" }, "downloads": -1, "filename": "django-filternaut-0.0.5.tar.gz", "has_sig": false, "md5_digest": "e67fde06b9bf399b56e6a5f81f0d07eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8040, "upload_time": "2015-06-03T23:57:13", "url": "https://files.pythonhosted.org/packages/10/f1/d8951aca5957beeaaed1759c302a50af6111b83a4752b433b069fe185866/django-filternaut-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "63b0b944a12dd2e18ed4edbbb3ec5c0e", "sha256": "cd563db552ff1396bf8c2e076071a1af1db03c8221f31ff720550b8329af8f7b" }, "downloads": -1, "filename": "django_filternaut-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "63b0b944a12dd2e18ed4edbbb3ec5c0e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11028, "upload_time": "2015-12-01T07:10:10", "url": "https://files.pythonhosted.org/packages/c1/36/7f9dba87ba7b45859b904609c7d0ec4cd1d559dd769b38707e6be8185e94/django_filternaut-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d95490f870431dc0587bab490d233c6", "sha256": "b3fe21ddb2405b1acc970a9ca30ac94cb431490775edb0857512302b62417377" }, "downloads": -1, "filename": "django-filternaut-0.0.6.tar.gz", "has_sig": false, "md5_digest": "4d95490f870431dc0587bab490d233c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8063, "upload_time": "2015-12-01T07:09:55", "url": "https://files.pythonhosted.org/packages/01/5e/e94cf698c2fea89b5a9ffd028bbd697ae6f5eea867eb532e673bbdb1974d/django-filternaut-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "f009858cdbbdb3374ee116b14f13eb6c", "sha256": "6c57c42fe4ca31467e4551af1b28ac52ac192aa39979a46a2b4f1ec95b75f3f7" }, "downloads": -1, "filename": "django_filternaut-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f009858cdbbdb3374ee116b14f13eb6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11070, "upload_time": "2016-02-27T02:09:31", "url": "https://files.pythonhosted.org/packages/55/cd/5fe2b6f1e295f333e1809db9747c72ca3ba09cb241cf0fde85fbff12cf3a/django_filternaut-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f8f643de302100e6dbe240e0cb7d769", "sha256": "17298858787e23a076d2bc5aa441145cc3f4b211687c6f01f77da5f4eb044e2e" }, "downloads": -1, "filename": "django-filternaut-0.0.7.tar.gz", "has_sig": false, "md5_digest": "7f8f643de302100e6dbe240e0cb7d769", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8100, "upload_time": "2016-02-27T02:09:24", "url": "https://files.pythonhosted.org/packages/18/20/5e052907dc67c2bde213bdc80e05b3324aca48f8c521a837a48db41ff13a/django-filternaut-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "4eb8edff782c8172303de3e874163907", "sha256": "fd1939205f1025214ae769f4d8d15826362c12af0b175dc78acf43b9072376ec" }, "downloads": -1, "filename": "django_filternaut-0.0.8-py3-none-any.whl", "has_sig": false, "md5_digest": "4eb8edff782c8172303de3e874163907", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11090, "upload_time": "2016-11-17T22:29:30", "url": "https://files.pythonhosted.org/packages/46/7a/0cb1c11887348f15ddaa213d9a1cc9ff47539dd854b4b67a31399ff5a147/django_filternaut-0.0.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d66f983c94e0112c38ceae022dbd19c", "sha256": "f00be72a745b6b583dea6f703043cb9b7d67c5ad4b8f481e4c08ee959ab52736" }, "downloads": -1, "filename": "django-filternaut-0.0.8.tar.gz", "has_sig": false, "md5_digest": "3d66f983c94e0112c38ceae022dbd19c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8062, "upload_time": "2016-11-17T22:29:27", "url": "https://files.pythonhosted.org/packages/20/18/6197105a434e9b6c6e53120fcb1dad93af3e3e46f0f7bcb3535ceca41a29/django-filternaut-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "1ef2b336e02ad6756295b7c709828bd9", "sha256": "f826292c0507000ef14e4a72007c37f58a4de4b3c41291b3a8b5aac1d5a6e2b2" }, "downloads": -1, "filename": "django_filternaut-0.0.9-py3-none-any.whl", "has_sig": true, "md5_digest": "1ef2b336e02ad6756295b7c709828bd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11214, "upload_time": "2017-01-16T00:02:42", "url": "https://files.pythonhosted.org/packages/74/4f/6e42a560d1880368b3fc45ffb1e96b5f653ef3273d85750ff1acc7054892/django_filternaut-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95ae5935cd551d7702a16b48a5d752e7", "sha256": "ce9e4898c8df3ca41c77edb69b9a60262b052323b77d725a2efafbc2e453f21e" }, "downloads": -1, "filename": "django-filternaut-0.0.9.tar.gz", "has_sig": true, "md5_digest": "95ae5935cd551d7702a16b48a5d752e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8155, "upload_time": "2017-01-16T00:02:45", "url": "https://files.pythonhosted.org/packages/d0/45/ddebb03623090a328430af45c9b244556bab25d95e35980b7de9461f2338/django-filternaut-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "37a490e2b8e67a32816329cc9669c9be", "sha256": "c8c49ba24e2aabfbbf4ba8137c773c5b8abf025c36ad2f890151fea359bedd5e" }, "downloads": -1, "filename": "django_filternaut-0.0.10-py3-none-any.whl", "has_sig": true, "md5_digest": "37a490e2b8e67a32816329cc9669c9be", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11217, "upload_time": "2017-02-13T07:52:21", "url": "https://files.pythonhosted.org/packages/57/19/a9995416ecaf7e957347383df26618b037795817ca011653891ac409367b/django_filternaut-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca530a62be2e2ef109ccfd57f08e4731", "sha256": "abf8a562997a0ec8256ce27eea575b90e46b9a344c76d953f130e9dc2dd8923b" }, "downloads": -1, "filename": "django-filternaut-0.0.10.tar.gz", "has_sig": true, "md5_digest": "ca530a62be2e2ef109ccfd57f08e4731", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8152, "upload_time": "2017-02-13T07:52:19", "url": "https://files.pythonhosted.org/packages/9a/79/d51e0eda9bc897a36d4e08e55261a06249360f3487258eb02200c0e64365/django-filternaut-0.0.10.tar.gz" } ] }