{ "info": { "author": "Marcell Vazquez-Chanlatte", "author_email": "mvc@linux.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10" ], "description": "# py-aiger-sat\nPythonic interface between AIGs and SAT solvers.\n\n[![Build Status](https://cloud.drone.io/api/badges/mvcisback/py-aiger-sat/status.svg)](https://cloud.drone.io/mvcisback/py-aiger-sat)\n[![codecov](https://codecov.io/gh/mvcisback/py-aiger-sat/branch/master/graph/badge.svg)](https://codecov.io/gh/mvcisback/py-aiger-sat)\n[![PyPI version](https://badge.fury.io/py/py-aiger-sat.svg)](https://badge.fury.io/py/py-aiger-sat)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n**Table of Contents**\n\n- [Installation](#installation)\n- [Usage](#usage)\n\n\n\n\n# Installation\n\nIf you just need to use `aiger_sat`, you can just run:\n\n`$ pip install py-aiger-sat`\n\nFor developers, note that this project uses the\n[poetry](https://poetry.eustace.io/) python package/dependency\nmanagement tool. Please familarize yourself with it and then\nrun:\n\n`$ poetry install`\n\n# Usage\n\n`aiger_sat` has two seperate API's. The first, called the Object API,\ncenters around the `SolverWrapper` object - a thin wrapper around a\n`pysat` solver. The second is a Function API which exposes 4 functions\n`solve`, `is_sat`, `is_valid`, and `are_equiv`. The function API is\nprimarily useful for simple 1-off SAT instances, where as the object\nAPI is more useful when incremental solves are needed, or the\nunderlying `pysat` solver must be exposed.\n\n## Object API\n\n```python\nfrom aiger_sat import SolverWrapper\n\nsolver = SolverWrapper() # defaults to Glucose4\n\nfrom pysat.solvers import Glucose3\nsolver2 = SolverWrapper(solver=Glucose3)\n```\n\n`solver` operate on boolean expressions in the form of `aiger`\ncircuits with a single output. For example,\n\n\n```python\nimport aiger\n\nx, y, z = map(aiger.atom, ['x', 'y', 'z'])\n\nexpr = (x & y) | ~z\nsolver.add_expr(expr)\nassert solver.is_sat()\nmodel = solver.get_model()\nprint(model) # {'x': True, 'y': False, 'z': False}\nassert expr(model)\n```\n\nFurther, `aiger_sat` supports making assumptions and computing\nunsat_cores.\n\n```python\n# Make invalid assumption.\nassert not solver.is_sat(assumptions={\n 'x': False,\n 'z': True,\n})\nassert not solver.unsolved\n\ncore = solver.get_unsat_core()\nassert core == {'x': False, 'z': True}\n```\n\n## Function API\n\n```python\nimport aiger\nimport aiger_sat\n\nx, y, z = map(aiger.atom, ['x', 'y', 'z'])\nassert aiger_sat.is_sat(x & y & z)\n\nmodel = aiger_sat.solve(x & y & z)\nassert model == {'x': True, 'y': True, 'z': True}\n\nassert aiger_sat.is_valid(aiger.atom(True))\n\nexpr1 = x & y\nexpr2 = x & y & (z | ~z)\nassert aiger_sat.are_equiv(expr1, expr2)\n```\n\n## BitVector Support\n\n`py-aiger-sat` also natively supports the `py-aiger-bv` bitvector\nlibrary.\n\nTo enable this support, make sure that `py-aiger-bv` is installed,\neither manually:\n\n`$ pip install py-aiger-bv`\n\nor by installing `py-aiger-sat` with the `bitvector` option:\n\n`$ pip install py-aiger-sat[bitvector]` or `$ poetry install --extras=bitvector`\n\nUsage is analogous to the non-bitvector usage.\n\n```python\nfrom aiger_bv import atom\nfrom aiger_sat import sat_bv\n\n# Object API\nexpr = atom(4, 'x') & atom(4, 'y') < 2\nf = sat_bv.SolverBVWrapper()\nf.add_expr(expr)\n\nmodel = f.get_model()\n\n# Function API.\nmodel = sat_bv.solve(expr)\n\nprint(model)\n# {'x': (False, False, True, True), 'y': (False, False, True, True)}\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/mvcisback/py-aiger-sat", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "py-aiger-sat", "package_url": "https://pypi.org/project/py-aiger-sat/", "platform": "", "project_url": "https://pypi.org/project/py-aiger-sat/", "project_urls": { "Homepage": "https://github.com/mvcisback/py-aiger-sat", "Repository": "https://github.com/mvcisback/py-aiger-sat" }, "release_url": "https://pypi.org/project/py-aiger-sat/3.0.5/", "requires_dist": [ "attrs (>=21.0.0,<22.0.0)", "py-aiger (>=6.0.0,<7.0.0)", "py-aiger-bv (>=4.0.0,<5.0.0); extra == \"bitvector\"", "py-aiger-cnf (>=5.0.0,<6.0.0)", "python-sat (>=0.1.0,<0.2.0)" ], "requires_python": ">=3.7,<4.0", "summary": "Pythonic interface between AIGs and SAT solvers.", "version": "3.0.5", "yanked": false, "yanked_reason": null }, "last_serial": 12042617, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "59a89e76c4ba0f86281a77ab400b4d7b", "sha256": "5399c036ca838a34874596c1f8c078fbaa20f0e403c7acc80864ad1d0a82756f" }, "downloads": -1, "filename": "py_aiger_sat-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "59a89e76c4ba0f86281a77ab400b4d7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 4281, "upload_time": "2019-07-24T05:19:05", "upload_time_iso_8601": "2019-07-24T05:19:05.681538Z", "url": "https://files.pythonhosted.org/packages/88/74/1b2ca222f52a48a4de4ea0997b11ea0fca4720f971cc10a50f87c2d23364/py_aiger_sat-0.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "381a2a9c6e5dc20a5feea520e1f106e1", "sha256": "d1b34c9724e8e3ea141ea898d5acdb5ccaa326e894a0753fd24b8042e4ad47c0" }, "downloads": -1, "filename": "py-aiger-sat-0.1.0.tar.gz", "has_sig": false, "md5_digest": "381a2a9c6e5dc20a5feea520e1f106e1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 3963, "upload_time": "2019-07-24T05:19:03", "upload_time_iso_8601": "2019-07-24T05:19:03.402426Z", "url": "https://files.pythonhosted.org/packages/d6/3f/fb48eaa368ead047ac1aa6ac86ff22178441772e3cfa33316b3962f6d711/py-aiger-sat-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6a4b39ddbc5dab5425ee9f16b51b76bb", "sha256": "4151506df972799ecfb3401a68c42fe16320339e7d326bf9b8b78227cbf141ce" }, "downloads": -1, "filename": "py_aiger_sat-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6a4b39ddbc5dab5425ee9f16b51b76bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 4845, "upload_time": "2019-07-24T22:00:38", "upload_time_iso_8601": "2019-07-24T22:00:38.194825Z", "url": "https://files.pythonhosted.org/packages/55/be/dcebae9375079dbee37707e842488017058f957d56770f8eedc7d0256d11/py_aiger_sat-0.1.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "140203c709b67336f11ac0e6ea6fb0bd", "sha256": "8cbf41755d0d0827f944a384ca9207d91a07b0fdeb642622ac23114d4a9ae01d" }, "downloads": -1, "filename": "py-aiger-sat-0.1.1.tar.gz", "has_sig": false, "md5_digest": "140203c709b67336f11ac0e6ea6fb0bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4543, "upload_time": "2019-07-24T22:00:36", "upload_time_iso_8601": "2019-07-24T22:00:36.505359Z", "url": "https://files.pythonhosted.org/packages/04/ad/b84c2837a49a348febc90a761ef92c7448d5fb4ceb977fbe42264e356d8c/py-aiger-sat-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "000ab3332ae1bc589bb71abcf7a66fd9", "sha256": "c4f3fb668810949c32f327734731e5912e7bbc0f2017d2cae440f99269dca759" }, "downloads": -1, "filename": "py_aiger_sat-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "000ab3332ae1bc589bb71abcf7a66fd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 5727, "upload_time": "2019-10-22T20:06:01", "upload_time_iso_8601": "2019-10-22T20:06:01.543514Z", "url": "https://files.pythonhosted.org/packages/9a/b1/772a8f952ea20be9d40c985df0340f31ee0fb40bfac2410c21542a3f84bd/py_aiger_sat-1.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bda406c9505e30df478e550715bc93d8", "sha256": "40a690543682a2419a4639bfbdec7c0e2ca1b086ee6e42d0968e38cb6e11b129" }, "downloads": -1, "filename": "py-aiger-sat-1.0.0.tar.gz", "has_sig": false, "md5_digest": "bda406c9505e30df478e550715bc93d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5029, "upload_time": "2019-10-22T20:05:59", "upload_time_iso_8601": "2019-10-22T20:05:59.850476Z", "url": "https://files.pythonhosted.org/packages/7e/50/fc3d961181871f293ef2582c30f1ca813d908e368597dc9dbec1933700ab/py-aiger-sat-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a4b25be97a4b682c47be0e9fb2a42820", "sha256": "2fbefcde1dac45e70180cd2a6922f34ef5ca50dff5bc9d44e884ccf37846af23" }, "downloads": -1, "filename": "py_aiger_sat-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a4b25be97a4b682c47be0e9fb2a42820", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 6109, "upload_time": "2019-10-29T00:01:03", "upload_time_iso_8601": "2019-10-29T00:01:03.892047Z", "url": "https://files.pythonhosted.org/packages/d8/1e/4eb1efb2e471249b238104efe5a7ea556442a3c75d86c8b9eb86e7a9d556/py_aiger_sat-1.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4c1ef29d0b5b975bb916712ae3fc5161", "sha256": "c8774e7fb6b308fa59b26d99cef24e260cf747d9be0beb76c4968af9f85c6fb8" }, "downloads": -1, "filename": "py-aiger-sat-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4c1ef29d0b5b975bb916712ae3fc5161", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5529, "upload_time": "2019-10-29T00:01:01", "upload_time_iso_8601": "2019-10-29T00:01:01.944999Z", "url": "https://files.pythonhosted.org/packages/64/44/b366ef356094b9525bde6ae4da59ce6b582a31be1899830f30986d3a6ff8/py-aiger-sat-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ad3c88522235c3ad83213981682107aa", "sha256": "6616ee82dea402555a9a8deb9a5c96a9310df5688831ef5afab2eefff95b4214" }, "downloads": -1, "filename": "py_aiger_sat-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ad3c88522235c3ad83213981682107aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 6109, "upload_time": "2020-03-24T06:31:16", "upload_time_iso_8601": "2020-03-24T06:31:16.176767Z", "url": "https://files.pythonhosted.org/packages/b0/2a/26445e1178b3f2be2a96ae4b8e9b9de6a08d6d60d612f6a9b996ab702ca1/py_aiger_sat-1.1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b1b44d185add2800659de449f97c7888", "sha256": "07721e8fe1aba454b83a9e3afed46250c66d5237109006c6bcfca3c973a5ce59" }, "downloads": -1, "filename": "py-aiger-sat-1.1.0.tar.gz", "has_sig": false, "md5_digest": "b1b44d185add2800659de449f97c7888", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 5474, "upload_time": "2020-03-24T06:31:15", "upload_time_iso_8601": "2020-03-24T06:31:15.086267Z", "url": "https://files.pythonhosted.org/packages/28/69/8de8bc677e73e6f10b9005e46cb8b2ec486166df8234fec84f64319f98f3/py-aiger-sat-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "bb999bb62e131321d66f2558d7624d93", "sha256": "b7230af541ff813bd507a512590f950eed1976fc050989a1b2df577b8f72c4ce" }, "downloads": -1, "filename": "py_aiger_sat-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bb999bb62e131321d66f2558d7624d93", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6103, "upload_time": "2020-05-17T21:06:55", "upload_time_iso_8601": "2020-05-17T21:06:55.887671Z", "url": "https://files.pythonhosted.org/packages/ed/cb/1cf567b91a51332a8b9da1225d896d822449d0201734cf6596c1f1acf092/py_aiger_sat-2.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ece1236a1190a90e8669ee898fd34ce7", "sha256": "563ff364f0844cae705aa8beec67a4c9c83e02ccbc2ead5ab3db7b3260e12d08" }, "downloads": -1, "filename": "py-aiger-sat-2.0.0.tar.gz", "has_sig": false, "md5_digest": "ece1236a1190a90e8669ee898fd34ce7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5518, "upload_time": "2020-05-17T21:06:54", "upload_time_iso_8601": "2020-05-17T21:06:54.580053Z", "url": "https://files.pythonhosted.org/packages/8f/e9/70c8a4a52e5642f1c0351b2bcc48d415402af0904dedf0000e7d264cebbd/py-aiger-sat-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "89c201f4d280b7e8e59c3ca177e1a6d8", "sha256": "b69a0cd342da95e29125413f6d12d0460ea6d498561ee83299582ab2b71962f4" }, "downloads": -1, "filename": "py_aiger_sat-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "89c201f4d280b7e8e59c3ca177e1a6d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6106, "upload_time": "2020-05-17T22:23:41", "upload_time_iso_8601": "2020-05-17T22:23:41.509888Z", "url": "https://files.pythonhosted.org/packages/3a/1e/ac3624eda128c083d9a52516dc6a970f1515650002154b91b14a146a329c/py_aiger_sat-2.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "61bed7d1bf715edf189605ec548d5764", "sha256": "64203e63a21630f85d4cab2ab3bf0628e1b1c03f3bbb763b21d8afd7512394eb" }, "downloads": -1, "filename": "py-aiger-sat-2.0.1.tar.gz", "has_sig": false, "md5_digest": "61bed7d1bf715edf189605ec548d5764", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5531, "upload_time": "2020-05-17T22:23:40", "upload_time_iso_8601": "2020-05-17T22:23:40.216888Z", "url": "https://files.pythonhosted.org/packages/cd/f5/904d309b317abf29029d41f7085ee3ed5b11d7587cc3e17f656d6a67d62a/py-aiger-sat-2.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "ed572c59b1a81f9133591f6cf3ffab40", "sha256": "e11982d661c5e0228f21d45d2d8c65f5929247b45b5400a554ead8de64e08c73" }, "downloads": -1, "filename": "py_aiger_sat-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ed572c59b1a81f9133591f6cf3ffab40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6104, "upload_time": "2020-05-17T23:43:16", "upload_time_iso_8601": "2020-05-17T23:43:16.897274Z", "url": "https://files.pythonhosted.org/packages/fa/45/afb659234bd20f8bd041a9510d12ec441ef9d86938df0a512e9acc6f35db/py_aiger_sat-2.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "92eeb6640a03496ba368de1093afc8c8", "sha256": "5b872d26a98f57f30ec2c40665668847e505512f281a551cc29e55cd8b1d8e66" }, "downloads": -1, "filename": "py-aiger-sat-2.0.2.tar.gz", "has_sig": false, "md5_digest": "92eeb6640a03496ba368de1093afc8c8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5523, "upload_time": "2020-05-17T23:43:15", "upload_time_iso_8601": "2020-05-17T23:43:15.482150Z", "url": "https://files.pythonhosted.org/packages/19/91/590ffdd784f41e03ba1c3ec4793e5f4b7f763eac0653294094b2dd1b178b/py-aiger-sat-2.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "e1f45fb3426485a32a725562ac39f8bb", "sha256": "0ffdaa4ff05e51ff461e9a909e1e0953d5ef84f1d249289b292455e676ce9455" }, "downloads": -1, "filename": "py_aiger_sat-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e1f45fb3426485a32a725562ac39f8bb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6167, "upload_time": "2020-05-18T01:13:49", "upload_time_iso_8601": "2020-05-18T01:13:49.638482Z", "url": "https://files.pythonhosted.org/packages/f7/74/71c727e988a700113432b2937b4e6ff34d9b627e0642d06b524a33f6b7a6/py_aiger_sat-3.0.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2256282dd77badca69f1ed2ac3023884", "sha256": "723fb65adce328c37ad702b758aa3755c11cabb4e445ce071e55bd4634ed59ac" }, "downloads": -1, "filename": "py-aiger-sat-3.0.0.tar.gz", "has_sig": false, "md5_digest": "2256282dd77badca69f1ed2ac3023884", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5602, "upload_time": "2020-05-18T01:13:48", "upload_time_iso_8601": "2020-05-18T01:13:48.409765Z", "url": "https://files.pythonhosted.org/packages/b3/3b/558c08ef661822c4639849f59ea03306a26ec4ddfd3365a5d059933f7082/py-aiger-sat-3.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "c6cda3855a8652e3c8f7b6002bc4cf29", "sha256": "89c5605e6cba8cebba1a82ee2e616810916c099f03b00710928fc32435be1b96" }, "downloads": -1, "filename": "py_aiger_sat-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c6cda3855a8652e3c8f7b6002bc4cf29", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6315, "upload_time": "2020-08-05T07:03:21", "upload_time_iso_8601": "2020-08-05T07:03:21.195553Z", "url": "https://files.pythonhosted.org/packages/db/f9/124031a09e7a285415b3495bec336124e43dbbeeb7c7788e1f85e5939490/py_aiger_sat-3.0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "69684b16db0ee9eeb78d2b72af40b66b", "sha256": "b2a3b42969e8f42ccb5291856fa934e52a8bda98294a0d04f43da48a9487ef1c" }, "downloads": -1, "filename": "py-aiger-sat-3.0.1.tar.gz", "has_sig": false, "md5_digest": "69684b16db0ee9eeb78d2b72af40b66b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5646, "upload_time": "2020-08-05T07:03:19", "upload_time_iso_8601": "2020-08-05T07:03:19.820164Z", "url": "https://files.pythonhosted.org/packages/ef/1c/ec12aee456f8dcc292695ae86347aba6cab7523adb98810d2638d8c51103/py-aiger-sat-3.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "cdc21c0c644a4cea0ae9f3f9133c80b1", "sha256": "fd888727c21770921af10bd986525003fd817708d144038800337b5be3c37d46" }, "downloads": -1, "filename": "py_aiger_sat-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "cdc21c0c644a4cea0ae9f3f9133c80b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6312, "upload_time": "2020-09-12T06:26:40", "upload_time_iso_8601": "2020-09-12T06:26:40.580809Z", "url": "https://files.pythonhosted.org/packages/38/c7/a5cae0f65e930330cd4c127bc713298c92a7cdb64b0d3f6dc7f4d741149d/py_aiger_sat-3.0.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "42ac93967018cf5eb5506855c3b7167a", "sha256": "568373e5c526c88e50d5b34976c703640014538e5cc600e56b8b0b1ae32de009" }, "downloads": -1, "filename": "py-aiger-sat-3.0.2.tar.gz", "has_sig": false, "md5_digest": "42ac93967018cf5eb5506855c3b7167a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5648, "upload_time": "2020-09-12T06:26:39", "upload_time_iso_8601": "2020-09-12T06:26:39.328294Z", "url": "https://files.pythonhosted.org/packages/6d/e2/a9b1f3f5aecfa3aceb9d83699afd132d3510ac6efcab11bc1efd58b127ee/py-aiger-sat-3.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "a351a519ef9abc7216456b75bb1bbf21", "sha256": "a1ca1a673005b9718a06d3358f951976bc9576e6ffd63e1e4a2d108ea3fa45a4" }, "downloads": -1, "filename": "py_aiger_sat-3.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a351a519ef9abc7216456b75bb1bbf21", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6311, "upload_time": "2020-09-12T06:41:41", "upload_time_iso_8601": "2020-09-12T06:41:41.491084Z", "url": "https://files.pythonhosted.org/packages/75/f2/4b4bb6e34ed469c2086c0ccbf094441e894d8796d6de43d024868c8d1f84/py_aiger_sat-3.0.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "57ec5ec15b31811dcae90efefe841bfa", "sha256": "45d7c56c6e082d7c495c57851da68472baf0f8f43b4bb85c28c13fb4e5b795d7" }, "downloads": -1, "filename": "py-aiger-sat-3.0.3.tar.gz", "has_sig": false, "md5_digest": "57ec5ec15b31811dcae90efefe841bfa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5644, "upload_time": "2020-09-12T06:41:40", "upload_time_iso_8601": "2020-09-12T06:41:40.392560Z", "url": "https://files.pythonhosted.org/packages/2c/2a/ecb17945769893f75789e977e9e5db7d09a38b07018a2d0354ef62f7d1b3/py-aiger-sat-3.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.4": [ { "comment_text": "", "digests": { "md5": "ac6c4a177888316c0d44173642ebaae6", "sha256": "0742cf5cfa2d2ee41b222318d9825339b35a4765ed0cbc38cb1b4063792f513c" }, "downloads": -1, "filename": "py_aiger_sat-3.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "ac6c4a177888316c0d44173642ebaae6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6311, "upload_time": "2020-09-30T22:33:05", "upload_time_iso_8601": "2020-09-30T22:33:05.652123Z", "url": "https://files.pythonhosted.org/packages/40/14/9d5729f77777b0b41752ddc11899ff11804866ef3af6dac180bbed531fb0/py_aiger_sat-3.0.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "94831b163e70cc0ac68842ae7711d9cf", "sha256": "e01fac80bbe5dfacc6b087a396189c5f5901d74aa239ec1b2a964c8a652664d6" }, "downloads": -1, "filename": "py-aiger-sat-3.0.4.tar.gz", "has_sig": false, "md5_digest": "94831b163e70cc0ac68842ae7711d9cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5646, "upload_time": "2020-09-30T22:33:04", "upload_time_iso_8601": "2020-09-30T22:33:04.322324Z", "url": "https://files.pythonhosted.org/packages/ca/4f/e136d0fb90c86f44a16513c7b386d396d9b954daf5e16d6a239fc2ba1c2b/py-aiger-sat-3.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "3.0.5": [ { "comment_text": "", "digests": { "md5": "59f7c85346b61b1ed904154c8e91c286", "sha256": "2a2f2d59d39dcb6e2b0a499271c587f5c50081f45086aec721eb8dbd1b3e315f" }, "downloads": -1, "filename": "py_aiger_sat-3.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "59f7c85346b61b1ed904154c8e91c286", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6168, "upload_time": "2021-11-16T23:45:09", "upload_time_iso_8601": "2021-11-16T23:45:09.904832Z", "url": "https://files.pythonhosted.org/packages/01/ff/086ff7b2ebf8551bd5626b79f72c108d9025498cbf68a39735080b2a7188/py_aiger_sat-3.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1f188e3d9d62809f6fcbbedf5e1bd3cf", "sha256": "a8a8994040c052d7fbce03c130d28431ee7ccb7e068128465807e012816fcda8" }, "downloads": -1, "filename": "py-aiger-sat-3.0.5.tar.gz", "has_sig": false, "md5_digest": "1f188e3d9d62809f6fcbbedf5e1bd3cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5534, "upload_time": "2021-11-16T23:45:07", "upload_time_iso_8601": "2021-11-16T23:45:07.863553Z", "url": "https://files.pythonhosted.org/packages/4b/2c/3a6c09874eb7b79077d4640d9472b8f386bfea7bdaea9b78550ebee55e7f/py-aiger-sat-3.0.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "59f7c85346b61b1ed904154c8e91c286", "sha256": "2a2f2d59d39dcb6e2b0a499271c587f5c50081f45086aec721eb8dbd1b3e315f" }, "downloads": -1, "filename": "py_aiger_sat-3.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "59f7c85346b61b1ed904154c8e91c286", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 6168, "upload_time": "2021-11-16T23:45:09", "upload_time_iso_8601": "2021-11-16T23:45:09.904832Z", "url": "https://files.pythonhosted.org/packages/01/ff/086ff7b2ebf8551bd5626b79f72c108d9025498cbf68a39735080b2a7188/py_aiger_sat-3.0.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1f188e3d9d62809f6fcbbedf5e1bd3cf", "sha256": "a8a8994040c052d7fbce03c130d28431ee7ccb7e068128465807e012816fcda8" }, "downloads": -1, "filename": "py-aiger-sat-3.0.5.tar.gz", "has_sig": false, "md5_digest": "1f188e3d9d62809f6fcbbedf5e1bd3cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5534, "upload_time": "2021-11-16T23:45:07", "upload_time_iso_8601": "2021-11-16T23:45:07.863553Z", "url": "https://files.pythonhosted.org/packages/4b/2c/3a6c09874eb7b79077d4640d9472b8f386bfea7bdaea9b78550ebee55e7f/py-aiger-sat-3.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }