{ "info": { "author": "Treussart Matthieu", "author_email": "matthieu@treussart.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Interpreters" ], "description": "django-dsl\n==========\n\n|Licence| |Version|\n\n.. image:: https://api.codacy.com/project/badge/Grade/0f62e3ba9031490e8445268e0c146024?branch=master\n :alt: Codacy Grade\n :target: https://www.codacy.com/app/treussart/django-dsl?utm_source=github.com&utm_medium=referral&utm_content=treussart/django-dsl&utm_campaign=Badge_Grade\n\n.. image:: https://api.codacy.com/project/badge/Coverage/0f62e3ba9031490e8445268e0c146024?branch=master\n :alt: Codacy Coverage\n :target: https://www.codacy.com/app/treussart/django-dsl?utm_source=github.com&utm_medium=referral&utm_content=treussart/django-dsl&utm_campaign=Badge_Coverage\n\n+------------------+--------------------+\n| Status | Operating system |\n+==================+====================+\n| |Build_Status| | Linux x86\\_64 |\n+------------------+--------------------+\n\nRequirements\n------------\n\n- PLY\n- Django\n\nInstallation\n------------\n\n::\n\n pip install django-domain-specific-language\n\nUsage\n-----\n\nAllows you to search by specifying the name of the column of the\ndatabase.\n\nCharacters allowed:\n\n* Key (column name) : `A-Za-z0-9_.`\n* Value : all except ')' '(' and white space. \n\nQuery Parser Syntax:\n\n* Wildcard Searches: *\n\n * \\*test : All that ends by test\n * test\\* : All that starts by test\n * \\*test\\* : All that contains test\n * \\\\*test\\\\* : All equal to \\*test\\*\n * \\\\*test* : All that starts by *test\n * \\*test\\\\\\* : All that ends by test*\n* `Regex`_ Searches: ~\n\n * ~\\W+ : Matches any character which is not a word character.\n * \\\\~test : Matches all equal to \\~test.\n* Boolean Operators: AND OR NOT\n* Grouping: ( )\n* Date and number Searches (operators: < > <= >=) :\n\n * key>2\n * key<=2\n* Date Range Searches (inclusive) (which correspond to SQL queries of BETWEEN):\n\n * key:2018-05-04_2018-05-05\n* Null Searches (which correspond to SQL queries of IS NULL and IS NOT NULL):\n\n * key:True\n * key:False\n\nExample\n-------\n\nYour database:\n\n.. figure:: https://raw.githubusercontent.com/treussart/django-dsl/master/example-db.png\n :alt: DB image\n\n DB image\n\nThe possible researches:\n\n* Country:India AND Product:Ice-cream\n* Country:\\*a\\* AND NOT Product:~.*e$\n\nIn your code:\n\n::\n\n from django_dsl.run import compile\n query = compile(request.GET['expression'])\n cls.objects.filter(query)\n\n.. _Regex: https://docs.python.org/3/library/re.html\n\n.. |Build_Status| image:: https://travis-ci.org/treussart/django-dsl.svg?branch=master\n :target: https://travis-ci.org/treussart/django-dsl\n\n.. |Version| image:: https://img.shields.io/github/tag/treussart/django-dsl.svg\n.. |Licence| image:: https://img.shields.io/github/license/treussart/django-dsl.svg\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/treussart/django-dsl", "keywords": "django dsl domain-specific-language", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "django-domain-specific-language", "package_url": "https://pypi.org/project/django-domain-specific-language/", "platform": "", "project_url": "https://pypi.org/project/django-domain-specific-language/", "project_urls": { "Homepage": "https://github.com/treussart/django-dsl" }, "release_url": "https://pypi.org/project/django-domain-specific-language/1.2.4/", "requires_dist": [ "Django (>=2)", "ply" ], "requires_python": "", "summary": "DSL for Django", "version": "1.2.4" }, "last_serial": 3865046, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "f5e26ebda577e2edd7c945cc2e71ef0c", "sha256": "5852cacbd484449d90b6144a4e8b781e1a11d1ed6389798f0888b1b632bc2b4b" }, "downloads": -1, "filename": "django_domain_specific_language-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f5e26ebda577e2edd7c945cc2e71ef0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4859, "upload_time": "2018-05-13T14:12:00", "url": "https://files.pythonhosted.org/packages/d9/0e/ae8f3b530ff6aeab56d759d2864419e25afaa1bc4a1e7e812c15e25458ba/django_domain_specific_language-1.0.0-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "cebe3db056c692c47c5bd8ec56305c85", "sha256": "66daf6f9d55d661bad843808e33e815f5b8e6977361eadc73ab466554c05413d" }, "downloads": -1, "filename": "django_domain_specific_language-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "cebe3db056c692c47c5bd8ec56305c85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6918, "upload_time": "2018-05-13T20:19:49", "url": "https://files.pythonhosted.org/packages/77/1d/8b173bd1a39241d944e57252b1fbd0864cdf9040016ba9fc7215f46697b2/django_domain_specific_language-1.1.0-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "1b4c073a3476ef445bb5504ac533d5d3", "sha256": "b941fcc5cc677b5ea365b721e5556c7e54be5db02c6fb3040681c09b3a859b1a" }, "downloads": -1, "filename": "django_domain_specific_language-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1b4c073a3476ef445bb5504ac533d5d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6949, "upload_time": "2018-05-13T20:27:06", "url": "https://files.pythonhosted.org/packages/4b/a7/0a5645184e2655324ecb26342956777751e48e992d1769219fc2cbc06996/django_domain_specific_language-1.1.1-py3-none-any.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "70642952aefc8bcc7649e48ec43b44e2", "sha256": "b1bfdedc1143d06e13d05ea85a1e6fdb3f5ffa3cbfe2533e68f4ff5046e4e76e" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "70642952aefc8bcc7649e48ec43b44e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7110, "upload_time": "2018-05-13T20:50:52", "url": "https://files.pythonhosted.org/packages/11/c2/d1b8a580f2c278857d7cb9544ce7fbd57a5428447e25dda099cf7a9bd47b/django_domain_specific_language-1.2.0-py3-none-any.whl" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "aed4380d70c2c027ee3f6be4eed9292f", "sha256": "1cfc4076bdf88748aeb7e19a88b3cf48657b64149b0bbfe07ee5cd0b3a1147d4" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "aed4380d70c2c027ee3f6be4eed9292f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7390, "upload_time": "2018-05-13T21:07:24", "url": "https://files.pythonhosted.org/packages/16/a6/dd0c969d8a995e6c20b7dd267bf14033f28a2de857721d479ae564993d59/django_domain_specific_language-1.2.1-py3-none-any.whl" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "794ff037a906ee9d8e3af2166454671b", "sha256": "f04e5ca5d2fece938256effdc4fcc3f4594b4f143deb3658e48aabaec5bde762" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "794ff037a906ee9d8e3af2166454671b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7332, "upload_time": "2018-05-14T06:09:54", "url": "https://files.pythonhosted.org/packages/4c/20/092b39bc0f95669ce1eebcb4fbc9a9af1fa45e88d00c967a72349d967089/django_domain_specific_language-1.2.2-py3-none-any.whl" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "a4a47d58ff37f1ccbc4a2d6aa4d6ffbd", "sha256": "2068e54adeecd6479622da52913e1b24e765cae6242d20e842c03267d60156be" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a4a47d58ff37f1ccbc4a2d6aa4d6ffbd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7417, "upload_time": "2018-05-14T17:23:02", "url": "https://files.pythonhosted.org/packages/d6/db/8c3cdc01a64331a9b74e2533959475d0f8ffb548b7156431cfc8ec584265/django_domain_specific_language-1.2.3-py3-none-any.whl" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "14d14a46204509acf3bdf068902ffbf2", "sha256": "0c80706554a4bfb36f2fdd03096c23f42b73a6085d90602d26bf97f6de7b077e" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "14d14a46204509acf3bdf068902ffbf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7924, "upload_time": "2018-05-15T15:33:45", "url": "https://files.pythonhosted.org/packages/57/3f/c4a403738bd8f3f825caa6b2d552c341afe7fe6d562a77a254cc9b1e21e0/django_domain_specific_language-1.2.4-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14d14a46204509acf3bdf068902ffbf2", "sha256": "0c80706554a4bfb36f2fdd03096c23f42b73a6085d90602d26bf97f6de7b077e" }, "downloads": -1, "filename": "django_domain_specific_language-1.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "14d14a46204509acf3bdf068902ffbf2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7924, "upload_time": "2018-05-15T15:33:45", "url": "https://files.pythonhosted.org/packages/57/3f/c4a403738bd8f3f825caa6b2d552c341afe7fe6d562a77a254cc9b1e21e0/django_domain_specific_language-1.2.4-py3-none-any.whl" } ] }