{ "info": { "author": "David Dempsey", "author_email": "ddempsey786@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# unicity\n\nI wrote this library to test and debug code from hundreds of Python files submitted by my programming class. It can also be used to find code submissions that are suspiciously similar (Python and MATLAB).\n\nTo get started, install unicity using ``pip``.\n\n```bash\npip install unicity\n```\n\nThen, download the and run the scripts in the ``example`` folder above. Start with ``loading_projects.py``, ``batch_testing.py`` and ``similarity_check.py``.\n\nSome disclaimers:\n\n- I have discovered that when students are learning to code, they are very innovative in the ways they will find to break your workflow. So far, I have built support to catch and handle **directory changes** and **infinite loops**, but I'm sure there are more surprises out there! You can catch and handle these yourself in the way you define a test function, but I'd also like to hear if you think something should be added to make unicity testing more robust.\n\n- Similarity checking should be treated as a screening tool to highlight *potential* instances of copying. It does not (it cannot) assert that copying has in fact occurred. The best way to do that is by a follow up interview.\n\nMore documentation at [readthedocs](https://unicity.readthedocs.io/en/latest/).\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/ddempsey/unicity", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "unicity", "package_url": "https://pypi.org/project/unicity/", "platform": "", "project_url": "https://pypi.org/project/unicity/", "project_urls": { "Homepage": "https://github.com/ddempsey/unicity" }, "release_url": "https://pypi.org/project/unicity/0.5/", "requires_dist": [ "numpy", "scipy", "matplotlib", "fuzzywuzzy" ], "requires_python": "", "summary": "Batch testing and similarity checking of python code.", "version": "0.5" }, "last_serial": 5888999, "releases": { "0.4": [ { "comment_text": "", "digests": { "md5": "28c61a37e3de6b355be9be3b3c8817cd", "sha256": "c7ba873c8b6773999a1ebfcc421ca94de4c07917e4b86ad7ee640dd576c1547a" }, "downloads": -1, "filename": "unicity-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "28c61a37e3de6b355be9be3b3c8817cd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20814, "upload_time": "2019-09-02T05:48:24", "url": "https://files.pythonhosted.org/packages/7a/c2/6b89396c5d8faaa77563b4d07b866a0a0d181abee3616867d6f42b4187d1/unicity-0.4-py3-none-any.whl" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "d8a81ab3ab89d58a4b26c7fd16a96f3d", "sha256": "44d11f1a1c6d6d937afa945070d9885790e2705076b68c23ea3e8277579abd88" }, "downloads": -1, "filename": "unicity-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d8a81ab3ab89d58a4b26c7fd16a96f3d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33588, "upload_time": "2019-09-26T07:23:57", "url": "https://files.pythonhosted.org/packages/af/32/693aa215fa56f2420c7aedd9386166a0943e70c9537a87d1466e6b16f6e8/unicity-0.5-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d8a81ab3ab89d58a4b26c7fd16a96f3d", "sha256": "44d11f1a1c6d6d937afa945070d9885790e2705076b68c23ea3e8277579abd88" }, "downloads": -1, "filename": "unicity-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "d8a81ab3ab89d58a4b26c7fd16a96f3d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 33588, "upload_time": "2019-09-26T07:23:57", "url": "https://files.pythonhosted.org/packages/af/32/693aa215fa56f2420c7aedd9386166a0943e70c9537a87d1466e6b16f6e8/unicity-0.5-py3-none-any.whl" } ] }