{ "info": { "author": "Steve Webster", "author_email": "spjwebster@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Text Processing :: General" ], "description": "========\nboolrule\n========\n\n.. image:: https://img.shields.io/pypi/v/boolrule.svg\n :target: https://pypi.python.org/pypi/boolrule\n\n.. image:: https://img.shields.io/travis/tailsdotcom/boolrule.svg\n :target: https://travis-ci.org/tailsdotcom/boolrule\n\n.. image:: https://readthedocs.org/projects/boolrule/badge/?version=latest\n :target: https://boolrule.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/tailsdotcom/boolrule/shield.svg\n :target: https://pyup.io/repos/github/tailsdotcom/boolrule/\n :alt: Updates\n\n\nSimple boolean expression evaluation engine.\n\n* Free software: MIT license\n* Documentation: https://boolrule.readthedocs.io.\n\n\nFeatures\n========\n\nCompare simple boolean statements::\n\n >>> rule = BoolRule('5 > 3')\n >>> rule.test()\n True\n >>> rule = BoolRule('5 < 3')\n >>> rule.test()\n False\n\n\nEvaluate boolean statements against a context dict::\n\n >>> can_buy_beer = BoolRule('user.age_years >= 18')\n >>> can_buy_beer.test({'user':{'age_years': 12}})\n False\n >>> can_buy_beer.test({'user':{'age_years': 20}})\n True\n\nCombine conditions with and and or operators to produce complex expressions::\n\n >>> is_hipster = BoolRule('address.postcode.outcode in (\"E1\",\"E2\") or user.has_beard = true')\n >>> address = {\n >>> 'postcode': {\n >>> 'outcode': 'E1'\n >>> }\n >>> }\n >>> is_hipster.test({'has_beard': False, 'address': address})\n True\n\n\nCredits\n=======\n\nMade possible by the excellent pyparsing_ library.\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _pyparsing: http://pyparsing.wikispaces.com/\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n\n=======\nHistory\n=======\n\n0.2.0 (2016-10-27)\n------------------\n\n* Fixed error caused by refactor from internal codebase that was preventing deep context level values from being\n referenced in a substitution value\n\n0.1.2 (2016-09-30)\n------------------\n\n* Improved documentation\n\n\n0.1.1 (2016-09-30)\n------------------\n\n* Made ``context`` optional\n* Improved documentation\n\n\n0.1.0 (2016-09-30)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tailsdotcom/boolrule", "keywords": "boolrule boolean expression", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "boolrule", "package_url": "https://pypi.org/project/boolrule/", "platform": "", "project_url": "https://pypi.org/project/boolrule/", "project_urls": { "Homepage": "https://github.com/tailsdotcom/boolrule" }, "release_url": "https://pypi.org/project/boolrule/0.3.0/", "requires_dist": [ "pyparsing" ], "requires_python": "", "summary": "Simple boolean expression evaluation engine", "version": "0.3.0" }, "last_serial": 3490347, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "02f6dc7e4463732271cbec8143eae45f", "sha256": "082456a280542d9372b904cad120ce946d150e7b696d6c81eb8d2cc7efc7a617" }, "downloads": -1, "filename": "boolrule-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02f6dc7e4463732271cbec8143eae45f", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5507, "upload_time": "2016-09-30T16:21:26", "url": "https://files.pythonhosted.org/packages/c8/46/98773a7395e0c79079c5ac7fb1dc7156dc15bb2cb5103da169c1fe5394c9/boolrule-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4fdd8d771dcbab5793b00c69eeeafb9", "sha256": "460b448878dbcdd32ac0c82537793dd23eaa9a76adbcbb7a7a7ddadfd0356144" }, "downloads": -1, "filename": "boolrule-0.1.0.tar.gz", "has_sig": false, "md5_digest": "f4fdd8d771dcbab5793b00c69eeeafb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14308, "upload_time": "2016-09-30T16:21:17", "url": "https://files.pythonhosted.org/packages/38/45/4866035395726511f52ceb784e1d6346007c5007f693485b1d59bfab6d7f/boolrule-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5704d012c9f7d9da1b9c882492b70bf3", "sha256": "c419a9b277e23aaa66a86949312f83cdc8cc63f4b0c38c41327d115e5ebf15be" }, "downloads": -1, "filename": "boolrule-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5704d012c9f7d9da1b9c882492b70bf3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6275, "upload_time": "2016-09-30T20:15:39", "url": "https://files.pythonhosted.org/packages/9e/ba/5d2080ed15bfda83a95bc76514d85ceef79b867805494bdded3fbcc37711/boolrule-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b4e614c52d4363563e639141a5cc166", "sha256": "00e21c24673c740b3821b27e48737e374590453f388478a931e27a56b8cdcbb8" }, "downloads": -1, "filename": "boolrule-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2b4e614c52d4363563e639141a5cc166", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16529, "upload_time": "2016-09-30T20:15:42", "url": "https://files.pythonhosted.org/packages/7c/2e/95732bdec5312f30b812fc9991fa5f0782033c6b6e50c6fc0f4a1b704200/boolrule-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "31f74d597dbd4df972cd5240780d8484", "sha256": "1b18ba095eb86b53d4907ae2656e1e8ebafe41ad9b8c4876afce2f2a7861753c" }, "downloads": -1, "filename": "boolrule-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31f74d597dbd4df972cd5240780d8484", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6264, "upload_time": "2016-09-30T21:02:34", "url": "https://files.pythonhosted.org/packages/16/d1/6cc47aa693f7b7a2a0672f75574f2158301bba31f1dc3c1f607be85c23d4/boolrule-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7cbd079cdcd2e640988c24727590c5f", "sha256": "88668ac1d1f5c7a76278cfac65992d7a84aaed7e0162af4379468703049c803a" }, "downloads": -1, "filename": "boolrule-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d7cbd079cdcd2e640988c24727590c5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16664, "upload_time": "2016-09-30T21:02:36", "url": "https://files.pythonhosted.org/packages/60/9d/48ea15a1abeec65211a695f91bc7279e965683ce60cde0a9cac8b76fb759/boolrule-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "5021e5409ffd3f279212e35746d1975e", "sha256": "fd608ccd4240a78398d7d99224ca4fb9dbc883dd2e9b04a78ec1b78b93843c28" }, "downloads": -1, "filename": "boolrule-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5021e5409ffd3f279212e35746d1975e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6442, "upload_time": "2016-10-27T12:52:06", "url": "https://files.pythonhosted.org/packages/d1/c1/ff7409b73d047d284a5c070382c48208b3f9377f522de4f38f8f81017236/boolrule-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "23c3943dd75a179cd76f67b519950e6c", "sha256": "cef798c94ddc05ee0049c09aad6aaf02813ddaa5879ccadc8419e4bd8c6b2ded" }, "downloads": -1, "filename": "boolrule-0.2.0.tar.gz", "has_sig": false, "md5_digest": "23c3943dd75a179cd76f67b519950e6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16848, "upload_time": "2016-10-27T12:52:08", "url": "https://files.pythonhosted.org/packages/cc/de/53a4f3ddafe8bab84922770f4fb3446c25545fdbcf14b5dd037aebafb980/boolrule-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "52a37abf8fd1993010f961b34c16a825", "sha256": "3329dc9bc22b0c637ee0c393d6171fac132e8989baa2846697a5781710607563" }, "downloads": -1, "filename": "boolrule-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "52a37abf8fd1993010f961b34c16a825", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6445, "upload_time": "2017-10-16T09:18:34", "url": "https://files.pythonhosted.org/packages/37/56/20165195f51e43acebc8395aaece5bf02f34cf2bb09b9488f863b2d1924b/boolrule-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f847d86eeafbfec3fe3cfd214f322dfa", "sha256": "689da66cd67273e49a7202975e632e37ac284c13d5fef7f3ef306d18972549e1" }, "downloads": -1, "filename": "boolrule-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f847d86eeafbfec3fe3cfd214f322dfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16847, "upload_time": "2017-10-16T09:18:35", "url": "https://files.pythonhosted.org/packages/6e/0f/f858208a0bb427c36f0cae6a876e4a42a85c95252a3d44a6a4f9b6b9c46c/boolrule-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "823e25a9daf69a856266304014ca26a0", "sha256": "7b7cdc56801be9efa7b01a4a73352fbb5321f28586864b18c2c9239dfcbe343d" }, "downloads": -1, "filename": "boolrule-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "823e25a9daf69a856266304014ca26a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6503, "upload_time": "2018-01-15T08:28:19", "url": "https://files.pythonhosted.org/packages/71/f8/b678b142ab52604cde06702a50647a1902d9a5e36466a23e1a8d053c9508/boolrule-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4645c63348ed4abb36a262dee8074dc8", "sha256": "e0fe9f178da0bf0d7e76f26f5f3ba88c438dd4fd0d8e6cb100806d85b1732b16" }, "downloads": -1, "filename": "boolrule-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4645c63348ed4abb36a262dee8074dc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16988, "upload_time": "2018-01-15T08:28:20", "url": "https://files.pythonhosted.org/packages/fa/b4/6a349cc63efb279390d9da9eb8b58ed572214f84eeb7aa53ba38a6bff4de/boolrule-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "823e25a9daf69a856266304014ca26a0", "sha256": "7b7cdc56801be9efa7b01a4a73352fbb5321f28586864b18c2c9239dfcbe343d" }, "downloads": -1, "filename": "boolrule-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "823e25a9daf69a856266304014ca26a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6503, "upload_time": "2018-01-15T08:28:19", "url": "https://files.pythonhosted.org/packages/71/f8/b678b142ab52604cde06702a50647a1902d9a5e36466a23e1a8d053c9508/boolrule-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4645c63348ed4abb36a262dee8074dc8", "sha256": "e0fe9f178da0bf0d7e76f26f5f3ba88c438dd4fd0d8e6cb100806d85b1732b16" }, "downloads": -1, "filename": "boolrule-0.3.0.tar.gz", "has_sig": false, "md5_digest": "4645c63348ed4abb36a262dee8074dc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16988, "upload_time": "2018-01-15T08:28:20", "url": "https://files.pythonhosted.org/packages/fa/b4/6a349cc63efb279390d9da9eb8b58ed572214f84eeb7aa53ba38a6bff4de/boolrule-0.3.0.tar.gz" } ] }