{ "info": { "author": "Juan Pablo Isaza", "author_email": "biosolardecolombia@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Build Tools" ], "description": "BooleanSolver\n=============\n\nIntroduction\n------------\n\nA picture is worth a thousand words and a vid is worth a thousand\npictures, so watch a `short intro `__ or\ncontinue reading...\n\nThis is a `python 2\nproject `__ to speed up\nboolean expression coding. Sometimes we need to crack a problem by\ncombining boolean operators such as: ``and``, ``or`` & ``not``. We as\nhumans are prone to err, specially when expressions get big. But there\nis an algorithm (Quine-McCluskey) to get this expressions with zero\nerror. Just specify your specs in a test and set a dummy function on\nyour code. When you run your tests a solver will take your specs and\ncode them into a simple boolean expression, enjoy :).\n\nThis same boolean logic is being expanded to a broader range of problems\ncheck other coding capabilities below.\n\nPackage Setup\n-------------\n\n1. Install Boolean-Solver package:\n\n ::\n\n $ pip install Boolean-Solver\n\nShort Example\n-------------\n\nAdd new script(\\ ``start.py``) with a mock function:\n\n::\n\n from boolean_solver import solver as s\n\n @s.solve()\n def and_function(a, b):\n pass\n\nAdd a unittest(\\ ``test.py``) with specs:\n\n::\n\n import unittest\n from boolean_solver import solver\n import start\n\n\n class MyTest(unittest.TestCase):\n \"\"\"\n 1. Set conditions of your boolean function (for True outputs)\n 2. Run solver.execute(self, callable, table) where callable is the boolean function\n with the decorator=@solve().\n See examples below:\n \"\"\"\n def test_AND_function(self):\n\n # The output is explicitly set to true\n cond = solver.Conditions(a=True, b=True, output=True)\n solver.execute(self, start.and_function, cond)\n\nThen run ``$ python -m unittest test``. In ``start.py`` the result\nshould be:\n\n::\n\n def and_function(a, b):\n return a and b\n\nNon-Boolean outputs\n-------------------\n\nWhat if the output for a given logical condition is not a boolean. In\nthat case a programmer would use an if. In the next example this package\nsolves this case automatically:\n\nAdd ``if_function(a, b)`` to ``start.py``:\n\n::\n\n @s.solve()\n def if_function(a, b):\n pass\n\n\nAdd ``test_ifs(self)`` to ``MyTest(unittest.TestCase)`` class in\n``test.py``:\n\n::\n\n def test_ifs(self):\n \"\"\"\n Testing ifs.\n \"\"\"\n cond = solver.Conditions(a=False, b=True, output=1) # non-boolean output\n cond.add(a=True, b=False, output=0) # non-boolean output\n solver.execute(self, start.if_function, cond)\n\nThen run ``$ python -m unittest test``, the result should be:\n\n::\n\n def if_function(a, b):\n\n if not a and b:\n return 1\n\n if a and not b:\n return 0\n\n return False\n\nNow, some cool coding\n---------------------\n\nAdd ``recursive(a)`` to ``start.py``:\n\n::\n\n @s.solve()\n def recursive(a):\n pass\n\nAdd ``test_recursive_function(self)`` to ``MyTest(unittest.TestCase)``\nclass in ``test.py``:\n\n::\n\n def test_recursive_function(self):\n \"\"\"\n Will do recursion, extremely cool!!!\n \"\"\"\n args = {'a': solver.Code('not a')}\n out = solver.Output(start.recursive, args)\n\n cond = solver.Conditions(a=False, output=0, default=out)\n solver.execute(self, start.recursive, cond)\n\nThe result this time will be a recursive function :)\n\n::\n\n def recursive(a):\n\n if not a:\n return 0\n\n return recursive(not a)\n\nExpression behaving like boolean inputs\n---------------------------------------\n\nSay you want to add a piece of code that evaluates to boolean, then:\n\nAdd ``with_internal_code(a)`` to ``start.py``:\n\n::\n\n @s.solve()\n def with_internal_code(a):\n pass\n\nAdd ``test_internal_code(self)`` to ``MyTest(unittest.TestCase)`` class\nin ``test.py``:\n\n::\n\n def test_internal_code(self):\n \"\"\"\n Testing internal pieces of code\n \"\"\"\n cond = solver.Conditions(any_non_input_name=solver.Code('isinstance(a, str)'), output=2)\n solver.execute(self, start.internal_code, cond)\n\nThe result should be:\n\n::\n\n def internal_code(a):\n\n if isinstance(a, str):\n return 2\n\n return False\n\nSource Code\n-----------\n\nSetup with source code\n----------------------\n\n1. Clone repository:\n ``git clone git@github.com:jisazaTappsi/BooleanSolver.git``\n\nIntro Example with source code\n------------------------------\n\n1. Enter ``boolean_solver``: ``cd boolean_solver``\n\n2. Run: ``python start_sample.py``\n\n ::\n\n Sorry, run:\n python -m unittest test_sample\n first, to solve the riddle :)\n\n3. So, run test with: ``python -m unittest test_sample``\n\n ::\n\n Solved and tested and_function_3_variables\n .Solved and tested and_function\n .Solved and tested or_function\n .Solved and tested xor_function\n .\n ----------------------------------------------------------------------\n Ran 4 tests in 0.006s\n\n OK\n\n4. Run: ``python start_sample.py``\n\n ::\n\n You made it, Congrats !!!\n Now, see the functions, enjoy :)\n\nYou just solved 4 boolean expressions: ``and``, ``or``, ``xor`` &\n``and3``. Specs for these functions are in ``test_sample.py``.\n\nHow does Boolean Solver works?\n------------------------------\n\nTakes a function and a truth\\_table which is processed using the\n`Quine-McCluskey\nAlgorithm `__.\nThen finds a optimal boolean expression. This expression is inserted in\nthe method definition with the decorator ``@boolean_solver()``.\n\nArguments of ``solver.execute(test, function, conditions)``\n-----------------------------------------------------------\n\n1. The test case itself, to be able to perform tests, eg: ``self``\n\n2. A function to optimize, passed as a callable (with no arguments).\n This function needs a 3 mock line definition with: line 1: decorator\n = ``@solve()`` line 2: signature eg: ``def my_function(a, b)`` line\n 3: body: only one line, eg: ``return False``. This line will be\n replaced by the boolean expression.\n\n3. \n\n a. ``solver.Conditions()`` instance: An object that can handle\n logical conditions with named arguments eg:\n\n cond = solver.Conditions(a=True, b=False)\n\n cond.add(a=True, b=True)\n\n The reserved word ``output`` allows:\n\n ::\n\n cond.add(a=False, b=False, output=False)\n\n Meaning that when ``a=False, b=False`` I want the ``output`` to be\n ``False``\n\n b. Truth table: Alternatively a truth table can be specified (as a\n set containing tuples). Where each row is a tuple, the general\n form is:\n\n {tuple\\_row(tuple\\_inputs(a, b, ...), output), ...}\n\n or with a implicit ``True`` output:\n\n ::\n\n {tuple_inputs(a, b, ...), ...}\n\nArguments of ``solver.Conditions() and cond.add()``\n---------------------------------------------------\n\nThese are specified as a dictionary containing certain keywords as well\nas the function inputs.\n\nKeywords are:\n\n``output``: Determines the value to be returned when the given condition\nis True.\n\n``output_args``: Dictionary with the values for the arguments when\noutput is a function.\n\n``default``: Value returned when non of the conditions are True.\n\nHelper Classes\n--------------\n\n``solver.Output``: Class that helps define a function with arguments as\nan output. Has fields:\n\n- ``function``: A callable object.\n- ``arguments`` Dictionary with the function inputs.\n\n``solver.Code``: Class that helps output pieces of code. The code is\ngiven as a String.\n\n``solver.Solution``: Class that contains the solution of the problem it\nincludes:\n\n- ``conditions``: The information given by the user.\n- ``implementation``: Plain code.\n- ``ast``: Abstract syntax tree", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jisazaTappsi/BooleanSolver", "keywords": "Quine McCluskey,Boolean,code,automatic code generation,expression,Boolean expression", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Boolean-Solver", "package_url": "https://pypi.org/project/Boolean-Solver/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Boolean-Solver/", "project_urls": { "Homepage": "https://github.com/jisazaTappsi/BooleanSolver" }, "release_url": "https://pypi.org/project/Boolean-Solver/0.5.2/", "requires_dist": null, "requires_python": "", "summary": "Fast development with generated boolean expressions.", "version": "0.5.2" }, "last_serial": 2465540, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e1466f6b07662f487ca79ecd4d9ee32c", "sha256": "e75067a278aebe8a46148041d092bb7771aab039cd5096b26bea3d5dcedde8fb" }, "downloads": -1, "filename": "Boolean_Solver-0.1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "e1466f6b07662f487ca79ecd4d9ee32c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10435, "upload_time": "2015-11-29T02:31:46", "url": "https://files.pythonhosted.org/packages/73/e1/0d561d3f345c4d74ccdcec2328516c1953d2655559967ee20c5f7d2d4bf9/Boolean_Solver-0.1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aaea01d472254f044abfe184d8c6be00", "sha256": "edebf3d682270e35d96dc47d2b6e6a723d5ce8633c8b46c2d0bf77e01d246534" }, "downloads": -1, "filename": "Boolean Solver-0.1.1.tar.gz", "has_sig": false, "md5_digest": "aaea01d472254f044abfe184d8c6be00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6697, "upload_time": "2015-11-29T02:31:51", "url": "https://files.pythonhosted.org/packages/00/d3/849907cb1390edad79aaf55422571acba9539f900ffb5f63b6fb9b9fc864/Boolean%20Solver-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "9ab617c184a8ae7440bd94d9002a92e3", "sha256": "b7871dfa0d564748239319ca42c9deee291746b4a90939c571cca41add2e31e7" }, "downloads": -1, "filename": "Boolean_Solver-0.1.10-py2-none-any.whl", "has_sig": false, "md5_digest": "9ab617c184a8ae7440bd94d9002a92e3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17542, "upload_time": "2015-12-01T05:21:33", "url": "https://files.pythonhosted.org/packages/09/7f/aa51763d6d05021de7cb7803b8074e83cc7c173e1ac5a085c1f464ffc739/Boolean_Solver-0.1.10-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aff4797ec535250c7d3c2c51d6855063", "sha256": "3062afb8da2b261ccc4f3cc660fb6f2770bdd328fc5a861a57a50ce5baa54582" }, "downloads": -1, "filename": "Boolean Solver-0.1.10.tar.gz", "has_sig": false, "md5_digest": "aff4797ec535250c7d3c2c51d6855063", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13299, "upload_time": "2015-12-01T05:21:59", "url": "https://files.pythonhosted.org/packages/cf/fd/ac6da51fdff3119e512876e0d53e72d4dc4973d98a7d1d6eaf4f4ea9e86e/Boolean%20Solver-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "0b5837ffb22cf7de2eb45e1ab91e8763", "sha256": "7d596daf85a147aaf92661f0ee810be1923c545bebad0b826bc8220c3663c28a" }, "downloads": -1, "filename": "Boolean_Solver-0.1.11-py2-none-any.whl", "has_sig": false, "md5_digest": "0b5837ffb22cf7de2eb45e1ab91e8763", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17636, "upload_time": "2015-12-01T05:39:52", "url": "https://files.pythonhosted.org/packages/e4/56/a8c556fdb51bd66cad9e3440a9fc047ff7dd4675b8967a10f28230c30872/Boolean_Solver-0.1.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e30a822fb177535e2bf3c89784e0f685", "sha256": "d6b691235ca38c6f4f916a8fcc97e62a694e2dc3f52320fba0f8a3407b933f1a" }, "downloads": -1, "filename": "Boolean Solver-0.1.11.tar.gz", "has_sig": false, "md5_digest": "e30a822fb177535e2bf3c89784e0f685", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13744, "upload_time": "2015-12-01T05:39:57", "url": "https://files.pythonhosted.org/packages/e7/98/33576b16f7e81d7c1c03635bd291b383b56702dce785536e151688453eeb/Boolean%20Solver-0.1.11.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "5f88d5e88924c7120327b67436b70253", "sha256": "a27144be1a1b99d5e8e4081d6e5cdaf1f4ff05ee6f7ae7385cb7963879ac5c4e" }, "downloads": -1, "filename": "Boolean_Solver-0.1.2-py2-none-any.whl", "has_sig": false, "md5_digest": "5f88d5e88924c7120327b67436b70253", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11146, "upload_time": "2015-11-29T16:45:27", "url": "https://files.pythonhosted.org/packages/37/7d/b175d2f1e78dcd954e9a07a267aea1a221d6446e8e79c8e6458dfe0a8b02/Boolean_Solver-0.1.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59b5afe77349c82c8e36bab97eb9db9d", "sha256": "9342dc1795266e15fa451f600382fbc40808463fb9bba21ba5f79a90b9d727b1" }, "downloads": -1, "filename": "Boolean Solver-0.1.2.tar.gz", "has_sig": false, "md5_digest": "59b5afe77349c82c8e36bab97eb9db9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7017, "upload_time": "2015-11-29T16:45:32", "url": "https://files.pythonhosted.org/packages/de/2a/8d8110a48eec0e12fdada6d6a938a461b237fd7ab0a48f6bbd36c42431a2/Boolean%20Solver-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "51baf61b969200d7286cd33e06cfd691", "sha256": "bc4f1af129af787e2e632a4159ce750deabeee3a1f100a4a53466b053cf45488" }, "downloads": -1, "filename": "Boolean_Solver-0.1.3-py2-none-any.whl", "has_sig": false, "md5_digest": "51baf61b969200d7286cd33e06cfd691", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11146, "upload_time": "2015-11-29T16:54:24", "url": "https://files.pythonhosted.org/packages/73/ef/35d2cdcd163a39cb2e9dfa4d0206b3db0f2d64b8d89572b391cdf580fccb/Boolean_Solver-0.1.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8e5fb2ecba080db65318e963a46cf87", "sha256": "e2a8b6d5515ed09eacd80a2b650074f35e0404b5f05971df0fe901c5cfeac194" }, "downloads": -1, "filename": "Boolean Solver-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d8e5fb2ecba080db65318e963a46cf87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7033, "upload_time": "2015-11-29T16:54:30", "url": "https://files.pythonhosted.org/packages/f1/23/bff2adaa1d4c52cd41c1fa263f77ec18d9707ec2bd2e41ad0f9c8f52e434/Boolean%20Solver-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "603b23455947af02bc1536deca2fc537", "sha256": "69a5b075869cb7546d490be5655e464a6ad51860c4e2d97c836bd254d1f4acd2" }, "downloads": -1, "filename": "Boolean_Solver-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "603b23455947af02bc1536deca2fc537", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 8790, "upload_time": "2015-11-29T16:55:58", "url": "https://files.pythonhosted.org/packages/32/fb/28bd4fefc1c059fa617f925f83f7d64a861b12d7dce826b1b28afae7dd2a/Boolean_Solver-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf708e235fa390b1fe772e8c0900847d", "sha256": "531bb4c7a0e7eddd063d9828c4a432ff293821573d64aa12990799a243494565" }, "downloads": -1, "filename": "Boolean Solver-0.1.4.tar.gz", "has_sig": false, "md5_digest": "cf708e235fa390b1fe772e8c0900847d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6044, "upload_time": "2015-11-29T16:56:14", "url": "https://files.pythonhosted.org/packages/26/a7/f46c00365a693830b3adc1b4d7bebe188b2e444ad475c70ca5e2f7936ae2/Boolean%20Solver-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "841a71f4ea2834161a95dff731c734a0", "sha256": "16faad3fb0e1abe6d1d61d12b8737b042947ea6c120d930dfd2dcd8f7791cdaf" }, "downloads": -1, "filename": "Boolean_Solver-0.1.5-py2-none-any.whl", "has_sig": false, "md5_digest": "841a71f4ea2834161a95dff731c734a0", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11146, "upload_time": "2015-11-29T17:07:28", "url": "https://files.pythonhosted.org/packages/c0/5f/1dd60fecf8e9d4b3dd5da0773ad51a2031b3d6fa1451cab6cada7b06a63f/Boolean_Solver-0.1.5-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "838eafb49c630e3fab815e477cd51f7d", "sha256": "867f6b957c9e6534c1272034c7372c359c8e085c0d647d66ab5cab63b9c8d43c" }, "downloads": -1, "filename": "Boolean Solver-0.1.5.tar.gz", "has_sig": false, "md5_digest": "838eafb49c630e3fab815e477cd51f7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7927, "upload_time": "2015-11-29T17:07:34", "url": "https://files.pythonhosted.org/packages/cd/c7/eecc7eaf5489e3776b256d6a09fe51ab4e14b7b1f1bce55e3419301362e1/Boolean%20Solver-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "6ad3a13406b7c4e99d62e01d078cef86", "sha256": "34a41df415a1682c3ae452b98f2fb4a0285e606d24781b3aeef87262b2113b6c" }, "downloads": -1, "filename": "Boolean_Solver-0.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "6ad3a13406b7c4e99d62e01d078cef86", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16859, "upload_time": "2015-11-30T15:21:30", "url": "https://files.pythonhosted.org/packages/74/7d/441b135626dfd4482d71fc327491223ab4954eacfbcd40b6470f4f612907/Boolean_Solver-0.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bdd67f701de6a71415fe16e58d047117", "sha256": "6bea11881cdf77d35d24727e62436ea8f89348d4f55b2c076a09e00a12b18737" }, "downloads": -1, "filename": "Boolean Solver-0.1.6.tar.gz", "has_sig": false, "md5_digest": "bdd67f701de6a71415fe16e58d047117", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13190, "upload_time": "2015-11-30T15:21:47", "url": "https://files.pythonhosted.org/packages/b5/6f/462ca5e17c7e2b954c07d067144cfeccf7248efbf44fedf4b0e4a5fa74eb/Boolean%20Solver-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "9c76595816df7580cd3f6159a12d1f39", "sha256": "e2e66117d3c8a66832361257261b4dc0f9a5c7a3b0422f5e949a9b2c2de5cd7a" }, "downloads": -1, "filename": "Boolean_Solver-0.1.7-py2-none-any.whl", "has_sig": false, "md5_digest": "9c76595816df7580cd3f6159a12d1f39", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16818, "upload_time": "2015-11-30T15:26:21", "url": "https://files.pythonhosted.org/packages/76/22/fb2a1adb88545a9e4dceb7be06553a4e7947b80f227e81452c7bb4b207f5/Boolean_Solver-0.1.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db3519dc4c351e375add2e4d120df960", "sha256": "17e3a1d30530659eadffc358327abbfc288d2c735e8ebe9300107bf9064e2200" }, "downloads": -1, "filename": "Boolean Solver-0.1.7.tar.gz", "has_sig": false, "md5_digest": "db3519dc4c351e375add2e4d120df960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13154, "upload_time": "2015-11-30T15:26:39", "url": "https://files.pythonhosted.org/packages/f2/37/9b1ba5c4ea08871eee2378a8ec5259d160177952d2b2bae2dbcb0831d7c0/Boolean%20Solver-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "b0a465bd6686bfa11c9a69ba9e324c1f", "sha256": "e8b9a2f1ce74510e6162543081d0955995f44af9a9748c800bf6ced52cac862b" }, "downloads": -1, "filename": "Boolean_Solver-0.1.8-py2-none-any.whl", "has_sig": false, "md5_digest": "b0a465bd6686bfa11c9a69ba9e324c1f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16786, "upload_time": "2015-11-30T15:33:19", "url": "https://files.pythonhosted.org/packages/ab/f3/3452522c3f4437131c43aa983b435b7333d32c0c4e0c9fec568d50fa8221/Boolean_Solver-0.1.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e379c295f8e5eba56084f69792a5e3e8", "sha256": "1d7cb37d1c05a775a0ed1901722c264904f5e96038b3d6c1cbd04a4115a75601" }, "downloads": -1, "filename": "Boolean Solver-0.1.8.tar.gz", "has_sig": false, "md5_digest": "e379c295f8e5eba56084f69792a5e3e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13125, "upload_time": "2015-11-30T15:33:36", "url": "https://files.pythonhosted.org/packages/91/ac/e1bcd981a3c7f53d53d6654a44b713c9b8e00e049b1eb307b4bb28a0114b/Boolean%20Solver-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "6b6d5779308694fb28290d0f21f4dff1", "sha256": "da83e860d1d9e552202d1ce3f08b316c7b085821fe0b7288b14d096ee4ee7596" }, "downloads": -1, "filename": "Boolean_Solver-0.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "6b6d5779308694fb28290d0f21f4dff1", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 16773, "upload_time": "2015-11-30T15:40:26", "url": "https://files.pythonhosted.org/packages/1c/65/f2f2e9938ab730bd301280125011651d7294df180a5aa0657f6c2c87f87e/Boolean_Solver-0.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "febca6e2a35d2fc7ed1b1adf01f8c750", "sha256": "e69f90d472cfe22a12e7196cc03bb6cca37b0149b97c2dc148530c35f8b54ee0" }, "downloads": -1, "filename": "Boolean Solver-0.1.9.tar.gz", "has_sig": false, "md5_digest": "febca6e2a35d2fc7ed1b1adf01f8c750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13112, "upload_time": "2015-11-30T15:40:53", "url": "https://files.pythonhosted.org/packages/c2/62/d5ffc8a3882292c37d3b72ac4070ffd1cbc73c1b96128e9e927806255483/Boolean%20Solver-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1d068cb5a69881ee8d079a5ce7ca77bc", "sha256": "1ee7a7a1a9101a5bb20b273639825362ee6c3a0b3006f859e8f7f4e744a91c2a" }, "downloads": -1, "filename": "Boolean_Solver-0.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "1d068cb5a69881ee8d079a5ce7ca77bc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22559, "upload_time": "2015-12-20T02:56:35", "url": "https://files.pythonhosted.org/packages/02/79/431ae265686c478a3db7f142f1117f9805b98e59b2cea28faf99188c228d/Boolean_Solver-0.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "142843350467a87b4eec99ac98e36567", "sha256": "df70df164f46c526886faa4e516f7b6973261e3bba45b9d309a5e56052692cc8" }, "downloads": -1, "filename": "Boolean Solver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "142843350467a87b4eec99ac98e36567", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15819, "upload_time": "2015-12-20T02:56:43", "url": "https://files.pythonhosted.org/packages/a8/7f/826ae20537f483983c94e42ecaaab553d8529a97c5789bdd4b4d839ff781/Boolean%20Solver-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d07bb3368e922cdf221f5075755387a9", "sha256": "f057960a2ff1fd44dd9a0f68e8d3a3ae1701d010f0e7904057ea491bf3bcaa6c" }, "downloads": -1, "filename": "Boolean_Solver-0.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d07bb3368e922cdf221f5075755387a9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 22926, "upload_time": "2015-12-20T16:59:21", "url": "https://files.pythonhosted.org/packages/1a/82/3986623d7249da4f91277dfe0ce1604a6ae3fc3044886be5911c518452be/Boolean_Solver-0.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff6a337d67e7afc35750814ddd246fee", "sha256": "a68060b420389941eaa8df3617c6c3df82b70ac8894a597b4443f80575f3cfe8" }, "downloads": -1, "filename": "Boolean Solver-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ff6a337d67e7afc35750814ddd246fee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16084, "upload_time": "2015-12-20T16:59:30", "url": "https://files.pythonhosted.org/packages/a3/54/a47419aaa293d1e2a5abdf83ddae06c14220bb6e63eeb2722896b7830626/Boolean%20Solver-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ad04c04007e34d9bc263f0e2fbb3e8cd", "sha256": "1e21f18448b34e4118c50758079ee700096fcb516e05b9d864293c73f511039e" }, "downloads": -1, "filename": "Boolean_Solver-0.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "ad04c04007e34d9bc263f0e2fbb3e8cd", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 38207, "upload_time": "2016-02-05T06:55:16", "url": "https://files.pythonhosted.org/packages/16/c5/50dbf190461e0dfcc6bc6bfbf9f9f9d10e1f8042bdff5eb4fc39122fcc6f/Boolean_Solver-0.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "255f6bdf640c394e3442c30991de53cf", "sha256": "092e0a1482b0537cae221c67c8820c6d560af489b6458448c93a6fc2f58c50c4" }, "downloads": -1, "filename": "Boolean Solver-0.3.0.tar.gz", "has_sig": false, "md5_digest": "255f6bdf640c394e3442c30991de53cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22887, "upload_time": "2016-02-05T06:55:22", "url": "https://files.pythonhosted.org/packages/a1/93/a436e082e5c30550f0e620c1de88184eab156dd253fb9e62d1661473e3ed/Boolean%20Solver-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "16886f1c9b978dd43e6c3cad7ab5697f", "sha256": "1a5183b0bb6dcccb5ba98ee818fbc7883365ce610d5cca9d581c89ebcaf65d11" }, "downloads": -1, "filename": "Boolean_Solver-0.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "16886f1c9b978dd43e6c3cad7ab5697f", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 42012, "upload_time": "2016-02-24T06:27:19", "url": "https://files.pythonhosted.org/packages/c7/5f/36baca6c156de97f79fcb3dd6b551349b33cc50a3bf1655238bade6d5794/Boolean_Solver-0.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "45aed8f9a08a26905063279c4b2fddd6", "sha256": "a040f035c155abb1ffa9905b68d48fa21580d283274a78843cb4ae78e1ab79e3" }, "downloads": -1, "filename": "Boolean Solver-0.4.0.tar.gz", "has_sig": false, "md5_digest": "45aed8f9a08a26905063279c4b2fddd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25407, "upload_time": "2016-02-24T06:27:31", "url": "https://files.pythonhosted.org/packages/5b/9b/e1f780024545a6ba9a08eca2df025f742ec2033033f2d4e9ce4ccd34da2e/Boolean%20Solver-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "04aae7c080ebdb03ab033237ee2dd026", "sha256": "15bbd4eca2293b45318f6a7ac1900caebe65f50ecdfc1b975efc245bcfbf57ad" }, "downloads": -1, "filename": "Boolean_Solver-0.5.0-py2-none-any.whl", "has_sig": false, "md5_digest": "04aae7c080ebdb03ab033237ee2dd026", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 45864, "upload_time": "2016-04-29T04:33:20", "url": "https://files.pythonhosted.org/packages/30/dd/7c38505ee408d4b66c30e450d09dadf843ba372c67452f9eed66d4f5d9a5/Boolean_Solver-0.5.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "567ff492efa6c15626b47c5a2c832c6c", "sha256": "e266d5543500c31469c2b11657bcfffe654f08524a3f1158076e01ece1421db0" }, "downloads": -1, "filename": "Boolean Solver-0.5.0.tar.gz", "has_sig": false, "md5_digest": "567ff492efa6c15626b47c5a2c832c6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27658, "upload_time": "2016-04-29T04:33:25", "url": "https://files.pythonhosted.org/packages/55/be/a73e94c31952a065c1201e8c4220f16aaa86972e2439ebe06283e2cf0e51/Boolean%20Solver-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "60ba8d53f1d83cb194797023d2586c7d", "sha256": "df13cf6da5cafbf00a2c3ddde59b6bbf7df434c7a9f9358b19bdbd0eec58caad" }, "downloads": -1, "filename": "Boolean_Solver-0.5.1-py2-none-any.whl", "has_sig": false, "md5_digest": "60ba8d53f1d83cb194797023d2586c7d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 58313, "upload_time": "2016-07-03T23:48:22", "url": "https://files.pythonhosted.org/packages/4f/e5/e5d7f4eeae9c35f0728a3af0a8a0df7460b5edc81e0ffb8b3e00cf3a5706/Boolean_Solver-0.5.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f20172899c1116d80bbb87f095bf7f0d", "sha256": "b2fdcc49c68a4310a1e3861aa28be1311e184ce582ba98b94952674e6ee61f17" }, "downloads": -1, "filename": "Boolean Solver-0.5.1.tar.gz", "has_sig": false, "md5_digest": "f20172899c1116d80bbb87f095bf7f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30807, "upload_time": "2016-07-03T23:48:27", "url": "https://files.pythonhosted.org/packages/42/f0/1645885b3a5f31ec70856d65ac81c8becf6973fdedeed2f7c48dc0323d8e/Boolean%20Solver-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "b9ef8c2b7afc2f278262ece17fc97d39", "sha256": "4c650f824ba133d66f91a6a1d8e14be427a85972e050b4d74d80064f9b683fd5" }, "downloads": -1, "filename": "Boolean_Solver-0.5.2-py2-none-any.whl", "has_sig": false, "md5_digest": "b9ef8c2b7afc2f278262ece17fc97d39", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 56673, "upload_time": "2016-11-17T04:43:52", "url": "https://files.pythonhosted.org/packages/31/00/c772fa41b07e3c0d45fca21a00882fa393a72862c5d1074ac336c6ecf854/Boolean_Solver-0.5.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8044f05a7149c8ea8d448cf47b1cbd54", "sha256": "21d00ef333a2725b682a980f76cbee2d804c5b39575ef6ee821551269c2ec794" }, "downloads": -1, "filename": "Boolean Solver-0.5.2.tar.gz", "has_sig": false, "md5_digest": "8044f05a7149c8ea8d448cf47b1cbd54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40517, "upload_time": "2016-11-17T04:43:55", "url": "https://files.pythonhosted.org/packages/1c/7b/521a8953762217677995628c0d5d4058ccc98efaf16d1daeb167286795ff/Boolean%20Solver-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b9ef8c2b7afc2f278262ece17fc97d39", "sha256": "4c650f824ba133d66f91a6a1d8e14be427a85972e050b4d74d80064f9b683fd5" }, "downloads": -1, "filename": "Boolean_Solver-0.5.2-py2-none-any.whl", "has_sig": false, "md5_digest": "b9ef8c2b7afc2f278262ece17fc97d39", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 56673, "upload_time": "2016-11-17T04:43:52", "url": "https://files.pythonhosted.org/packages/31/00/c772fa41b07e3c0d45fca21a00882fa393a72862c5d1074ac336c6ecf854/Boolean_Solver-0.5.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8044f05a7149c8ea8d448cf47b1cbd54", "sha256": "21d00ef333a2725b682a980f76cbee2d804c5b39575ef6ee821551269c2ec794" }, "downloads": -1, "filename": "Boolean Solver-0.5.2.tar.gz", "has_sig": false, "md5_digest": "8044f05a7149c8ea8d448cf47b1cbd54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40517, "upload_time": "2016-11-17T04:43:55", "url": "https://files.pythonhosted.org/packages/1c/7b/521a8953762217677995628c0d5d4058ccc98efaf16d1daeb167286795ff/Boolean%20Solver-0.5.2.tar.gz" } ] }