{ "info": { "author": "Permuta Triangle", "author_email": "permutatriangle@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Education", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Education", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# CombCov\n\n[![Build Status](https://img.shields.io/travis/PermutaTriangle/CombCov.svg?label=Linux%20CI&logo=travis&logoColor=white)](https://travis-ci.org/PermutaTriangle/CombCov)\n[![Coverage Status](https://img.shields.io/coveralls/github/PermutaTriangle/CombCov.svg)](https://coveralls.io/github/PermutaTriangle/CombCov)\n[![Requirements Status](https://img.shields.io/requires/github/PermutaTriangle/CombCov.svg)](https://requires.io/github/PermutaTriangle/CombCov/requirements)\n[![Licence](https://img.shields.io/github/license/PermutaTriangle/CombCov.svg)](https://raw.githubusercontent.com/PermutaTriangle/CombCov/master/LICENSE)\n\n[![PyPi Version](https://img.shields.io/pypi/v/CombCov.svg)](https://pypi.org/project/CombCov/)\n[![PyPi Downloads](https://img.shields.io/pypi/dm/CombCov.svg)](https://pypi.org/project/CombCov/)\n[![Python Implementation](https://img.shields.io/pypi/implementation/CombCov.svg)](https://pypi.org/project/CombCov/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/CombCov.svg)](https://pypi.org/project/CombCov/)\n\nA generalization of the permutation-specific algorithm [Struct](https://github.com/PermutaTriangle/PermStruct) -- \nextended for other types of combinatorial objects.\n\n\n## Demos\n\nTake a look at the `demo/` folder in this repo to see examples on how to use\n`CombCov` with your own combinatorial object. On example finds a _Word Set_\ncover for the set of words over the alphabet `{a,b}` that avoids the subword\n`aa` (meaning no words in the set contains `aa` as a subword).\n\n```bash\n$ python -m demo.word_set\n[INFO] (CombCov) Enumerating all elements of size up to 7...\n[INFO] (CombCov) ...DONE enumerating elements! (Running time: 0.00 sec)\n[INFO] (CombCov) Total of 87 elements.\n[INFO] (CombCov) Enumeration: [1, 2, 3, 5, 8, 13, 21, 34]\n[INFO] (CombCov) Creating binary strings and rules...\n[INFO] (CombCov) Bitstring to cover: 111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 \n[INFO] (WordSet) Generated 16 subrules\n[INFO] (CombCov) ...DONE creating binary strings and rules! (Running time: 0.00 sec)\n[INFO] (CombCov) Total of 14 valid rules with 14 distinct binary strings.\n[INFO] (CombCov) Searching for a cover for ''*Av(aa) over \u2211={a,b}...\n[INFO] (CombCov) Gurobi installed on system and set as solver\n[INFO] (CombCov) ...DONE searching for a cover! (Running time: 0.02 sec)\nSolution found!\n - Rule #1 with bitstring 000000000000000000000000000000000000000000000000000000000000000000000000000000000000001: ''*Av(a,b) over \u2211={a,b}\n - Rule #2 with bitstring 000000000000000000000000000000000000000000000000000000000000000000000000000000000000010: 'a'*Av(a,b) over \u2211={a,b}\n - Rule #3 with bitstring 111111111111111111111000000000000011111111111110000000011111111000001111100011100110100: 'b'*Av(aa) over \u2211={a,b}\n - Rule #4 with bitstring 000000000000000000000111111111111100000000000001111111100000000111110000011100011001000: 'ab'*Av(aa) over \u2211={a,b}\n\n```\n\n\n## Development\n\nRun unittests (with coverage for the `demo` module as well):\n\n```bash\n./setup.py test --addopts --cov=demo\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/PermutaTriangle/CombCov", "keywords": "combinatorics covers automatic discovery", "license": "GPL-3", "maintainer": "", "maintainer_email": "", "name": "CombCov", "package_url": "https://pypi.org/project/CombCov/", "platform": "", "project_url": "https://pypi.org/project/CombCov/", "project_urls": { "Homepage": "https://github.com/PermutaTriangle/CombCov", "Source": "https://github.com/PermutaTriangle/CombCov", "Tracker": "https://github.com/PermutaTriangle/CombCov/issues" }, "release_url": "https://pypi.org/project/CombCov/0.6.3/", "requires_dist": null, "requires_python": ">=3.5", "summary": "Searching for combinatorial covers.", "version": "0.6.3" }, "last_serial": 5816681, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ca07cd9f57da9b960f0193d4c4ab56cb", "sha256": "1962196cf6d3958dfff987ecdf9a07c48051c2220ab5c48298904e4ebea398fc" }, "downloads": -1, "filename": "CombCov-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ca07cd9f57da9b960f0193d4c4ab56cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3866, "upload_time": "2019-05-29T16:47:52", "url": "https://files.pythonhosted.org/packages/75/31/12ac5985d9fa7d36fb4d6dc5c8fd992e598004fa2ed4840474c9caa29391/CombCov-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "27d2e672f13bc65358c27424b2ca7957", "sha256": "543c54b8a7867c542277c0389c130c0297c154f941e21332ee599b3771f45543" }, "downloads": -1, "filename": "CombCov-0.0.2.tar.gz", "has_sig": false, "md5_digest": "27d2e672f13bc65358c27424b2ca7957", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3762, "upload_time": "2019-05-29T20:05:43", "url": "https://files.pythonhosted.org/packages/bf/10/5ded95b70dbdecd68f8865a43848593c46798d04642a737ff47213c9796b/CombCov-0.0.2.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "b94eb9bed502bc8844c4f72f3ad4d785", "sha256": "af861eaaa571ecd2f076eacc674c91e87d38aa75de1e52d38f9b03de4730d0e3" }, "downloads": -1, "filename": "CombCov-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b94eb9bed502bc8844c4f72f3ad4d785", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4179, "upload_time": "2019-06-28T18:52:24", "url": "https://files.pythonhosted.org/packages/ef/8e/dcb45c63ab27d42fcc96657466aced5829d034c5e55d304711d56a20d59f/CombCov-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "97ab8f45044335659e938058bd68817d", "sha256": "9b7ec41289889a59476d6f57291fb4783d1e49213dc767ffc06b27915527ddbf" }, "downloads": -1, "filename": "CombCov-0.2.0.tar.gz", "has_sig": false, "md5_digest": "97ab8f45044335659e938058bd68817d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4632, "upload_time": "2019-07-12T18:01:06", "url": "https://files.pythonhosted.org/packages/37/09/9899e75daaf8f417fca0d415aef3e88d7f9324b4ebef5911efa878ac6926/CombCov-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "9576e1a740aa15a0b245980b20d229b5", "sha256": "79ad220279f7945accf60849d7512c818e7fa34f87053f4019ab46bf30c7356b" }, "downloads": -1, "filename": "CombCov-0.2.1.tar.gz", "has_sig": false, "md5_digest": "9576e1a740aa15a0b245980b20d229b5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 4716, "upload_time": "2019-08-07T15:32:38", "url": "https://files.pythonhosted.org/packages/bc/87/aa44ad22c85d46137d54416f546328ae671098a1e5cb3c583d47bdc55446/CombCov-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "242798a0a197761a9e7f9174631126cc", "sha256": "33b1b075e94336a59e7f1a4f52294ccf86dffc0595ef065ea2eaad89e6cadab3" }, "downloads": -1, "filename": "CombCov-0.3.0.tar.gz", "has_sig": false, "md5_digest": "242798a0a197761a9e7f9174631126cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11559, "upload_time": "2019-08-09T12:32:21", "url": "https://files.pythonhosted.org/packages/2c/a6/7d15ff504e940368f56ff86b595097cff72dad14da89c8304e6e701f52a0/CombCov-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "80edf952e4956888bdbb773a531ebd4e", "sha256": "7700142fb87c3479379656cbf8eb4ad1aa323cfdf6529e63ce4fb766142899e0" }, "downloads": -1, "filename": "CombCov-0.3.1.tar.gz", "has_sig": false, "md5_digest": "80edf952e4956888bdbb773a531ebd4e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11624, "upload_time": "2019-08-14T17:21:06", "url": "https://files.pythonhosted.org/packages/b6/a6/3406d9553f00bf2b2e6cfe5201243a27c545a960acd82ef2ad1f2e8307ca/CombCov-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f54807617dcc878426f11a714d389593", "sha256": "c1d6a3471be867338e779baa23d4ab612bae34039acc584ca7aea064d34c0dd1" }, "downloads": -1, "filename": "CombCov-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f54807617dcc878426f11a714d389593", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11671, "upload_time": "2019-08-15T21:34:34", "url": "https://files.pythonhosted.org/packages/f2/64/02aa935e1d8d2550b8a5cf08ce1fd2a7290227d5bc6fae19b17a1c13c008/CombCov-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "e0420e76b1aa808a792e4b33ddc70757", "sha256": "d79ce6e3f3050fc615b6e5e3a078bcde29861f5eaa8d66118e2f154337fa4af4" }, "downloads": -1, "filename": "CombCov-0.3.3.tar.gz", "has_sig": false, "md5_digest": "e0420e76b1aa808a792e4b33ddc70757", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11573, "upload_time": "2019-08-18T20:12:02", "url": "https://files.pythonhosted.org/packages/87/e7/c5b429f602c108c70ac51a5ed89697f768283f94be1d6aad102cb0e0b2ee/CombCov-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "745d1edf8de9ad7504508dd7e3761111", "sha256": "c2bc9503b19e4bd9f9c6cb420dcf6559cf1dcf4e16114abf956609f88914417e" }, "downloads": -1, "filename": "CombCov-0.3.4.tar.gz", "has_sig": false, "md5_digest": "745d1edf8de9ad7504508dd7e3761111", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11574, "upload_time": "2019-08-21T20:38:07", "url": "https://files.pythonhosted.org/packages/95/51/17335fab3af9ede6639206c4cebe2e509020ee807f33cbe8630a8dae3fcd/CombCov-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "cfd3e1684ee3b67e680d7ae7ace46225", "sha256": "a3fcbd118217051d622464268d403471dd6afbe7f6915e25f5adf59f0f28830d" }, "downloads": -1, "filename": "CombCov-0.4.0.tar.gz", "has_sig": false, "md5_digest": "cfd3e1684ee3b67e680d7ae7ace46225", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11802, "upload_time": "2019-09-03T18:50:33", "url": "https://files.pythonhosted.org/packages/9f/95/f1d04201d3aa6be0eef5906a00db6a36d3ab2efafdafc8cf2c6e6fdc7c17/CombCov-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "23e9efe26d9959d67801227c5b52a1cf", "sha256": "8e1d515ead6b81a09e9c88ffaaa35d31b88a056ba22dfa18c1950a5a0ce9cd56" }, "downloads": -1, "filename": "CombCov-0.4.1.tar.gz", "has_sig": false, "md5_digest": "23e9efe26d9959d67801227c5b52a1cf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11768, "upload_time": "2019-09-03T22:45:45", "url": "https://files.pythonhosted.org/packages/c5/59/6bdadb7b0f4f545fbb08cfd1686261a7ec3870b7e998041466a4c7d0dc93/CombCov-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2ce5e9feca9c441b28878a1be7de9f24", "sha256": "d0fdd220ebcf2a06a576f9869f2252093bfacf848238b0dc8f71f928cd13c567" }, "downloads": -1, "filename": "CombCov-0.4.2.tar.gz", "has_sig": false, "md5_digest": "2ce5e9feca9c441b28878a1be7de9f24", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12079, "upload_time": "2019-09-04T22:31:30", "url": "https://files.pythonhosted.org/packages/ea/ad/a66ea9b93f1efab418902618bdcc6a0f1639b5f9e78b8783a7681befce2b/CombCov-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "506a348a390038aa2d4dcf7e57507480", "sha256": "1951d6b8a7a89ac1f0e2347794d6ad77eb03633fe3fb47538efcec960e3b0ab4" }, "downloads": -1, "filename": "CombCov-0.5.0.tar.gz", "has_sig": false, "md5_digest": "506a348a390038aa2d4dcf7e57507480", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12203, "upload_time": "2019-09-05T19:03:53", "url": "https://files.pythonhosted.org/packages/5d/42/59d2db8e03de9b7a2d3952da36ded42ced9fac3f9ea53866160fdbcb18aa/CombCov-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "b4c392295c34db518507a0e3198e7132", "sha256": "7c41429fc3dcc7c64fba21f1598f7530a61e4130de89da36a479a1e67a5d717e" }, "downloads": -1, "filename": "CombCov-0.5.1.tar.gz", "has_sig": false, "md5_digest": "b4c392295c34db518507a0e3198e7132", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 12195, "upload_time": "2019-09-05T19:49:47", "url": "https://files.pythonhosted.org/packages/5f/60/d13bf78d667d46efbbee7788a84fa16e2f64f321e5c8fcf30740c0c32355/CombCov-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "599f05d27e36fc55aff64f8a1c362c99", "sha256": "373acfec9a4d545c58b00ffdaf47ba34096397eb1414742d4083e80495be6360" }, "downloads": -1, "filename": "CombCov-0.6.0.tar.gz", "has_sig": false, "md5_digest": "599f05d27e36fc55aff64f8a1c362c99", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13589, "upload_time": "2019-09-06T19:27:42", "url": "https://files.pythonhosted.org/packages/96/ce/a5225b99cef05f8cea3264dd536ee43530eb94217b3fe06baea6f9eb333a/CombCov-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "a62f75796425d020b0dc21e5ecab8333", "sha256": "32a01d281b9ee27b75b7d6c9ca7727ebc1ec86c57210cdca269f19433bcb79f7" }, "downloads": -1, "filename": "CombCov-0.6.1.tar.gz", "has_sig": false, "md5_digest": "a62f75796425d020b0dc21e5ecab8333", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13632, "upload_time": "2019-09-07T13:47:19", "url": "https://files.pythonhosted.org/packages/20/0c/5ea0dbef0846b84260efbec928ab398f07638e9c8291d813d1be0339b2e3/CombCov-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "c27483a801b4cb8649b7426eefc1b9ee", "sha256": "983fb580d57693f66aec81cd463af114c7f976c3a0df6272d2b3b7e34033caaf" }, "downloads": -1, "filename": "CombCov-0.6.2.tar.gz", "has_sig": false, "md5_digest": "c27483a801b4cb8649b7426eefc1b9ee", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13805, "upload_time": "2019-09-10T15:19:54", "url": "https://files.pythonhosted.org/packages/e0/88/cbcbee73cf509853182042584dfbdefa13f6a43ba6f1c559ec9e7c158414/CombCov-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "25f1d4379517a72b2ea222e161562185", "sha256": "1162b7f79f4487375a2b92244ca2d025197992b3bdf561b2403ee57a8e041b84" }, "downloads": -1, "filename": "CombCov-0.6.3.tar.gz", "has_sig": false, "md5_digest": "25f1d4379517a72b2ea222e161562185", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13977, "upload_time": "2019-09-11T20:11:37", "url": "https://files.pythonhosted.org/packages/11/c7/d6a019aa1f3e504b316776759cbe31c7fb3372d3a64dc152eefd89873fc3/CombCov-0.6.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "25f1d4379517a72b2ea222e161562185", "sha256": "1162b7f79f4487375a2b92244ca2d025197992b3bdf561b2403ee57a8e041b84" }, "downloads": -1, "filename": "CombCov-0.6.3.tar.gz", "has_sig": false, "md5_digest": "25f1d4379517a72b2ea222e161562185", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13977, "upload_time": "2019-09-11T20:11:37", "url": "https://files.pythonhosted.org/packages/11/c7/d6a019aa1f3e504b316776759cbe31c7fb3372d3a64dc152eefd89873fc3/CombCov-0.6.3.tar.gz" } ] }