{ "info": { "author": "Quantitative Engineering Design Inc.", "author_email": "info@qed.ai", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Interpreters" ], "description": "# Bamboolean interpreter\n\n[![Build Status](https://travis-ci.org/qedsoftware/bamboolean.svg?branch=master)](https://travis-ci.org/qedsoftware/bamboolean)\n\nSupported from Python >= 3.6\n\nImplementation of Bamboolean - Boolean Logic Language\n\nBamboolean is a simple language that consumes array of pre-defined variables, and\nreturns boolean value if constraints on these variables are met.\n\n[Exemplary expressions in the language](./bamboolean/tests/fixtures.py)\n\n## Features\n\n- Case in-sensitive variable names and keywords\n- Comparison operators (listed below)\n- Logic AND / OR\n- Expressions with parentheses\n- Types: Float, Int, String, Bool, Variable\n- [Truth value testing same as in Python](https://docs.python.org/3/library/stdtypes.html#truth-value-testing)\n- Implicit cast of variables to boolean when no relational operator is specified\n\n##### Operators associativity\n\nAll operators are left-associative\n\n##### Operators precedence (the higher number the higher priority)\n\n1. OR\n2. AND\n3. == | != | < | <= | > | >=\n\n## Testing\n\nRun tests:\n\n `python run_tests.py`\n\n## EBNF Grammar\n\n```\ncompound_expr : expr\n | empty\n\nexpr : simple_expr (OR simple_expr)*\n\nsimple_expr : term (AND term)*\n\nterm : statement\n | LPAREN expr RPAREN\n\nstatement : value\n | constraint\n\nconstraint : variable (relational_operator value)?\n\nrelational_operator : ( EQ | NE | LT | LTE | GT | GTE )\n\nvalue : INTEGER\n | FLOAT\n | STRING\n | BOOL\n\nvariable : ID\n\nempty :\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/qedsoftware/bamboolean", "keywords": "boolean logic interpreter", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "bamboolean", "package_url": "https://pypi.org/project/bamboolean/", "platform": "", "project_url": "https://pypi.org/project/bamboolean/", "project_urls": { "Homepage": "https://github.com/qedsoftware/bamboolean" }, "release_url": "https://pypi.org/project/bamboolean/0.3.0/", "requires_dist": null, "requires_python": "", "summary": "Interpreter of Boolean Logic Language", "version": "0.3.0" }, "last_serial": 5571666, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4b76eefbea508452e5e73138e3563c5a", "sha256": "7a2711099aa5d1a22b48ae7c9dfd99d8c1ba9a477562380549406ff1a486cb57" }, "downloads": -1, "filename": "bamboolean-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4b76eefbea508452e5e73138e3563c5a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10237, "upload_time": "2017-12-01T19:10:54", "url": "https://files.pythonhosted.org/packages/4a/44/72d0fbed1098768238b06ca8c23147c49e3b92ef024d0c838d5731987c07/bamboolean-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bcf230d901eb1af342fda3af6a191843", "sha256": "b37baf6f8f5e6556dd5d5cded6aa7333d8154d99bca061b80892887a8bba053f" }, "downloads": -1, "filename": "bamboolean-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bcf230d901eb1af342fda3af6a191843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6514, "upload_time": "2017-12-01T19:10:56", "url": "https://files.pythonhosted.org/packages/ee/f8/cdaeffd7559afcb8cd1ec83f4ea844ed6b5048ce5f256ed5575411c822a2/bamboolean-0.1.0.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6476e02e6e67648b8469d758494e3917", "sha256": "f1c8b141ace53216e9efd1b309d34d313abe6c50c2eeac5ccaeb27dc2dbb2e66" }, "downloads": -1, "filename": "bamboolean-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6476e02e6e67648b8469d758494e3917", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10285, "upload_time": "2017-12-08T13:36:32", "url": "https://files.pythonhosted.org/packages/3c/c5/769b2ceeaaded57f02f82b55fd42a18ef39eaef9812843dea59768567e06/bamboolean-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc76f82e2141c0e919c23fefc1aa5e6f", "sha256": "b5ac2c929f20493afa332a25c7f0109208690fdc804bd0e32ab78f0a350cbf74" }, "downloads": -1, "filename": "bamboolean-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bc76f82e2141c0e919c23fefc1aa5e6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6525, "upload_time": "2017-12-08T13:36:33", "url": "https://files.pythonhosted.org/packages/ef/3e/a4fc8cd112cce076af448b3fd7941847a30e3d105ea2b309432dae9c74cc/bamboolean-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2a5e8af6d39cbfa0997a474827abb877", "sha256": "07319fc514c021603e97ce55c1d369ff0e8e66385bd43a546985d470a8d04e10" }, "downloads": -1, "filename": "bamboolean-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2a5e8af6d39cbfa0997a474827abb877", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10502, "upload_time": "2017-12-09T18:18:00", "url": "https://files.pythonhosted.org/packages/b7/07/4e1da1aeccd78b4ffd40c93ff734ffb13ce3df1356c77160cbf458f46856/bamboolean-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "681e6a731110724e9d54152e1f9803a1", "sha256": "1be1f519fc1f6a621445f9ee69a422a0ba7d6094d18d24680d2cdfb636df1b58" }, "downloads": -1, "filename": "bamboolean-0.1.3.tar.gz", "has_sig": false, "md5_digest": "681e6a731110724e9d54152e1f9803a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7510, "upload_time": "2017-12-09T18:18:03", "url": "https://files.pythonhosted.org/packages/37/97/a5995dca8a219e1bbcd44181642e5f78e59f8e84a77f198fb94502de597e/bamboolean-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "1333c5ce7fc9494d1f3e236926c07f4b", "sha256": "e9c13e049c5761fd512389ef94bdd6d079df34829b794e465b1240c0a1d27b86" }, "downloads": -1, "filename": "bamboolean-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1333c5ce7fc9494d1f3e236926c07f4b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11253, "upload_time": "2018-03-16T11:59:10", "url": "https://files.pythonhosted.org/packages/59/04/7a5144d583a11c79e3c9503546db359249d1336886be329f1c54e18a2365/bamboolean-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2e204b39159269fab88458576915b60", "sha256": "a4da24dce3009e834903731a5ce2709678eca65d4c5e329bba05b314e54cb09c" }, "downloads": -1, "filename": "bamboolean-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c2e204b39159269fab88458576915b60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8035, "upload_time": "2018-03-16T11:59:16", "url": "https://files.pythonhosted.org/packages/77/e5/5cac229b63b58a348f968edf4b1317266ed7e07d83bcb1947cfad60b9aeb/bamboolean-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "cc9cbf978f95aaa39574be86efedd9f6", "sha256": "f27742952a9523663812c9388c868466be7678cf4e54cbc0329670e69095bba5" }, "downloads": -1, "filename": "bamboolean-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "cc9cbf978f95aaa39574be86efedd9f6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11780, "upload_time": "2018-03-16T13:00:48", "url": "https://files.pythonhosted.org/packages/61/d6/4ee48c1fea6ace4efbed8ce572b5cb7da4464fc6d7d20b53df6294a8bf2f/bamboolean-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e2dfad7a6e54a09166a251421e6b0ac", "sha256": "3224d9df60fb859c8b43364dd6dc5f5f4b6a112f2ee5c068394a8f10bc771e07" }, "downloads": -1, "filename": "bamboolean-0.1.5.tar.gz", "has_sig": false, "md5_digest": "0e2dfad7a6e54a09166a251421e6b0ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8372, "upload_time": "2018-03-16T13:00:53", "url": "https://files.pythonhosted.org/packages/15/d6/e6dcf66a3b5748ad73f82fcbb0c7e071d00829676ab662e764072e15fd54/bamboolean-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "ef9f79c12513a2d2a452499497793571", "sha256": "86363cfbec3dbce82fa238727e4dd53fd1ab123b2127eeed819a782db5ed2d5f" }, "downloads": -1, "filename": "bamboolean-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ef9f79c12513a2d2a452499497793571", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11816, "upload_time": "2018-04-27T14:32:57", "url": "https://files.pythonhosted.org/packages/82/0b/5410b75cfe795eb317b306612b6f494b90302babe0ff94c5d4ca894f26ee/bamboolean-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00c96bf5e58afe79d7fd38b53fd8429b", "sha256": "5f6f6e3095e082633516b56a0b3b62dbd8acffa60a638612011a8c195b9b0968" }, "downloads": -1, "filename": "bamboolean-0.1.6.tar.gz", "has_sig": false, "md5_digest": "00c96bf5e58afe79d7fd38b53fd8429b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8363, "upload_time": "2018-04-27T14:33:00", "url": "https://files.pythonhosted.org/packages/80/27/6109bc4a28148ce2dbee2989a787c044cbdf8141b36059f825710bd787ae/bamboolean-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "7b5ece566eafae6efd37458d8746e580", "sha256": "bab711f617193cab3f38c428d45f7787a1b449ed27c7b551639bcbb7d158169f" }, "downloads": -1, "filename": "bamboolean-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "7b5ece566eafae6efd37458d8746e580", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12312, "upload_time": "2018-04-27T15:57:51", "url": "https://files.pythonhosted.org/packages/e0/95/43f43680a9d3da9763b2136a3d4b9df788837ce0d722728e630990ad279b/bamboolean-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e8074420e0b86917e3684a0caca7501b", "sha256": "a7b90e8adbfffda7e9756a2749c9dd168cf11fb589d44acbddb3ecee17eeee5c" }, "downloads": -1, "filename": "bamboolean-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e8074420e0b86917e3684a0caca7501b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8694, "upload_time": "2018-04-27T15:57:54", "url": "https://files.pythonhosted.org/packages/7c/83/71f012c5dc4d057c693e00552c16fca17cab6457118d09e0408974bc4db5/bamboolean-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "590a8413e3b7678153ed29be954a035b", "sha256": "0644f679940bd859a0c7efdd1c59d67e21d608d71cbba56c715f5ec661e2ad37" }, "downloads": -1, "filename": "bamboolean-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "590a8413e3b7678153ed29be954a035b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12841, "upload_time": "2018-04-29T12:16:11", "url": "https://files.pythonhosted.org/packages/c3/73/d474072bbb7e0ab2956520aba7c05c7e9960aad9d099cdf4448c49540f77/bamboolean-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "240a967bfe120b51bbcf3b851ab59330", "sha256": "0d614cee579c63f103afd872d8cd89b97c589b4952f6db7632d0c0cdb46bc41d" }, "downloads": -1, "filename": "bamboolean-0.2.0.tar.gz", "has_sig": false, "md5_digest": "240a967bfe120b51bbcf3b851ab59330", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9155, "upload_time": "2018-04-29T12:16:16", "url": "https://files.pythonhosted.org/packages/c7/a4/04a74ba5930812c6fdf45225f04f264f6200625a49591d13362332ce9ec8/bamboolean-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "929622bc27ebf1f74b6bff1a930c4441", "sha256": "8065133cfb202fcdd43488ebbb4495241ea78c100bf4f895c9662616d42935b6" }, "downloads": -1, "filename": "bamboolean-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "929622bc27ebf1f74b6bff1a930c4441", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13099, "upload_time": "2019-07-23T10:12:29", "url": "https://files.pythonhosted.org/packages/cc/91/cccbe3af5820cca0c9c7fcd846d74d4e22334637a9293ab9205a9a959559/bamboolean-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea32ca5d337cb98382d1bb4ca6d53045", "sha256": "860ed35ff91d698fc4c419793dcc1d6ee812377024811f57c5518d92b05b21fd" }, "downloads": -1, "filename": "bamboolean-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ea32ca5d337cb98382d1bb4ca6d53045", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9787, "upload_time": "2019-07-23T10:12:31", "url": "https://files.pythonhosted.org/packages/a9/51/c163d074687e348d075334d7161574d203cbf7c899fc654444933b3e6c4f/bamboolean-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "929622bc27ebf1f74b6bff1a930c4441", "sha256": "8065133cfb202fcdd43488ebbb4495241ea78c100bf4f895c9662616d42935b6" }, "downloads": -1, "filename": "bamboolean-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "929622bc27ebf1f74b6bff1a930c4441", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13099, "upload_time": "2019-07-23T10:12:29", "url": "https://files.pythonhosted.org/packages/cc/91/cccbe3af5820cca0c9c7fcd846d74d4e22334637a9293ab9205a9a959559/bamboolean-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ea32ca5d337cb98382d1bb4ca6d53045", "sha256": "860ed35ff91d698fc4c419793dcc1d6ee812377024811f57c5518d92b05b21fd" }, "downloads": -1, "filename": "bamboolean-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ea32ca5d337cb98382d1bb4ca6d53045", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9787, "upload_time": "2019-07-23T10:12:31", "url": "https://files.pythonhosted.org/packages/a9/51/c163d074687e348d075334d7161574d203cbf7c899fc654444933b3e6c4f/bamboolean-0.3.0.tar.gz" } ] }